cellSize: Area covered by each raster cell

Description Usage Arguments Value See Also Examples

Description

Compute the area covered by individual raster cells. Computing the surface area of raster cells is particularly relevant for longitude/latitude rasters.

Note that for both angular (longitude/latitude) and for planar (projected) coordinate reference systems raster cells sizes are generally not constant, unless you are using an equal-area crs.

For planar CRSs, the area is therefore not computed based on the linear units of the coordinate reference system, but on the *actual* area, correcting for distortion. If you do not want that, you can instead use init(x, prod(res(x)))

Usage

1
2
## S4 method for signature 'SpatRaster'
cellSize(x, mask=TRUE, unit="m", transform=TRUE, filename="", ...)

Arguments

x

SpatRaster

mask

logical. If TRUE, cells that are NA in x are also NA in the output

unit

character. One of "m", "km", or "ha"

transform

logical. If TRUE, planar CRS data are transformed to lon/lat for accuracy

filename

character. Output filename

...

additional arguments for writing files as in writeRaster

Value

numeric (area)

See Also

expanse

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# SpatRaster 
r <- rast(nrows=18, ncols=36)
v <- 1:ncell(r)
v[200:400] <- NA
values(r) <- v

# size of each raster cell
a <- cellSize(r)

# illustration of distortion
r <- rast(ncols=90, nrows=45, ymin=-80, ymax=80)
m <- project(r, "+proj=merc")

bad <- init(m, prod(res(m)) / 1000000, names="naive")
good <- cellSize(m, unit="km", names="corrected")
plot(c(good, bad), nc=1, mar=c(2,2,1,6))

terra documentation built on Oct. 11, 2021, 9:09 a.m.