raster_cube: Create a data cube from an image collection

View source: R/cube.R

raster_cubeR Documentation

Create a data cube from an image collection


Create a proxy data cube, which loads data from a given image collection according to a data cube view


  mask = NULL,
  chunking = .pkgenv$default_chunksize



Source image collection as from image_collection or create_image_collection


A data cube view defining the shape (spatiotemporal extent, resolution, and spatial reference), if missing, a default overview is used


mask pixels of images based on band values, see image_mask


length-3 vector or a function returning a vector of length 3, defining the size of data cube chunks in the order time, y, x.


The following steps will be performed when the data cube is requested to read data of a chunk:

1. Find images from the input collection that intersect with the spatiotemporal extent of the chunk 2. For all resulting images, apply gdalwarp to reproject, resize, and resample to an in-memory GDAL dataset 3. Read the resulting data to the chunk buffer and optionally apply a mask on the result 4. Update pixel-wise aggregator (as defined in the data cube view) to combine values of multiple images within the same data cube pixels

If chunking is provided as a function, it must accept exactly three arguments for the total size of the cube in t, y, and x axes (in this order).


A proxy data cube object


This function returns a proxy object, i.e., it will not start any computations besides deriving the shape of the result.


# create image collection from example Landsat data only 
# if not already done in other examples
if (!file.exists(file.path(tempdir(), "L8.db"))) {
  L8_files <- list.files(system.file("L8NY18", package = "gdalcubes"),
                         ".TIF", recursive = TRUE, full.names = TRUE)
  create_image_collection(L8_files, "L8_L1TP", file.path(tempdir(), "L8.db"), quiet = TRUE) 

L8.col = image_collection(file.path(tempdir(), "L8.db"))
v = cube_view(extent=list(left=388941.2, right=766552.4, 
              bottom=4345299, top=4744931, t0="2018-01", t1="2018-12"),
              srs="EPSG:32618", nx = 497, ny=526, dt="P1M")
raster_cube(L8.col, v)
 # using a mask on the Landsat quality bit band to filter out clouds
 raster_cube(L8.col, v, mask=image_mask("BQA", bits=4, values=16))

gdalcubes documentation built on April 14, 2023, 5:08 p.m.