Skip to contents

The function is used to resolve and resample data stored in SpatRasters and facelayers so they can be fitted to and can be plotted by using trigrid or hexagrid objects.

The function applies different resampling algorithms. Currently there are only two implemented methods, one for upscaling and one for downscaling. The downscaling method "average" will tabluate all face centers from the high resolution grid that fall on a coarse resolution cell and average them. The upscaling method "ebaa" (edge breakpoint area approximation) will estimate the areas covered by the high resolution cells using the number of edge breakpoints.

Usage

resample

# S4 method for SpatRaster,trigrid
resample(x, y, method = "near", na.rm = TRUE)

# S4 method for facelayer,trigrid
resample(x, y, method = NULL, res = 5)

# S4 method for facelayer,SpatRaster
resample(x, y, method = NULL, res = 5)

Format

An object of class standardGeneric of length 1.

Arguments

x

(SpatRaster, facelayer) Object to resample.

y

(hexagrid or trigrid) Object describing the target structure.

method

(character) The name of the algorithm used for resampling.

na.rm

(logical) If a face contains a missing value, should its value be NA as well (FALSE) or calculate the mean anyway (TRUE).

res

(numeric) Value indicating the precision of area estimation during the upscaling (facelayer-method). In case the "ebaa" method is chosen, the variable indicate the number of breaking points on an edge.

Value

A named numeric vector.

Details

This method is necessary to utilize rasterized data in the icosa package. The only method currently implemented upscales the raster data and then resolves the values to the trigrid or hexagrid values, using averages. In the case of resampling SpatRasters, the method argument will be passed to the resample function.

Examples

# create a grid
g <- trigrid(c(4,4))
# create a data layer
fl <- facelayer(g)
fl@values<-rnorm(length(fl))
# target structure
h <- trigrid(4)
# resampling
res <- resample(fl, h)
#> Error in get(x@grid): object 'g' not found
fl2<-facelayer(h)
fl2@values[] <- res
#> Error in eval(expr, envir, enclos): object 'res' not found