Fill NA data cube pixels by simple time series interpolation
Description
Create a proxy data cube, which fills NA pixels of a data cube by nearest neighbor or linear time series interpolation.
Usage
fill_time(cube, method ="near")
Arguments
Argument
Description
cube
source data cube
method
interpolation method, can be “near” (nearest neighbor), “linear” (linear interpolation), “locf” (last observation carried forward), or “nocb” (next observation carried backward)
Details
Please notice that completely empty (NA) time series will not be filled, i.e. the result cube might still contain NA values.
Value
a proxy data cube object
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.filled =fill_time(L8.rgb, "linear")L8.filled
A data cube proxy object
Dimensions:
low high count pixel_size chunk_size
t 2018-01-01 2018-12-31 4 P3M 1
y 4345299 4744931 526 759.756653992395 384
x 388941.2 766552.4 497 759.781086519115 384
Bands:
name offset scale nodata unit
1 B02 0 1 NaN
2 B03 0 1 NaN
3 B04 0 1 NaN
# fill_timeFill NA data cube pixels by simple time series interpolation```{r include=FALSE}library(gdalcubes)```## DescriptionCreate a proxy data cube, which fills NA pixels of a data cube by nearest neighbor or linear time series interpolation.## Usage```rfill_time(cube, method ="near")```## Arguments| Argument | Description ||:------------|:----------------------------------|| cube | source data cube || method | interpolation method, can be "near" (nearest neighbor), "linear" (linear interpolation), "locf" (last observation carried forward), or "nocb" (next observation carried backward) |## DetailsPlease notice that completely empty (NA) time series will not be filled, i.e. the result cube might still contain NA values.## Valuea proxy data cube object## 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.filled =fill_time(L8.rgb, "linear")L8.filledplot(L8.filled, rgb=3:1, zlim=c(5000,12000))```