Click or drag to resize
GeometryEngine Class
Utility for performing geometric operations.
Inheritance Hierarchy
SystemObject
  Esri.ArcGISRuntime.GeometryGeometryEngine

Namespace: Esri.ArcGISRuntime.Geometry
Assembly: Esri.ArcGISRuntime (in Esri.ArcGISRuntime.dll) Version: 10.2.7.0 (10.2.7.1234)
Syntax
public static class GeometryEngine

The GeometryEngine type exposes the following members.

Methods
  NameDescription
Public methodStatic memberCode exampleArea
Gets the simple area for the Geometry passed in. This is a planar measurement using 2D Cartesian mathematics to compute the area.
Public methodStatic memberAutoComplete
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.
Public methodStatic memberBoundary(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).

Public methodStatic memberBoundary(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).

Public methodStatic memberCode exampleBuffer(Geometry, Double)
Creates a buffer polygon at the specified distance around the given geometry.
Public methodStatic memberCode exampleBuffer(IEnumerableGeometry, Double)
Creates buffers at the specified distance around the given geometries. Will union the results of all buffers.
Public methodStatic memberClip
Constructs the polygon created by clipping geometry by envelope.
Public methodStatic memberCode exampleContains
Returns true if geometry1 contains geometry2.
Public methodStatic memberCode exampleConvexHull(Geometry)
Returns the convex hull of a geometry
Public methodStatic memberCode exampleConvexHull(IEnumerableGeometry)
Returns the convex hull of the combined geometries.
Public methodStatic memberCode exampleCrosses
Returns true if geometry1 crosses geometry2.
Public methodStatic memberCut
Performs a cut operation on a geometry with a Polyline.
Public methodStatic memberDensify(Geometry, Double)
Densifies the specified geometry.
Public methodStatic memberDensify(IEnumerableGeometry, Double)
Densifies the specified geometries.
Public methodStatic memberCode exampleDifference(Geometry, Geometry)
Performs the Topological difference operation on the two geometries.
Public methodStatic memberDifference(IEnumerableGeometry, IEnumerableGeometry)
Performs the Topological difference operation on the two geometries.
Public methodStatic memberCode exampleDisjoint
Returns true if geometry1 is not within geometry2.
Public methodStatic memberDistance
Measures the simple planar distance between two geometries.
Public methodStatic memberCode exampleEquals
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.
Public methodStatic memberExtend
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.
Public methodStatic memberGeneralize(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.
Public methodStatic memberGeneralize(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.
Public methodStatic memberCode exampleGeodesicArea
Gets the geodesic area of a polygon.
Public methodStatic memberGeodesicBuffer(Geometry, Double, LinearUnit, Double, GeodeticCurveType)
Performs a geodesic buffer operation on a single geometry.
Public methodStatic memberGeodesicBuffer(IEnumerableGeometry, Double, LinearUnit, Double, GeodeticCurveType, Boolean)
Performs a geodesic buffer operation on a collection of geometry.
Public methodStatic memberGeodesicDensify(Geometry, Double, LinearUnit, GeodeticCurveType)
Densifies geometries using geodesic curve
Public methodStatic memberGeodesicDensify(IEnumerableGeometry, Double, LinearUnit, GeodeticCurveType)
Densifies geometries using geodesic curve.
Public methodStatic memberGeodesicDistance
Calculates the geodesic distance between 2 given points and calculates the azimuth at both points for the geodesic curves that connects the points.
Public methodStatic memberGeodesicEllipse
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.
Public methodStatic memberGeodesicLength
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).
Public methodStatic memberGeodesicMove(MapPoint, Double, LinearUnit, Double)
The function moves a point by the given geodesic distance.
Public methodStatic memberGeodesicMove(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.
Public methodStatic memberGeodesicSector
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.
Public methodStatic memberCode exampleIntersection
Constructs the set-theoretic intersection between two geometries.
Public methodStatic memberCode exampleIntersects
Returns true if geometry1 intersects geometry2.
Public methodStatic memberLabelPoint
Performs the LabelPoint operation on the geometry.
Public methodStatic memberLength
Gets the length for a specified Geometry. This is a planar measurement using 2D Cartesian mathematics to compute the length.
Public methodStatic memberCode exampleNearestCoordinate
Finds the nearest coordinate in a specified geometry to a specified point.
Public methodStatic memberCode exampleNearestVertex
Finds the nearest vertex in a specified geometry to a specified point.
Public methodStatic memberNormalizeCentralMeridian
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.
Public methodStatic memberOffset(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.
Public methodStatic memberOffset(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.
Public methodStatic memberCode exampleOverlaps
Returns true if geometry1 overlaps geometry2.
Public methodStatic memberProject(Geometry, SpatialReference)
Projects the given geometry into a new spatial reference.
Public methodStatic memberProject(IEnumerableGeometry, SpatialReference)
Projects an enumeration of geometries into a new spatial reference.
Public methodStatic memberRelate
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
Public methodStatic memberReshape
Reshapes the specified geometry.
Public methodStatic memberShapePreservingArea
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.
Public methodStatic memberShapePreservingLength
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.
Public methodStatic memberSimplify
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.
Public methodStatic memberSymmetricDifference(Geometry, Geometry)
Performs the Symmetric difference operation on the two geometries.
Public methodStatic memberSymmetricDifference(IEnumerableGeometry, IEnumerableGeometry)
Performs the Symmetric difference operation on the two geometries.
Public methodStatic memberCode exampleTouches
Returns true if geometry1 touches geometry2.
Public methodStatic memberUnion(IEnumerableGeometry)
Unions together geometry of the highest dimension.
Public methodStatic memberCode exampleUnion(Geometry, Geometry)
The union operation constructs the set-theoretic union of the geometries in the input array.
Public methodStatic memberCode exampleWithin
Returns true if geometry1 is within geometry2.
Top
See Also
Supported Platforms
This type is supported on the following ArcGIS Runtime .NET SDK platforms:
Windows Desktop
Windows Phone
Windows Store