GeometryEngine Class 
Namespace: Esri.ArcGISRuntime.Geometry
The GeometryEngine type exposes the following members.
Name  Description  

Area 
Gets the simple area for the Geometry passed in. This is a planar measurement using 2D Cartesian mathematics to compute the area.
 
AutoComplete 
The AutoComplete operation simplifies the process of constructing new polygons
that are adjacent to other polygons. It constructs polygons that fill in the
gaps between existing polygons and a set of polylines.
 
Boundary(Geometry) 
Performs a boundary operation on a single geometry.
For Point  returns an empty point. For Multipoint  returns an empty point. For Polyline  returns a multipoint. For Polygon  returns a polyline that bounds the polygon (adds all rings of the polygon to a polyline).  
Boundary(IEnumerableGeometry) 
Performs a boundary operation on a collection of geometry.
For Point  returns an empty point. For Multipoint  returns an empty point. For Polyline  returns a multipoint. For Polygon  returns a polyline that bounds the polygon (adds all rings of the polygon to a polyline).  
Buffer(Geometry, Double) 
Creates a buffer polygon at the specified distance around the given geometry.
 
Buffer(IEnumerableGeometry, Double) 
Creates buffers at the specified distance around the given geometries. Will union the results of all buffers.
 
Clip 
Constructs the polygon created by clipping geometry by envelope.
 
Contains 
Returns true if geometry1 contains geometry2.
 
ConvexHull(Geometry) 
Returns the convex hull of a geometry
 
ConvexHull(IEnumerableGeometry) 
Returns the convex hull of the combined geometries.
 
Crosses 
Returns true if geometry1 crosses geometry2.
 
Cut 
Performs a cut operation on a geometry with a Polyline.
 
Densify(Geometry, Double) 
Densifies the specified geometry.
 
Densify(IEnumerableGeometry, Double) 
Densifies the specified geometries.
 
Difference(Geometry, Geometry) 
Performs the Topological difference operation on the two geometries.
 
Difference(IEnumerableGeometry, IEnumerableGeometry) 
Performs the Topological difference operation on the two geometries.
 
Disjoint 
Returns true if geometry1 is not within geometry2.
 
Distance 
Measures the simple planar distance between two geometries.
 
Equals 
Returns true if geometry1 is the same a geometry2. Automatically returns
false if either geometry is null or if the GeometryType of each are not the
same.
 
Extend 
Performs the extend operation on a polyline using a polyline
as the extender. The output polyline will have the first and
last segment of each path extended to the extender if the
segments can be interpolated to intersect the extender. In the
case that the segments can be extended to multiple segments of
the extender, the shortest extension is chosen. Only end points
for paths that are not shared by the end points of other paths
will be extended. If the polyline cannot be extended by the
input extender, then a nullptr will be returned.
 
Generalize(Geometry, Double, Boolean) 
Performs the generalize operation on the geometries in the cursor. Point and Multipoint
geometries are left unchanged. Envelope is converted to a Polygon and then generalized.
 
Generalize(IEnumerableGeometry, Double, Boolean) 
Performs the generalize operation on the geometries in the cursor.Point and Multipoint
geometries are left unchanged. Envelope is converted to a Polygon and then generalized.
 
GeodesicArea 
Gets the geodesic area of a polygon.
 
GeodesicBuffer(Geometry, Double, LinearUnit, Double, GeodeticCurveType) 
Performs a geodesic buffer operation on a single geometry.
 
GeodesicBuffer(IEnumerableGeometry, Double, LinearUnit, Double, GeodeticCurveType, Boolean) 
Performs a geodesic buffer operation on a collection of geometry.
 
GeodesicDensify(Geometry, Double, LinearUnit, GeodeticCurveType) 
Densifies geometries using geodesic curve
 
GeodesicDensify(IEnumerableGeometry, Double, LinearUnit, GeodeticCurveType) 
Densifies geometries using geodesic curve.
 
GeodesicDistance 
Calculates the geodesic distance between 2 given points and calculates the azimuth at
both points for the geodesic curves that connects the points.
 
GeodesicEllipse 
The function returns a piecewise approximation of a geodesic ellipse (or geodesic circle, if semiAxis1Length = semiAxis2Length).
Constructs a geodesic ellipse centered on the specified point.If this method is used to generate a polygon or a polyline,
the result may have more than one path, depending on the size of the ellipse and its position relative to the horizon
of the coordinate system. When the method generates a polyline or a multipoint, the result vertices lie on the boundary
of the ellipse. When a polygon is generated, the interior of the polygon is the interior of the ellipse, however the
boundary of the polygon may contain segments from the spatial reference horizon, or from the GCS extent.
 
GeodesicLength 
Gets the geodesic length for the Geometry passed in. Geodesic length is
calculated using only the vertices of the polygon and define the lines
between the points as geodesic segments independent of the actual shape
of the polygon. A geodesic segment is the shortest path between two points
on an ellipsoid. Thus, if you have a line that spans the width of the world,
with only two vertices, each on the edges of the map, the geodesic length
would be zero (shortest distance between the two vertices).
 
