Apply to all layers of a SpatRaster a function that only takes a single layer SpatRaster and returns a SpatRaster (these are rare). In most cases you can also use lapply
or sapply
for this.
Or apply the same method to each sub-dataset (SpatRaster) in a SpatRasterDataset
# S4 method for SpatRaster
sapp(x, fun, ..., filename="", overwrite=FALSE, wopt=list())# S4 method for SpatRasterDataset
sapp(x, fun, ..., filename="", overwrite=FALSE, wopt=list())
SpatRaster
SpatRaster or SpatRasterDataset
if x
is a SpatRaster
: a function that takes a SpatRaster argument and can be applied to each layer of x
(e.g. terrain
.
if x
is a SpatRasterDataset
: a function that is applied to all layers of the SpatRasters in x
(e.g. mean
additional arguments to be passed to fun
character. Output filename
logical. If TRUE
, filename
is overwritten
list with named options for writing files as in writeRaster
s <- rast(system.file("ex/logo.tif", package="terra")) + 1
x <- sapp(s, terrain)
sd <- sds(s*2, s/2)
y <- sapp(sd, mean)
Run the code above in your browser using DataLab