ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Geometry Namespace / IGeometryEngine Interface / ShapePreservingArea Method / ShapePreservingArea(Geometry) Method
The input geometry. Cannot be null and its spatial reference cannot be null.
Example

In This Topic
    ShapePreservingArea(Geometry) Method
    In This Topic
    Calculates the area of the geometry on the surface of the Earth ellipsoid. This method preserves the shape of the geometry in its coordinate system.
    Syntax
    Overloads Function ShapePreservingArea( _
       ByVal geometry As Geometry _
    ) As Double
    double ShapePreservingArea( 
       Geometry geometry
    )

    Parameters

    geometry
    The input geometry. Cannot be null and its spatial reference cannot be null.

    Return Value

    The calculated shape preserving area of the geometry in square meters. If the geometry is empty, then zero is returned.
    Exceptions
    ExceptionDescription
    Geometry is null or geometry's spatial reference is null.
    The method is not implemented for GeometryBag or Multipatch.
    Geometry is missing a spatial reference.
    Spatial reference of geometryis an image coordinate system.
    Example
    Calculate area of geometry on surface of Earth's ellipsoid - ShapePreservingArea
    {
      // pt
      MapPoint pt = MapPointBuilderEx.CreateMapPoint(1.0, 3.0, SpatialReferences.WebMercator);
      double area = GeometryEngine.Instance.ShapePreservingArea(pt);         // area = 0
    
      List<MapPoint> pts =
      [
        MapPointBuilderEx.CreateMapPoint(1.0, 1.0, 3.0),
      MapPointBuilderEx.CreateMapPoint(1.0, 3.0, 3.0),
      MapPointBuilderEx.CreateMapPoint(3, 3, 3.0),
      MapPointBuilderEx.CreateMapPoint(3.0, 1.0, 3.0),
    ];
    
      // multipoint
      Multipoint mPt = MultipointBuilderEx.CreateMultipoint(pts);
      area = GeometryEngine.Instance.ShapePreservingArea(mPt);               // area = 0
    
      // polyline
      polyline = PolylineBuilderEx.CreatePolyline(pts);
      area = GeometryEngine.Instance.ShapePreservingArea(polyline);          // area = 0
    
      // polygon
      polygon = PolygonBuilderEx.CreatePolygon(pts, SpatialReferences.WGS84);
      area = GeometryEngine.Instance.ShapePreservingArea(polygon);
    
      polygon = PolygonBuilderEx.CreatePolygon(pts, SpatialReferences.WebMercator);
      area = GeometryEngine.Instance.ShapePreservingArea(polygon);
    
      polygon = PolygonBuilderEx.CreatePolygon(
      [
        MapPointBuilderEx.CreateMapPoint( -170, 45),
      MapPointBuilderEx.CreateMapPoint( 170, 45),
      MapPointBuilderEx.CreateMapPoint( 170, -45),
      MapPointBuilderEx.CreateMapPoint( -170, -54)
      ], SpatialReferences.WGS84);
    
      var area_meters = GeometryEngine.Instance.ShapePreservingArea(polygon);// , AreaUnits.SquareMeters);
      var area_miles = GeometryEngine.Instance.ShapePreservingArea(polygon, AreaUnit.SquareMiles);
    
      // area_meters - 352556425383104.37
      // area_miles - 136122796.848425
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also