Parameters
- geometry
- The input geometry. Cannot be null and its spatial reference cannot be null.
Return Value
Length of the geometry in meters. If the geometry is empty, then zero is returned.
| Exception | Description |
|---|---|
| System.ArgumentNullException | Geometry is null or geometry's spatial reference is null. |
| System.NotImplementedException | The method is not implemented for GeometryBag or Multipatch. |
| ArcGIS.Core.Geometry.Exceptions.ProjectionEngineException | Geometry is missing a spatial reference. |
| System.NotImplementedException | Spatial reference of geometryis an image coordinate system. |
// 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>(); pts.Add(MapPointBuilderEx.CreateMapPoint(1.0, 1.0, 3.0)); pts.Add(MapPointBuilderEx.CreateMapPoint(1.0, 3.0, 3.0)); pts.Add(MapPointBuilderEx.CreateMapPoint(3, 3, 3.0)); pts.Add(MapPointBuilderEx.CreateMapPoint(3.0, 1.0, 3.0)); // 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
Target Platforms: Windows 11, Windows 10