# \donttest{
library(terra)
# Example SpatRaster and SpatVector
r <- rast(system.file("ex/elev.tif", package = "terra"))
v <- as.polygons(r > 500, dissolve = TRUE)
v$PA_ID <- paste0("PA_", seq_len(nrow(v)))
# Mean elevation per polygon
pa_stats <- rast.by.polys(
x = r,
polygons = v,
id_col = "PA_ID"
)
# Multiple statistics per polygon
pa_stats_multi <- rast.by.polys(
x = r,
polygons = v,
id_col = "PA_ID",
fun = function(v, ...) c(
mean = mean(v, ...),
min = min(v, ...),
max = max(v, ...)
),
na.rm = TRUE
)
# }
Run the code above in your browser using DataLab