GeodesicMove(MapPoint, Double, LinearUnit, Double) 
The function moves a point by the given geodesic distance.
 
GeodesicMove(IEnumerableMapPoint, Double, LinearUnit, Double) 
The function moves each point in the input array by the given distance.
The function returns the number of points that has not been been moved.
Points that are outside of the horizon will be discarded.
 
GeodesicSector 
The function returns a piecewise approximation of a geodesic ellipse (or geodesic circle, if SemiAxis1Length = SemiAxis2Length).
Constructs a geodesic ellipse centered on the specified point.
If this method is used to generate a polygon or a polyline, the result may have more than one path,
depending on the size of the sector and its position relative to the horizon of the coordinate system.
When the method generates a polyline or a multipoint, the result vertices lie on the boundary of the ellipse.
When a polygon is generated, the interior of the polygon is the interior of the sector,
however the boundary of the polygon may contain segments from the spatial reference horizon, or from the GCS extent.
 
Intersection 
Constructs the settheoretic intersection between two geometries.
 
Intersects 
Returns true if geometry1 intersects geometry2.
 
LabelPoint 
Performs the LabelPoint operation on the geometry.
 
Length 
Gets the length for a specified Geometry. This is a planar measurement
using 2D Cartesian mathematics to compute the length.
 
NearestCoordinate 
Finds the nearest coordinate in a specified geometry to a specified point.
 
NearestVertex 
Finds the nearest vertex in a specified geometry to a specified point.
 
NormalizeCentralMeridian 
Folds the geometry into a range of 360 degrees. This may be necessary
when wrap around is enabled on the map. If Geometry is an Envelope then
a Polygon will be returned unless the Envelope is empty then and Empty
Envelope will be returned.
 
Offset(Geometry, Double, OffsetType, Double, Double) 
Returns offset version of the input geometry.
The offset operation creates a geometry that is a constant distance from an input polyline
or polygon. It is similar to buffering, but produces a one sided result. If offset distance
> 0, then the offset geometry is constructed to the right of the oriented input geometry,
otherwise it is constructed to the left. For a simple polygon, the orientation of outer rings
is clockwise and for inner rings it is counter clockwise. So the "right side" of a simple
polygon is always its inside. The bevelRatio is multiplied by the offset distance and the
result determines how far a mitered offset intersection can be from the input curve before
it is beveled.
 
Offset(IEnumerableGeometry, Double, OffsetType, Double, Double) 
Returns offset version of the input geometry.The offset operation creates a geometry
that is a constant distance from an input polyline or polygon. It is similar to
buffering, but produces a one sided result. If offset distance > 0, then the offset
geometry is constructed to the right of the oriented input geometry, otherwise it is
constructed to the left. For a simple polygon, the orientation of outer rings is
clockwise and for inner rings it is counter clockwise. So the "right side" of a simple
polygon is always its inside. The bevelRatio is multiplied by the offset distance and
the result determines how far a mitered offset intersection can be from the input curve
before it is beveled.
 
Overlaps 
Returns true if geometry1 overlaps geometry2.
 
Project(Geometry, SpatialReference)  Projects the given geometry into a new spatial reference.  
Project(IEnumerableGeometry, SpatialReference) 
Projects an enumeration of geometries into a new spatial reference.
 
Relate 
Compares the spatial relationship of two geometries. Can can compare Interior, Boundary and Exterior
of two geometries based on a DE9IM encoded string. This must be 9 characters long and contain combinations
only of these characters: TF*012
 
Reshape 
Reshapes the specified geometry.
 
ShapePreservingArea 
Calculates the area of the geometry on the surface of the Earth ellipsoid. This method
preserves the shape of the geometry in its coordinate system. This means the true area
will be calculated for the geometry you see in the map.
 
ShapePreservingLength 
Calculates the length of the geometry on the surface of the Earth ellipsoid. This method
preserves the shape of the geometry in its coordinate system. This means the true length
will be calculated for the geometry you see in the map. Thus, if you have a line that
spans the width of the world, with only two vertices, each on edges of the map, the
length returned would be comparable to the distance on earth.
 
Simplify 
Simplifies the given geometry to make it topologically consistent according
to their geometry type. For instance, it rectifies polygons that may be
selfintersecting,
or contain incorrect ring orientations.
 
SymmetricDifference(Geometry, Geometry) 
Performs the Symmetric difference operation on the two geometries.
 
SymmetricDifference(IEnumerableGeometry, IEnumerableGeometry) 
Performs the Symmetric difference operation on the two geometries.
 
Touches 
Returns true if geometry1 touches geometry2.
 
Union(IEnumerableGeometry) 
Unions together geometry of the highest dimension.
 
Union(Geometry, Geometry) 
The union operation constructs the settheoretic union of the geometries
in the input array.
 
Within 
Returns true if geometry1 is within geometry2.

This type is supported on the following ArcGIS Runtime .NET SDK platforms: 

Windows Desktop 
Windows Phone 
Windows Store 