Resampling of data involving a trigrid
or a hexagrid
object.
Source: R/grid-resample.R
, R/data-facelayer-resample.R
resample.Rd
The function is used to resolve and resample data stored in SpatRaster
s and facelayer
s 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)
Arguments
- x
(
SpatRaster
,facelayer
) Object to resample.- y
(
hexagrid
ortrigrid
) 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 beNA
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.
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 SpatRaster
s, 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