ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Geometry Namespace / GeometryEngine Class / ShapePreservingLength Method / ShapePreservingLength(Geometry,LinearUnit) Method
Example

In This Topic
    ShapePreservingLength(Geometry,LinearUnit) Method
    In This Topic
    Syntax
    Public Overloads Function ShapePreservingLength( _
       ByVal geometry As Geometry, _
       ByVal lengthUnit As LinearUnit _
    ) As Double
    public double ShapePreservingLength( 
       Geometry geometry,
       LinearUnit lengthUnit
    )

    Parameters

    geometry
    lengthUnit
    Example
    Calculate length of geometry on surface of Earth's ellipsoid - ShapePreservingLength
    {
      // pt
      MapPoint pt = MapPointBuilderEx.CreateMapPoint(1.0, 3.0, SpatialReferences.WebMercator);
      double len = GeometryEngine.Instance.ShapePreservingLength(pt);          // len = 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);
      len = GeometryEngine.Instance.ShapePreservingLength(mPt);                // len = 0
    
      // polyline
      polyline = PolylineBuilderEx.CreatePolyline(pts, SpatialReferences.WGS84);
      len = GeometryEngine.Instance.ShapePreservingLength(polyline);
    
      // polygon
      polygon = PolygonBuilderEx.CreatePolygon(pts, SpatialReferences.WGS84);
      len = GeometryEngine.Instance.ShapePreservingLength(polygon);
    
      polyline = PolylineBuilderEx.CreatePolyline(
      [
        MapPointBuilderEx.CreateMapPoint( -170, 0),
      MapPointBuilderEx.CreateMapPoint( 170, 0)
      ], SpatialReferences.WGS84);
    
    
      var length_meters = GeometryEngine.Instance.ShapePreservingLength(polyline); // , LinearUnits.Meters);
      var length_miles = GeometryEngine.Instance.ShapePreservingLength(polyline, LinearUnit.Miles);
    
      // length_meters - 37848626.869713023
      // length_miles - 23518.046402579574
    }
    Requirements

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

    ArcGIS Pro version: 3.0 or higher.
    See Also