ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Geometry Namespace / GeometryEngine Class / GeodeticDensifyByDeviation Method
The geometry to be densified. Cannot be null and its spatial reference cannot be null.
The maximum deviation allowed from the true curve. If maxDeviation is less than or equal to zero, the value of 50 km is used.
The linear unit of maxDeviation.
The type of curve that connects the vertices of the densified geometry.
Example Version

GeodeticDensifyByDeviation Method (GeometryEngine)
Creates geodetic segments connecting existing vertices and densifies the segments.
Syntax

Parameters

geometry
The geometry to be densified. Cannot be null and its spatial reference cannot be null.
maxDeviation
The maximum deviation allowed from the true curve. If maxDeviation is less than or equal to zero, the value of 50 km is used.
deviationUnit
The linear unit of maxDeviation.
curveType
The type of curve that connects the vertices of the densified geometry.

Return Value

The densified geometry. If the input geometry is empty, then it is returned unchanged.
Exceptions
ExceptionDescription
Geometry is null or geometry's spatial reference is null.
The method is not implemented for GeometryBag or Multipatch.
The geometry is of an incorrect type. (i.e. a point or multipoint).
Geometry does not have a spatial reference.
Spatial reference of geometryis an image coordinate system.
Example
GeodeticDensifyByDeviation - polyline
List<Coordinate2D> coords = new List<Coordinate2D>()
{
  new Coordinate2D(-80, 0),
  new Coordinate2D(-20, 60),
  new Coordinate2D(40, 20),
  new Coordinate2D(0, -20),
  new Coordinate2D(-80, 0)
};

SpatialReference sr = SpatialReferences.WGS84;

// create a polyline
Polyline polyline = PolylineBuilderEx.CreatePolyline(coords, sr);

// densify in km
Polyline geodesicPolyline = GeometryEngine.Instance.GeodeticDensifyByDeviation(polyline, 200, LinearUnit.Kilometers, GeodeticCurveType.Geodesic) as Polyline;
// densify in m
geodesicPolyline = GeometryEngine.Instance.GeodeticDensifyByDeviation(polyline, 200, LinearUnit.Meters, GeodeticCurveType.Geodesic) as Polyline;

// Change curve type to Loxodrome
Polyline loxodromePolyline = GeometryEngine.Instance.GeodeticDensifyByDeviation(polyline, 200, LinearUnit.Meters, GeodeticCurveType.Loxodrome) as Polyline;
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also