# area

Area of polygon shape in geographic or planar coordinates

Since R2024a

## Description

example

A = area(shape) calculates the area of a polygon shape, which is the sum of the areas of the solid regions that comprise the shape.

## Examples

collapse all

Read world lakes into the workspace as a geospatial table. Extract the polygon shapes.

shape = lakes.Shape
shape=37×1 geopolyshape array with properties:
NumRegions: [37x1 double]
NumHoles: [37x1 double]
Geometry: "polygon"
CoordinateSystemType: "geographic"
GeographicCRS: [1x1 geocrs]
⋮

Calculate the areas of the polygon shapes.

A = area(shape);

The units depend on the geographic coordinate reference system (CRS) for the shape. Find the length unit for the geographic CRS. The result indicates that the areas are in square meters.

shape.GeographicCRS.Spheroid.LengthUnit
ans =
'meter'

Include the areas in the geospatial table by creating a new table variable. Sort the rows of the table in descending order by Area. Then, view the first eight rows of the table by using the head function.

lakes.Area = A;
lakes = sortrows(lakes,"Area","descend");
Shape                      Name                      Area
____________    _________________________________    __________

geopolyshape    "Caspian Sea"                        3.9124e+11
geopolyshape    "Lakes Superior, Michigan, Huron"    2.0459e+11
geopolyshape    "Lake Victoria"                      7.0562e+10
geopolyshape    "Aral Sea"                           6.3581e+10
geopolyshape    "Lake Baikal"                        3.3211e+10
geopolyshape    "Great Bear Lake"                    3.2114e+10
geopolyshape    "Lake Tanganyika"                    3.0947e+10
geopolyshape    "Lake Malawi"                        3.0596e+10

Read hydrographic data for Concord, MA into the workspace as a geospatial table. Extract the polygon shapes.

shape = hydro.Shape
shape=98×1 mappolyshape array with properties:
NumRegions: [98x1 double]
NumHoles: [98x1 double]
Geometry: "polygon"
CoordinateSystemType: "planar"
ProjectedCRS: [1x1 projcrs]
⋮

Calculate the areas of the polygon shapes.

A = area(shape);

The units depend on the projected coordinate reference system (CRS) for the shape. Find the length unit for the projected CRS. The result indicates that the areas are in square meters.

shape.ProjectedCRS.LengthUnit
ans =
"meter"

Create a new geospatial table from the shape objects and the areas. View the first eight rows of the table by using the head function.

hydro_area = table(shape,A,VariableNames=["Shape","Area"]);
Shape           Area
____________    __________

mappolyshape        2456.4
mappolyshape    1.2685e+05
mappolyshape        2075.4
mappolyshape        814.05
mappolyshape         10754
mappolyshape        5894.2
mappolyshape         48368
mappolyshape         27673

## Input Arguments

collapse all

Polygon shape, specified as a geopolyshape object, a mappolyshape object, an array of geopolyshape objects, or an array of mappolyshape objects.

## Output Arguments

collapse all

Area, returned as an array. The size of A matches the size of shape.

The units of A depend on the type of polygon shape.

• When shape contains geopolyshape objects, the length unit of the reference ellipsoid for the shape determines the units. To find the length unit, get the geocrs object for the shape by querying the GeographicCRS property of the shape object. Then, get the ellipsoid by querying the Spheroid property of the geocrs object. If the ellipsoid is a referenceEllipsoid or referenceSphere object, then query the LengthUnit property of the ellipsoid. For a shape shp, the length unit is shp.GeographicCRS.Spheroid.LengthUnit. If the GeographicCRS property of the object is empty, the function calculates the area using the WGS84 reference ellipsoid and a length unit of meters.

• When shape contains mappolyshape objects, the length unit of the projected coordinate reference system for the shape determines the units. To find the length unit, get the projcrs object for the shape by querying the ProjectedCRS property of the shape object. Then, query the LengthUnit property of the projcrs object. For a shape shp, the length unit is shp.ProjectedCRS.LengthUnit.

When shape contains geopolyshape objects, the area function calculates the areas using geodesics.

Data Types: double

## Limitations

The area function does not support some large polygons that cover more than a hemisphere.

## Tips

The accuracy of the area function depends on the resolution of the data used to create the polygons. As a result, the function can return different results when you use polygon shapes from different data sets as inputs. This image compares the areas of polygon shapes for the state of Florida from two data sets.

## Version History

Introduced in R2024a