R: Area covered by each raster cell

cellSize {terra} | R Documentation

## Area covered by each raster cell

### 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

    ## 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

    # SpatRaster
    r <- rast(nrow=18, ncol=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(ncol=90, nrow=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))

[Package terra version 1.2-10 Index]