Samples raster values at hexagonal cell centers. Faster than
hex_zonal() because it only queries cell center points, not full
polygons.
Arguments
- raster
A
terra::SpatRasterobject.- grid
A HexGridInfo or HexData object specifying the grid.
- cells
Optional cell IDs to extract. If
NULL(default), extracts at all cell centers fromgrid(only works for HexData objects or if aboundaryis provided).- boundary
Optional sf polygon to limit extraction extent.
Details
Requires the terra package (in Suggests). The function:
Generates cell centers for the raster extent
Calls
terra::extract(raster, cell_center_matrix)Attaches cell IDs
For full zonal statistics (aggregating all pixels within each hex polygon),
use hex_zonal() instead.
See also
hex_zonal() for polygon-based zonal statistics,
hexify() for creating HexData objects
Examples
# \donttest{
if (requireNamespace("terra", quietly = TRUE)) {
# Create a small synthetic raster
r <- terra::rast(nrows = 10, ncols = 10,
xmin = -10, xmax = 10, ymin = 40, ymax = 55)
terra::values(r) <- runif(100)
names(r) <- "temperature"
# Extract at hex cell centers
g <- hex_grid(area_km2 = 500)
df <- data.frame(lon = c(0, 5), lat = c(45, 50))
hd <- hexify(df, lon = "lon", lat = "lat", grid = g)
hex_extract(r, hd)
}
# }