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