ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Core.Geometry Namespace / GeometryEngine Class
Properties Methods

In This Topic
GeometryEngine Class Members
In This Topic

The following tables list the members exposed by GeometryEngine.

Public Properties
NameDescription
Gets the GeometryEngine instance.
Top
Public Methods
NameDescription
Produces a copy of the given geometry that is an accelerated geometry used to speed up relational operations. Only polyline and polygon geometries can be accelerated. If the geometry cannot be accelerated, the method returns the same input geometry.
Gets the area of the geometry. This is a planar measurement using 2D Cartesian mathematics to compute the area.
Constructs a polygon that fills in the gaps between the existing polygon and polyline.
Calculates the boundary of the input geometry.
Calculates M attribute values for each non-simple (NaN) M-value from existing simple (non-NaN) M attributes on the specified geometry. The non-simple M-values are obtained by extrapolation/interpolation for polylines and interpolation for polygons.
Calculates Z attribute values for each non-simple (NaN) Z-value from existing simple (non-NaN) Z attributes on the specified geometry. The non-simple Z values are obtained by extrapolation/interpolation for polylines and interpolation for polygons.
Calibrates M-values using M-values of input points.
Calibrates M-values using M-values of input points.
Center the envelope at the specified X and Y coordinates.
Gets the centroid (center of gravity) of the geometry.
Constructs the polygon created by clipping geometry by envelope.
Constructs a geodetic line with the specified length and azimuth.
Constructs a geodetic line connecting the specified points.
Creates a multipatch from the input polygon or polyline.
Creates a multipatch from the input polygon or polyline.
Creates a multipatch from the input polygon or polyline.
Creates a multipatch from the input polygon or polyline.
Creates a multipatch from the input polygon or polyline.
Constructs a point at a specified angle from the horizontal axis and a specified distance away from the input point.
Generates polygons from a set of polylines.
Returns true if geometry1 contains geometry2.
Constructs the convex hull of the geometry.
Returns true if geometry1 crosses geometry2.
Splits this geometry into parts. A polyline will be split into two parts at most.
Densifies the specified geometry.
Densifies the specified geometry.
Densifies the specified geometry.
Densifies the specified geometry.
Performs the topological difference operation on the two geometries.
Returns true if geometry1 and geometry2 are disjoint.
Returns true if geometry1 and geometry2 are disjoint in a 3-dimensional manner.
Measures the planar distance between two geometries.
Measures the 3-dimensional planar distance between two geometries.
Sets all the M-values to NaN.
Writes a JSON version of the input geometry to a string.
Writes an OGC well-known text formatted version of the input geometry to a string.
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 part 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 parts that are not shared by the end points of other parts will be extended. If the polyline cannot be extended by the input extender, then a null will be returned.
Extrapolates the M-values based on the extrapolate range defined by the input indices.
Performs the generalize operation on the geometry.
Performs the generalize operation on the geometry.
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 part, 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.
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 part, 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.
Creates geodetic segments connecting existing vertices and densifies the segments.
Creates geodetic segments connecting existing vertices and densifies the segments.
Moves each point in the input array by the given distance. The function returns the number of points that has been moved. Points that are outside of the horizon will be discarded.
Gets a list of distances along the multipart at points with the specified M-value.
Returns the size of the buffer in bytes that will be required to hold the Esri shapefile version of the input geometry.
Gets the minimum and maximum M-value.
Determines whether Ms are monotonic, and if so, whether they are ascending or descending.
Gets a combination of Monotonicity values that describes all trends in the M-values over the length of the multipart.
Get the M-values at the specified distance along the multipart. Two M-values can be returned if the specified distance is exactly at the beginning or the ending of a part.
Indicates whether this geometry is topologically correct.
Gets the line segments corresponding to the normal at the locations along the geometry where the specified M occurs.
Gets a multipoint corresponding to the locations along the multipart where the specified M-value occurs. Coordinates/measures are interpolated when appropriate.
Gets the list of predefined coordinate systems for the given filter.
Gets the list of predefined geographic transformations.
Gets the subcurve of the input multipart between fromDistance and toDistance.
Gets the 3D subcurve of the input multipart between fromDistance and toDistance.
Gets a polyline corresponding to the subcurve(s) between the specified M-values.
Gets a polyline and other details corresponding to the subcurve(s) between the specified M-values.
Returns the size of the buffer in bytes that will be required to hold the OGC well-known binary version of the input geometry.
Creates a geometry based on the contents of the input Esri shapefile formatted buffer.
Creates a geometry from the input JSON string.
Creates a geometry based on the contents of the input well-known binary buffer.
Creates a geometry from the input well-known text string.
Sets the M-value at the given distance along the multipart.
Generates M-values by linear interpolation over a range of points.
Returns true if geometry1 and geometry2 intersect.
Determines if all the M-values are numbers.
Indicates whether this geometry is known to be topologically consistent according to the geometry type for storage in a database.
Indicates if the given geometry is topologically consistent according to the Open Geospatial Consortium (OGC) validation specification.
Performs the LabelPoint operation on the geometry.
Gets the length for a specified geometry. This is a planar measurement using 2D Cartesian mathematics.
Gets the 3D length for a specified geometry.
Constructs a point the specified distance along a polyline or polygon.
Separates the components of a geometry into single component geometries.
Multiplies all the M-values by a factor.
Finds the nearest point in the geometry to a specified point.
Finds the nearest point, in 3D space, on a Z-Aware geometry to a specified point.
Finds the nearest vertex in the geometry to a specified point.
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 in which case an empty Envelope will be returned.
Constructs the 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.
Adds an offset value to each of the M-values.
Reorients the polyline such that all M-values are non-decreasing, if possible.
Returns true if geometry1 and geometry2 overlap.
Projects the given geometry to a new spatial reference. Same as GeometryEngine.ProjectEx(geometry, ProjectionTransformation.Create(geometry.SpatialReference, outputSpatialReference)); or, if both spatial references have vertical coordinate systems same as GeometryEngine.ProjectEx(geometry, ProjectionTransformation.CreateWithVertical(geometry.SpatialReference, outputSpatialReference));
Projects the given geometry to a new spatial reference.
Gets the first and last defined M-values in the polyline.
Reflects the input geometry about the given line.
Performs custom relational operations between two geometries using a Dimensionally Extended Nine-Intersection Model, DE-9IM, formatted string.
Replaces each non-simple (NaN) Z-value on the geometry with the specified Z-value. All other simple (non-NaN) Z-values are unchanged.
Reshapes a polygon or polyline with a single path polyline.
Reverses the order of the M-values along the multipart.
Reverse the orientation of the geometry.
Rotates the geometry about the specified origin point.
Sets the Ms at the beginning and the end of the geometry and interpolates the M-values between these values.
Replaces each Z value on the geometry with the specified Z-value.
Simplifies the given geometry to make it topologically consistent according to the geometry type for storage in a database. For instance, it rectifies polygons that may be self-intersecting.
Simplifies the given geometry according to the Open Geospatial Consortium (OGC) validation specification.
Use either planar, nonplanar, or network simplify regardless of polyline M-awareness.
Slices a polygon into a set of equal area parts.
Snaps the M-values to the M-precision (1 / MScale) of the spatial reference associated with the input geometry.
Adds a new vertex along the multipoint at the specified input point or the projection onto the multipart of the specified input point.
Performs the symmetric difference operation on the two geometries. The symmetric difference is the union of the geometries minus the intersection.
Returns true if geometry1 touches geometry2.
Transforms an enumeration of 2D coordinates. Returns an enumeration of transformed 2D coordinates.
Transforms an enumeration of 3D coordinates. Returns an enumeration of transformed 3D coordinates.