A unified function for raster::nlayers, terra::nlyrs, or lists of these. Default function returns 1L for all other classes.

numLayers(x)

Arguments

x

An object or list of objects.

Value

The number of layers in the object.

Author

Eliot McIntire

Examples

library(terra)

files <- system.file("maps", package = "quickPlot")
files <- dir(files, full.names = TRUE, pattern = "tif")
maps <- lapply(files, function(x) rast(x))
names(maps) <- sapply(basename(files), function(x) {
  strsplit(x, split = "\\.")[[1]][1]
})
stck <- rast(maps)

numLayers(maps)
#> [1] 5
numLayers(stck)
#> [1] 5