Extract a single time series (spatial slice) from a data cube
Description
Create a proxy data cube, which extracts a time series from a data cube defined by spatial coordinates or integer x and y indexes.
Usage
slice_space(cube, loc =NULL, i =NULL)
Arguments
Argument
Description
cube
source data cube
loc
numeric length-two vector; spatial coordinates (x, y) of the time series, expressed in the coordinate reference system of the source data cube
i
integer length-2 vector; indexes (x,y) of the time slice (zero-based)
Details
Either loc or i must be non-NULL. If both arguments are provided, integer indexes i are ignored.
Note
This function returns a proxy object, i.e., it will not start any computations besides deriving the shape of the result.
Examples
# create image collection from example Landsat data only # if not already done in other examplesif (!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="P3M", aggregation ="median")L8.cube =raster_cube(L8.col, v, mask=image_mask("BQA", bits=4, values=16))L8.rgb =select_bands(L8.cube, c("B02", "B03", "B04"))L8.ts =slice_space(L8.rgb, loc =c(5e05, 4400000))L8.ts
A data cube proxy object
Dimensions:
low high count pixel_size chunk_size
t 2018-01-01 2018-12-31 4 P3M 1
y 4690228.52091255 4690988.27756654 1 759.756653992459 1
x 499869.238631791 500629.01971831 1 759.781086519128 1
Bands:
name offset scale nodata unit
1 B02 0 1 NaN
2 B03 0 1 NaN
3 B04 0 1 NaN
# slice_spaceExtract a single time series (spatial slice) from a data cube```{r include=FALSE}library(gdalcubes)```## DescriptionCreate a proxy data cube, which extracts a time series from a data cube defined by spatial coordinates or integer x and y indexes.## Usage```rslice_space(cube, loc =NULL, i =NULL)```## Arguments| Argument | Description ||:------------|:----------------------------------|| cube | source data cube || loc | numeric length-two vector; spatial coordinates (x, y) of the time series, expressed in the coordinate reference system of the source data cube || i | integer length-2 vector; indexes (x,y) of the time slice (zero-based) |## DetailsEither `loc` or `i` must be non-NULL. If both arguments are provided, integer indexes `i` are ignored.## NoteThis function returns a proxy object, i.e., it will not start any computations besides deriving the shape of the result.## Examples```{r}# create image collection from example Landsat data only # if not already done in other examplesif (!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="P3M", aggregation ="median")L8.cube =raster_cube(L8.col, v, mask=image_mask("BQA", bits=4, values=16))L8.rgb =select_bands(L8.cube, c("B02", "B03", "B04"))L8.ts =slice_space(L8.rgb, loc =c(5e05, 4400000))L8.tsplot(L8.ts, join.timeseries =TRUE)```