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.
Use AreaGeodetic(Geometry, AreaUnit, GeodeticCurveType) for geodetic measurement.
 
AreaGeodetic 
Gets the geodesic area of a polygon.
 
AutoComplete  Fills the closed gaps between polygons using polygon boundaries and polylines as the boundary for the new polygons.  
Boundary 
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).  
Buffer(Geometry, Double) 
Creates a buffer polygon at the specified distance around the given geometry. This is a planar buffer operation.
Use BufferGeodetic(Geometry, Double, LinearUnit, Double, GeodeticCurveType) to produce geodetic buffers.
 
Buffer(IEnumerableGeometry, IEnumerableDouble, Boolean)  Creates and returns a buffer relative to the given geometries. This is a planar buffer operation.
Use BufferGeodetic(Geometry, Double, LinearUnit, Double, GeodeticCurveType) to produce geodetic buffers.
 
BufferGeodetic(Geometry, Double, LinearUnit, Double, GeodeticCurveType) 
Performs a geodesic buffer operation on a single geometry.
 
BufferGeodetic(IEnumerableGeometry, IEnumerableDouble, LinearUnit, Double, GeodeticCurveType, Boolean)  Calculates the geodesic buffer of the geometries in a given collection.  
Clip 
Constructs the polygon created by clipping geometry by envelope.
 
CombineExtents(IEnumerableGeometry)  Returns the envelope of geometries in the given collection.  
CombineExtents(Geometry, Geometry)  Returns the envelope of the two given geometries.  
Contains 
Returns true if geometry1 contains geometry2.
 
ConvexHull(Geometry) 
Returns the convex hull of a geometry
 
ConvexHull(IEnumerableGeometry, Boolean)  Returns the convex hull for the geometries in the given collection.  
CreatePointAlong  Returns the point at a given distance along a line.  
Crosses 
Returns true if geometry1 crosses geometry2.
 
Cut 
Cut the 'geometry' with the 'cutter'
 
Densify 
Densifies the input geometry by inserting additional vertices along the geometry at an interval
defined by maxSegmentLength.
 
DensifyGeodetic 
Densifies the input geometry by creating additional vertices along the geometry, using a geodesic curve.
 
Difference 
Performs the Topological difference operation on the two geometries.
 
Disjoint 
Returns true if geometry1 is not within geometry2.
 
Distance 
Measures the simple Euclidean distance between two geometries. This is a planar measurement using 2D
Cartesian mathematics to calculate the distance in the same coordinate space as the inputs.
Use DistanceGeodetic(MapPoint, MapPoint, LinearUnit, AngularUnit, GeodeticCurveType) for geodetic measurement.
 
DistanceGeodetic 
Calculates the geodesic distance between 2 given points and calculates the azimuth at
both points for the geodesic curves that connects the points.
 
EllipseGeodesic 
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.
 
Equals 
Tests if two geometries are equal (have equivalent spatial reference systems, same geometry type, and same points).
 
Extend  Extends a polyline using a polyline as the extender.  
FractionAlong 
Finds the location on the line nearest the point, expressed as the
fraction along the line's total geodesic length, if the point is
within the specified distance from the closest location on the
line. The line and point must have consistent spatial references.
 
Generalize 
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.
 
Intersection 
Constructs the settheoretic intersection between two geometries.
 
Intersections  Calculates the intersection of two geometries.  
Intersects 
Returns true if geometry1 intersects geometry2.
 
IsSimple 
Gets a value indicating whether or not the geometry is simple.
 
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 in the same coordinate space as the inputs.
Use LengthGeodetic(Geometry, LinearUnit, GeodeticCurveType) for geodetic measurement.
 
LengthGeodetic 
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).
 
MoveGeodetic 
Moves each map point in the readonly collection by a geodesic distance.
 
NearestCoordinate 
Returns a ProximityResult that describes the nearest point in the
input geometry to the input point.
 
NearestVertex 
Returns a ProximityResult that describes the nearest vertex in
the input geometry to the input 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 
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 from its current spatial reference system into
the given spatial reference system.
 
Project(Geometry, SpatialReference, DatumTransformation) 
Projects the given geometry from its current spatial reference system into the
given output spatial reference system, applying the datum transformation provided.
 
Relate 
Compares the spatial relationship of two geometries. 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
 
RemoveM  Return a copy of the given geometry with its M values removed.  
RemoveZ  Return a copy of the given geometry with its Z ordinate removed.  
RemoveZAndM  Return a copy of the given geometry with its Z ordinate and M values removed.  
Reshape  Reshapes the specified geometry.  
SectorGeodesic 
The function returns a piecewise approximation of a geodesic sector.
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.
 
SetM  Return a copy of a geometry with the supplied M value.  
SetZ  Return a copy of a geometry with the supplied Z ordinate.  
SetZAndM  Return a copy of a geometry with the supplied Z and M values.  
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 
Performs the Symmetric difference operation on the two geometries.
 
Touches 
Returns true if geometry1 touches geometry2.
 
Union(IEnumerableGeometry)  Calculates the union of a collection of geometries  
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.

Capabilities include:
GeometryEngine generally operates in two dimensions; operations do not account for zvalues unless documented as such for a specific method (for example Project(Geometry, SpatialReference) will transform zvalues in some cases).
Geodetic methods are better suited to data that have a geographic spatial reference (see IsGeographic, especially for largearea, smallscale use, while planar methods are suitable to data that have a projected coordinate system, especially for local, largescale areas. Geodetic methods indicate this in the name, for example BufferGeodetic(Geometry, Double, LinearUnit, Double, GeodeticCurveType).