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
## 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.
Returns
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 the CRS is not longitude/latitude the values returned are the product of the cell resolution (typically in square meter).
If x is a SpatialPolygons* object: area of each spatial object in squared meters if the CRS is longitude/latitude, or in squared map units (typically meter)