
Apply a terra function that takes only a single layer and returns a SpatRaster to all layers of a SpatRaster
sapp.RdApply 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
Arguments
- x
SpatRaster or SpatRasterDataset
- fun
if
xis aSpatRaster: a function that takes a SpatRaster argument and can be applied to each layer ofx(e.g.terrain. ifxis aSpatRasterDataset: a function that is applied to all layers of the SpatRasters inx(e.g.mean- ...
additional arguments to be passed to
fun- filename
character. Output filename
- overwrite
logical. If
TRUE,filenameis overwritten- wopt
list with named options for writing files as in
writeRaster
Examples
s <- rast(system.file("ex/logo.tif", package="terra")) + 1
#SpatRasterDataset
sd <- sds(s*2, s/2)
y <- sapp(sd, mean)
z <- sapp(sd, function(i) 2 * mean(i))