GeometryEngine Methods

The GeometryEngine type exposes the following members.

Methods
NameDescription
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 set-theoretic 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 DE-9IM 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 self-intersecting, 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 set-theoretic union of the geometries in the input array.
Within
Returns true if geometry1 is within geometry2.
Top