R: Size of cells

area {raster} | R Documentation

## Size of cells

### Description

Raster objects: Compute the approximate surface area of cells in an unprojected (longitude/latitude) Raster object. It is an approximation because area is computed as the height (latitudinal span) of a cell (which is constant among all cells) times the width (longitudinal span) in the (latitudinal) middle of a cell. The width is smaller at the poleward side than at the equator-ward side of a cell. This variation is greatest near the poles and the values are thus not very precise for very high latitudes.

SpatialPolygons: Compute the area of the spatial features. Works for both planar and angular (lon/lat) coordinate reference systems

### Usage

    ## S4 method for signature 'RasterLayer'
    area(x, filename="", na.rm=FALSE, weights=FALSE, ...)

    ## S4 method for signature 'RasterStackBrick'
    area(x, filename="", na.rm=FALSE, weights=FALSE, ...)

    ## S4 method for signature 'SpatialPolygons'
    area(x, ...)

### Arguments

`x` | Raster* or SpatialPolygons object
`filename` | character. Filename for the output Raster object (optional)
`na.rm` | logical. If `TRUE`, cells that are `NA` are ignored
`weights` | logical. If `TRUE`, the area of each cells is divided by the total area of all cells that are not `NA`
`...` | additional arguments as for `writeRaster`

### Details

If `x` is a RasterStack/Brick, a RasterBrick will be returned if `na.rm=TRUE`. However, if `na.rm=FALSE`, a RasterLayer is returned, because the values would be the same for all layers.

### Value

If `x` is a Raster* object: RasterLayer or RasterBrick. Cell values represent the size of the cell in km2, or the relative size if `weights=TRUE`

If `x` is a SpatialPolygons* object: area if each spatial object in squared meters if the CRS is longitude/latitude, or in squared map units (typically meter)

### Examples

    r <- raster(nrow=18, ncol=36)
    a <- area(r)

    if (require(rgdal) & require(rgeos)) {
    	p <- shapefile(system.file("external/lux.shp", package="raster"))
    	p$area <- round(area(p) / 10000000,1)
    	p$area
    }

[Package raster version 3.3-7 Index]