area
Syntax
Description
Examples
Calculate Area of Polygon in Geographic Coordinates
Read world lakes into the workspace as a geospatial table. Extract the polygon shapes.
lakes = readgeotable("worldlakes.shp");
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"); head(lakes)
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
Calculate Area of Polygon in Planar Coordinates
Read hydrographic data for Concord, MA into the workspace as a geospatial table. Extract the polygon shapes.
hydro = readgeotable("concord_hydro_area.shp");
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"]); head(hydro_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
shape
— Polygon shape
geopolyshape
object | mappolyshape
object | array of geopolyshape
objects | array of mappolyshape
objects
Polygon shape, specified as a geopolyshape
object, a mappolyshape
object, an array of geopolyshape
objects, or an array of
mappolyshape
objects.
Output Arguments
A
— Area
array
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
containsgeopolyshape
objects, the length unit of the reference ellipsoid for the shape determines the units. To find the length unit, get thegeocrs
object for the shape by querying theGeographicCRS
property of the shape object. Then, get the ellipsoid by querying theSpheroid
property of thegeocrs
object. If the ellipsoid is areferenceEllipsoid
orreferenceSphere
object, then query theLengthUnit
property of the ellipsoid. For a shapeshp
, the length unit isshp.GeographicCRS.Spheroid.LengthUnit
. If theGeographicCRS
property of the object is empty, the function calculates the area using the WGS84 reference ellipsoid and a length unit of meters.When
shape
containsmappolyshape
objects, the length unit of the projected coordinate reference system for the shape determines the units. To find the length unit, get theprojcrs
object for the shape by querying theProjectedCRS
property of the shape object. Then, query theLengthUnit
property of theprojcrs
object. For a shapeshp
, the length unit isshp.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
MATLAB-Befehl
Sie haben auf einen Link geklickt, der diesem MATLAB-Befehl entspricht:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus. Webbrowser unterstützen keine MATLAB-Befehle.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)