﻿ ShapePreservingLength(Geometry,LinearUnit) Method—ArcGIS Pro
ArcGIS Pro 3.3 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 double ShapePreservingLength(
Geometry geometry,
LinearUnit lengthUnit
)```
```Public Overloads Function ShapePreservingLength( _
ByVal geometry As Geometry, _
ByVal lengthUnit As LinearUnit _
) As Double```

#### 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 = new List<MapPoint>();

// multipoint
Multipoint mPt = MultipointBuilderEx.CreateMultipoint(pts);
len = GeometryEngine.Instance.ShapePreservingLength(mPt);                // len = 0

// polyline
Polyline polyline = PolylineBuilderEx.CreatePolyline(pts, SpatialReferences.WGS84);
len = GeometryEngine.Instance.ShapePreservingLength(polyline);

// polygon
Polygon polygon = PolygonBuilderEx.CreatePolygon(pts, SpatialReferences.WGS84);
len = GeometryEngine.Instance.ShapePreservingLength(polygon);

polyline = PolylineBuilderEx.CreatePolyline(new[]
{
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, Windows 10

ArcGIS Pro version: 3 or higher.