Namespace: GameEngine.Geometry
Class: GameEngine/Geometry/ArcGISGeometryEngine
Since: 1.0.0
Summary
Performs geometric operations such as spatial relationship tests, reprojections, shape manipulations, topological query and analysis operations on ArcGISGeometry objects.
Methods
Signature | Return Type | Summary |
---|---|---|
Calculates the area of the given geometry. | ||
AreaGeodetic(ArcGISGeometry, ArcGISAreaUnit, ArcGISGeodeticCurveType) | Calculates the geodetic area of the given geometry using a geodetic curve. | |
AutoComplete(ArcGISMutableArray<ArcGISPolygon>, ArcGISMutableArray<ArcGISPolyline>) | ArcGISImmutableArray<ArcGISPolygon> | Fills the closed gaps between polygons using polygon boundaries and polylines as the boundary for the new polygons. |
Calculates the boundary of the given geometry. | ||
Creates a buffer polygon at the specified distance around the given geometry. This is a planar buffer operation. Use ArcGISGeometryEngine.BufferGeodetic to produce geodetic buffers. | ||
Buffer(ArcGISMutableArray<ArcGISGeometry>, ArcGISMutableArray<double>, bool) | ArcGISImmutableArray<ArcGISPolygon> | Creates a buffer or buffers relative to the given collection of geometries. This is a planar buffer operation. Use ArcGISGeometryEngine.BufferGeodetic to produce geodetic buffers. |
BufferGeodetic(ArcGISGeometry, double, ArcGISLinearUnit, double, ArcGISGeodeticCurveType) | Creates a buffer polygon at the specified distance around the given geometry, calculated using a geodetic curve. | |
BufferGeodetic(ArcGISMutableArray<ArcGISGeometry>, ArcGISMutableArray<double>, ArcGISLinearUnit, double, ArcGISGeodeticCurveType, bool) | ArcGISImmutableArray<ArcGISPolygon> | Creates and returns a geodetic buffer or buffers relative to the given collection of geometries. |
Constructs the portion of a geometry that intersects an envelope. | ||
Returns an ArcGISEnvelope representing the minimum extent that encloses both geometry1 and geometry2. | ||
CombineExtents(ArcGISMutableArray<ArcGISGeometry>) | Returns an ArcGISEnvelope representing the minimum extent that encloses all geometries in the given collection. | |
Tests if geometry1 contains geometry2. | ||
Calculates the minimum bounding geometry (convex hull) that completely encloses the given geometry. | ||
ConvexHull(ArcGISMutableArray<ArcGISGeometry>, bool) | ArcGISImmutableArray<ArcGISGeometry> | Calculates the minimum bounding geometry (convex hull) for the geometries in the given collection. |
Return the point at the given distance along the line. | ||
Tests whether geometry1 crosses geometry2. | ||
ArcGISImmutableArray<ArcGISGeometry> | Cuts the 'geometry' into parts with the 'cutter' ArcGISPolyline. | |
Densifies the input geometry by inserting additional vertices along the geometry at an interval defined by maxSegmentLength. | ||
DensifyGeodetic(ArcGISGeometry, double, ArcGISLinearUnit, ArcGISGeodeticCurveType) | Densifies the input geometry by creating additional vertices along the geometry, using a geodetic curve. | |
Constructs the set-theoretic difference between two geometries. | ||
Tests if the two geometries are disjoint. | ||
Calculates the simple planar (Euclidean) distance between two geometries. | ||
DistanceGeodetic(ArcGISPoint, ArcGISPoint, ArcGISLinearUnit, ArcGISAngularUnit, ArcGISGeodeticCurveType) | Calculates the geodetic distance between two given points and calculates the azimuth at both points for the geodetic curve that connects the points. | |
Constructs a geodesic ellipse centered on a specific point. | ||
Tests if two geometries are equal. | ||
Extend(ArcGISPolyline, ArcGISPolyline, ArcGISGeometryExtendOptions) | Extends a polyline with a polyline using the extension type specified with | |
Finds the location on the line nearest the input 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. | ||
Generalizes the given geometry by removing vertices based on the Douglas-Poiker algorithm. | ||
Calculates the intersection of two geometries. | ||
ArcGISImmutableArray<ArcGISGeometry> | Calculates the intersection of two geometries. | |
Tests if two geometries intersect each other. | ||
Tests whether the geometry is topologically simple. | ||
Calculates an interior point for the given polygon. This point can be used by clients to place a label for the polygon. | ||
Calculates the length of the given geometry. | ||
LengthGeodetic(ArcGISGeometry, ArcGISLinearUnit, ArcGISGeodeticCurveType) | Calculates the geodetic length of the geometry. | |
Moves the provided geometry by the specified distances along the x-axis and y-axis. | ||
MoveGeodetic(ArcGISMutableArray<ArcGISPoint>, double, ArcGISLinearUnit, double, ArcGISAngularUnit, ArcGISGeodeticCurveType) | ArcGISImmutableArray<ArcGISPoint> | Moves each point in the point collection in a specified direction by a geodetic distance. |
Determines the nearest point in the input geometry to the input point using a simple planar measurement. | ||
NearestCoordinateGeodetic(ArcGISGeometry, ArcGISPoint, double, ArcGISLinearUnit) | Determines the nearest point in the input geometry to the input point, by using a shape preserving geodetic approximation of the input geometry. | |
Returns an ArcGISProximityResult that describes the nearest vertex in the input geometry to the input point. | ||
Normalizes the input geometry so that it does not intersect the antimeridian. This may be necessary when wrap around is enabled on the map. | ||
Offset(ArcGISGeometry, double, ArcGISGeometryOffsetType, double, double) | Creates an offset version of the input geometry. | |
Tests if two geometries overlap. | ||
Projects the given geometry from its current spatial reference system into the given spatial reference system. | ||
Project(ArcGISGeometry, ArcGISSpatialReference, ArcGISDatumTransformation) | Projects the given geometry from its current spatial reference system into the given output spatial reference system, applying the datum transformation provided. | |
Tests if the two geometries are related using a custom relation. | ||
Return a copy of the given geometry with its m-values removed. | ||
Return a copy of the given geometry with its z-coordinate removed. | ||
Return a copy of the given geometry with its z-coordinates and m-values removed. | ||
Reshape polygons or polylines with a single path polyline. | ||
Rotates the geometry by the specified angle of rotation around the provided origin point. | ||
Scales the given geometry by the specified factors from the specified origin point. | ||
Constructs a geodesic sector defined by a geodesic arc and 2 radii. | ||
Return a copy of a geometry with the supplied m-value. | ||
Return a copy of a geometry with the supplied z-coordinate. | ||
Return a copy of a geometry with the supplied z-coordinate and m-value. | ||
Simplifies the given geometry to make it topologically consistent according to its geometry type. | ||
Calculates the symmetric difference (exclusive or) of the two geometries. | ||
Tests if the two geometries have at least one boundary point in common, but no interior points. | ||
Calculates the union of the two geometries. | ||
Union(ArcGISMutableArray<ArcGISGeometry>) | Calculates the union of a collection of geometries. | |
Tests if geometry1 is within geometry2. |
Area
static double Area(ArcGISGeometry geometry)
Calculates the area of the given geometry.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. |
Returns double
The area of the given geometry in the same units as the geometry's spatial reference system.
AreaGeodetic
static double AreaGeodetic(ArcGISGeometry geometry, ArcGISAreaUnit unit, ArcGISGeodeticCurveType curveType)
Calculates the geodetic area of the given geometry using a geodetic curve.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. | |
unit | The unit of measure for the return value. If null, the default unit is meters squared. | |
curve | The type of curve to calculate the geodetic area. |
Returns double
The calculated geodetic area in the requested unit.
AutoComplete
static ArcGISImmutableArray<ArcGISPolygon> AutoComplete(ArcGISMutableArray<ArcGISPolygon> existingBoundaries, ArcGISMutableArray<ArcGISPolyline> newBoundaries)
Fills the closed gaps between polygons using polygon boundaries and polylines as the boundary for the new polygons.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
existing | ArcGISMutableArray<ArcGISPolygon> | The polygons. |
new | ArcGISMutableArray<ArcGISPolyline> | The polylines. |
Returns ArcGISImmutableArray<ArcGISPolygon>
The new polygons that were created. If either existingBoundaries or newBoundaries is empty, returns an empty array.
Boundary
static ArcGISGeometry Boundary(ArcGISGeometry geometry)
Calculates the boundary of the given geometry.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. |
Returns ArcGISGeometry
The boundary of the given geometry.
Buffer
static ArcGISPolygon Buffer(ArcGISGeometry geometry, double distance)
Creates a buffer polygon at the specified distance around the given geometry. This is a planar buffer operation. Use ArcGISGeometryEngine.BufferGeodetic to produce geodetic buffers.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. | |
distance | The distance to buffer the geometry. It must be in the same units as the geometry's spatial reference. |
Returns ArcGISPolygon
A polygon object that represents a buffer at the desired distance relative to the given geometry.
Buffer
static ArcGISImmutableArray<ArcGISPolygon> Buffer(ArcGISMutableArray<ArcGISGeometry> geometries, ArcGISMutableArray<double> distances, bool unionResult)
Creates a buffer or buffers relative to the given collection of geometries. This is a planar buffer operation. Use ArcGISGeometryEngine.BufferGeodetic to produce geodetic buffers.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometries | ArcGISMutableArray<ArcGISGeometry> | A collection of geometries. |
distances | ArcGISMutableArray<double> | The distance to buffer each geometry, expressed as an ArcGISMutableArray<T> of double. If the size of the distances collection is less than the number of geometries, the last distance value is used for the remaining geometries. |
union | Returns a single geometry that buffers all the geometries (true), or one buffer for each in the given collection (false). |
Returns ArcGISImmutableArray<ArcGISPolygon>
A collection of polygons representing buffers at the defined distance(s) relative to the input geometries.
BufferGeodetic
static ArcGISPolygon BufferGeodetic(ArcGISGeometry geometry, double distance, ArcGISLinearUnit distanceUnit, double maxDeviation, ArcGISGeodeticCurveType curveType)
Creates a buffer polygon at the specified distance around the given geometry, calculated using a geodetic curve.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. | |
distance | The distance to buffer the geometry. | |
distance | The unit of measure for the distance. | |
max | The maximum deviation between points. If NaN, then a maximum deviation of up to 0.2% of the buffer distance (maximum 0.01 meters). The purpose is to return an output geometry with a smooth boundary. | |
curve | The ArcGISGeodeticCurveType used to calculate the buffer. |
Returns ArcGISPolygon
The geodetic buffer.
BufferGeodetic
static ArcGISImmutableArray<ArcGISPolygon> BufferGeodetic(ArcGISMutableArray<ArcGISGeometry> geometries, ArcGISMutableArray<double> distances, ArcGISLinearUnit distanceUnit, double maxDeviation, ArcGISGeodeticCurveType curveType, bool unionResult)
Creates and returns a geodetic buffer or buffers relative to the given collection of geometries.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometries | ArcGISMutableArray<ArcGISGeometry> | A collection of geometries. |
distances | ArcGISMutableArray<double> | The distance to buffer each geometry, expressed as an ArcGISMutableArray<T> of double. If the size of the distances array is less than the number of geometries, the last distance value is used for the rest of geometries. |
distance | The unit of measure for the distance. | |
max | The maximum deviation between points. If NaN, then a maximum deviation of up to 0.2% of the buffer distance (maximum 0.01 meters). The purpose is to return an output geometry with a smooth boundary. | |
curve | The ArcGISGeodeticCurveType used to calculate the buffer. | |
union | Return a single geometry that buffers all the geometries (true), or one buffer for each in the given collection (false). |
Returns ArcGISImmutableArray<ArcGISPolygon>
A collection of polygon geometries that represent a geodetic buffer at the desired distance(s) relative to the given geometries. If 'unionResult' is true, the resulting collection contains a single polygon. If geometries is empty, returns an empty array.
Clip
static ArcGISGeometry Clip(ArcGISGeometry geometry, ArcGISEnvelope envelope)
Constructs the portion of a geometry that intersects an envelope.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | The geometry to be clipped by the given envelope. | |
envelope | The envelope that clips the given geometry. |
Returns ArcGISGeometry
A geometry object that represents the portion of a geometry that intersects an envelope.
CombineExtents
static ArcGISEnvelope CombineExtents(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Returns an ArcGISEnvelope representing the minimum extent that encloses both geometry1 and geometry2.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns ArcGISEnvelope
The maximum extent of the two given geometries.
CombineExtents
static ArcGISEnvelope CombineExtents(ArcGISMutableArray<ArcGISGeometry> geometries)
Returns an ArcGISEnvelope representing the minimum extent that encloses all geometries in the given collection.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometries | ArcGISMutableArray<ArcGISGeometry> | A collection of geometries. |
Returns ArcGISEnvelope
The maximum extent of the geometries in the collection.
Contains
static bool Contains(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Tests if geometry1 contains geometry2.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns bool
True if geometry1 contains geometry2, false otherwise.
ConvexHull
static ArcGISGeometry ConvexHull(ArcGISGeometry geometry)
Calculates the minimum bounding geometry (convex hull) that completely encloses the given geometry.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. |
Returns ArcGISGeometry
The minimum bounding geometry that completely encloses the given geometry.
ConvexHull
static ArcGISImmutableArray<ArcGISGeometry> ConvexHull(ArcGISMutableArray<ArcGISGeometry> geometries, bool merge)
Calculates the minimum bounding geometry (convex hull) for the geometries in the given collection.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometries | ArcGISMutableArray<ArcGISGeometry> | A collection of geometries. |
merge | True indicates that a single convex hull geometry is calculated that encloses all the geometries in the collection. False indicates that one convex hull geometry is calculated for each geometry in the collection. |
Returns ArcGISImmutableArray<ArcGISGeometry>
The minimum bounding geometry that completely encloses the geometries in the given collection.
CreatePointAlong
static ArcGISPoint CreatePointAlong(ArcGISPolyline polyline, double distance)
Return the point at the given distance along the line.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
polyline | The polyline from which the point is created. | |
distance | The distance along the polyline where the point is created, using the units of the polyline. |
Returns ArcGISPoint
The point at the given distance along the line.
Crosses
static bool Crosses(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Tests whether geometry1 crosses geometry2.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns bool
true if geometry1 crosses geometry2, false otherwise.
Cut
static ArcGISImmutableArray<ArcGISGeometry> Cut(ArcGISGeometry geometry, ArcGISPolyline cutter)
Cuts the 'geometry' into parts with the 'cutter' ArcGISPolyline.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | The input ArcGISGeometry to be cut. | |
cutter | The ArcGISPolyline used to divide the geometry into pieces where they cross the cutter. |
Returns ArcGISImmutableArray<ArcGISGeometry>
An ArcGISImmutableArray<T> of ArcGISGeometry.
Densify
static ArcGISGeometry Densify(ArcGISGeometry geometry, double maxSegmentLength)
Densifies the input geometry by inserting additional vertices along the geometry at an interval defined by maxSegmentLength.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | An ArcGISEnvelope, ArcGISPolygon, or ArcGISPolyline geometry. | |
max | The maximum distance between vertices when the input geometry is densified. The linear unit is assumed to be that of the input geometry's spatial reference (decimal degrees for a geometry with a geographic spatial reference, meters for geometry with a Mercator spatial reference, and so on). Use ArcGISSpatialReference.Unit to determine the unit used by a specific spatial reference. |
Returns ArcGISGeometry
The densified geometry.
DensifyGeodetic
static ArcGISGeometry DensifyGeodetic(ArcGISGeometry geometry, double maxSegmentLength, ArcGISLinearUnit lengthUnit, ArcGISGeodeticCurveType curveType)
Densifies the input geometry by creating additional vertices along the geometry, using a geodetic curve.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry to densify. | |
max | The maximum distance between vertices when the input geometry is densified, in the given linear units. | |
length | The unit of measure for the maximum segment length. If null, meters are assumed. | |
curve | The type of curve to calculate. |
Returns ArcGISGeometry
The geodetic densified geometry.
Difference
static ArcGISGeometry Difference(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Constructs the set-theoretic difference between two geometries.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | The second geometry of dimension equal to or greater than the elements of the first geometry. |
Returns ArcGISGeometry
A new geometry object that represents the difference of the two given input geometries.
Disjoint
static bool Disjoint(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Tests if the two geometries are disjoint.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns bool
True if the two geometries are disjoint, false otherwise.
Distance
static double Distance(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Calculates the simple planar (Euclidean) distance between two geometries.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns double
The distance between the two geometries in the same units as the geometry's spatial reference.
DistanceGeodetic
static ArcGISGeodeticDistanceResult DistanceGeodetic(ArcGISPoint point1, ArcGISPoint point2, ArcGISLinearUnit distanceUnit, ArcGISAngularUnit azimuthUnit, ArcGISGeodeticCurveType curveType)
Calculates the geodetic distance between two given points and calculates the azimuth at both points for the geodetic curve that connects the points.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
point1 | A point object. | |
point2 | Another point object. | |
distance | The linear unit of measure for the returned results. Assumes meters if no unit is given. | |
azimuth | The angular unit of measure for the returned results. Assumes degrees if no unit is given. | |
curve | The type of curve to calculate. |
Returns ArcGISGeodeticDistanceResult
A structure containing the distance and the azimuth at both points for the geodetic curve that connects them.
EllipseGeodesic
static ArcGISGeometry EllipseGeodesic(ArcGISGeodesicEllipseParameters parameters)
Constructs a geodesic ellipse centered on a specific point.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
parameters | Various parameters needed to construct the ellipse. |
Returns ArcGISGeometry
The geodesic ellipse described by the parameters.
Equals
static bool Equals(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Tests if two geometries are equal.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns bool
True if the two geometries are equal, false otherwise.
Extend
static ArcGISPolyline Extend(ArcGISPolyline polyline, ArcGISPolyline extender, ArcGISGeometryExtendOptions extendOptions)
Extends a polyline with a polyline using the extension type specified with extend
.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
polyline | The polyline to be extended. | |
extender | The polyline to extend to. | |
extend | The flag for the type of extend operation to perform. |
Returns ArcGISPolyline
The extended polyline, or null if polyline could not be extended.
FractionAlong
static double FractionAlong(ArcGISPolyline line, ArcGISPoint point, double tolerance)
Finds the location on the line nearest the input 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.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
line | The line to locate the point's distance along its length. | |
point | The point to locate. | |
tolerance | The maximum distance that a point is allowed to be from the line, in the units of the ArcGISSpatialReference. If the tolerance is -1, the fraction of the closest location on the line is always returned as long as the point lies between the two ends of the polyline. If the distance from the point to the closest location on the line is greater than the tolerance, or the tolerance is -1 and the point does not lie between the two ends of the polyline, NAN is returned. |
Returns double
The length along the line nearest the input point, expressed as the fraction of the line's length between 0.0 and 1.0, or NAN if the point is outside the tolerance.
Generalize
static ArcGISGeometry Generalize(ArcGISGeometry geometry, double maxDeviation, bool removeDegenerateParts)
Generalizes the given geometry by removing vertices based on the Douglas-Poiker algorithm.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. | |
max | The maximum distance that the generalized geometry can deviate from the original, in the same units as the geometry's spatial reference system. | |
remove | True if degenerated parts of the resulting geometry that are not needed for drawing are removed, false otherwise. |
Returns ArcGISGeometry
The geometry object that represents the generalization of the input geometry.
Intersection
static ArcGISGeometry Intersection(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Calculates the intersection of two geometries.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns ArcGISGeometry
A geometry object that represents the intersection of the given geometries.
Intersections
static ArcGISImmutableArray<ArcGISGeometry> Intersections(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Calculates the intersection of two geometries.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns ArcGISImmutableArray<ArcGISGeometry>
A collection of geometry objects that represent the intersection of the given geometries.
Intersects
static bool Intersects(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Tests if two geometries intersect each other.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns bool
True if the two geometries intersect, false otherwise.
IsSimple
static bool IsSimple(ArcGISGeometry geometry)
Tests whether the geometry is topologically simple.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | The geometry object. |
Returns bool
True if the geometry object is simple, false otherwise.
LabelPoint
static ArcGISPoint LabelPoint(ArcGISPolygon polygon)
Calculates an interior point for the given polygon. This point can be used by clients to place a label for the polygon.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
polygon | A polygon object. |
Returns ArcGISPoint
A geometry object that represents the intersection of the given geometries.
Length
static double Length(ArcGISGeometry geometry)
Calculates the length of the given geometry.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. |
Returns double
The length of the given geometry.
LengthGeodetic
static double LengthGeodetic(ArcGISGeometry geometry, ArcGISLinearUnit lengthUnit, ArcGISGeodeticCurveType curveType)
Calculates the geodetic length of the geometry.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. | |
length | The unit of measure for the returned value. If null, meters are assumed. | |
curve | The type of curve to calculate. |
Returns double
The geodetic length of the given geometry.
Move
static ArcGISGeometry Move(ArcGISGeometry geometry, double deltaX, double deltaY)
Moves the provided geometry by the specified distances along the x-axis and y-axis.
Since 1.3.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | The geometry to move. | |
delta | The distance to move the geometry along the x-axis, in the units of the given geometry's spatial reference. | |
delta | The distance to move the geometry along the y-axis, in the units of the given geometry's spatial reference. |
Returns ArcGISGeometry
A new geometry based on moving the given geometry by the given delta values.
MoveGeodetic
static ArcGISImmutableArray<ArcGISPoint> MoveGeodetic(ArcGISMutableArray<ArcGISPoint> pointCollection, double distance, ArcGISLinearUnit distanceUnit, double azimuth, ArcGISAngularUnit azimuthUnit, ArcGISGeodeticCurveType curveType)
Moves each point in the point collection in a specified direction by a geodetic distance.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
point | ArcGISMutableArray<ArcGISPoint> | An ArcGISMutableArray<T> of ArcGISPoint geometries. Contents of the ArcGISMutableArray<T> are copied. |
distance | The distance to move the points. | |
distance | The unit of measure for distance. If null, meters are assumed. | |
azimuth | The azimuth angle of the direction for the points. | |
azimuth | The angular unit of measure for azimuth. If null, degrees are assumed. | |
curve | The type of curve to calculate. |
Returns ArcGISImmutableArray<ArcGISPoint>
A new collection of points moved by the given distance from the input collection.
NearestCoordinate
static ArcGISProximityResult NearestCoordinate(ArcGISGeometry geometry, ArcGISPoint point)
Determines the nearest point in the input geometry to the input point using a simple planar measurement.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. | |
point | The point of interest. |
Returns ArcGISProximityResult
An ArcGISProximityResult containing the results of the operation. This is null if the input geometry is empty. ArcGISProximityResult.Distance is zero if the point lies inside an input polygon, polyline, or envelope.
NearestCoordinateGeodetic
static ArcGISProximityResult NearestCoordinateGeodetic(ArcGISGeometry geometry, ArcGISPoint point, double maxDeviation, ArcGISLinearUnit deviationUnit)
Determines the nearest point in the input geometry to the input point, by using a shape preserving geodetic approximation of the input geometry.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object on which to calculate the nearest coordinate to the point parameter. | |
point | The point from which to calculate the nearest coordinate on the geometry parameter. | |
max | The maximum distance that the geodetic geometry can deviate from the original (in the units of the deviationUnit parameter). If the value is less than or equal to zero, or NAN, the error calculation deviation defaults to 0.01 meters. | |
deviation | The unit of measure for the maxDeviation parameter. If null, the units of maxDeviation are assumed to be meters. |
Returns ArcGISProximityResult
An ArcGISProximityResult containing the results of the operation, where the ArcGISProximityResult.Distance is returned in meters. Returns null if the input geometry is empty. ArcGISProximityResult.Distance is zero if the point lies inside an input polygon, polyline, or envelope.
NearestVertex
static ArcGISProximityResult NearestVertex(ArcGISGeometry geometry, ArcGISPoint point)
Returns an ArcGISProximityResult that describes the nearest vertex in the input geometry to the input point.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. | |
point | The point of interest. |
Returns ArcGISProximityResult
A struct containing the results of the operation.
NormalizeCentralMeridian
static ArcGISGeometry NormalizeCentralMeridian(ArcGISGeometry geometry)
Normalizes the input geometry so that it does not intersect the antimeridian. This may be necessary when wrap around is enabled on the map.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. |
Returns ArcGISGeometry
The normalized geometry.
Offset
static ArcGISGeometry Offset(ArcGISGeometry geometry, double distance, ArcGISGeometryOffsetType offsetType, double bevelRatio, double flattenError)
Creates an offset version of the input geometry.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. | |
distance | The offset distance for the new geometry. | |
offset | The offset type the resulting geometry. | |
bevel | The ratio used to produce a bevel join instead of a miter join (used only when the offset type is Miter). | |
flatten | The maximum distance of the resulting segments compared to the true circular arc (used only when the offset type if round). |
Returns ArcGISGeometry
The offset geometry object.
Overlaps
static bool Overlaps(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Tests if two geometries overlap.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns bool
True if the two geometries overlap, false otherwise.
Project
static ArcGISGeometry Project(ArcGISGeometry geometry, ArcGISSpatialReference spatialReference)
Projects the given geometry from its current spatial reference system into the given spatial reference system.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. | |
spatial | The target spatial reference system. |
Returns ArcGISGeometry
The geometry projected into the given SpatialReference. If the input geometry has a null SpatialReference, no projection occurs; instead, an identical geometry with the given SpatialReference is returned.
Project
static ArcGISGeometry Project(ArcGISGeometry geometry, ArcGISSpatialReference outputSpatialReference, ArcGISDatumTransformation datumTransformation)
Projects the given geometry from its current spatial reference system into the given output spatial reference system, applying the datum transformation provided.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. | |
output | The spatial reference system to project to. | |
datum | The datum transformation used to convert coordinates from one coordinate system to another. If the geometry has z-values and its ArcGISSpatialReference and outputSpatialReference have a vertical coordinate system set, use a ArcGISHorizontalVerticalTransformation to transform the z-values. |
Returns ArcGISGeometry
The geometry projected into the given SpatialReference. If the input geometry has a null SpatialReference, no projection occurs; instead, an identical geometry with the given SpatialReference is returned.
Relate
static bool Relate(ArcGISGeometry geometry1, ArcGISGeometry geometry2, string relation)
Tests if the two geometries are related using a custom relation.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. | |
relation | The DE-9IM string to be evaluated. This must be nine characters long and only contain the characters TF*012. |
Returns bool
True if the two geometries have the given relationship, false otherwise.
RemoveM
static ArcGISGeometry RemoveM(ArcGISGeometry geometry)
Return a copy of the given geometry with its m-values removed.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry. |
Returns ArcGISGeometry
A copy of the given geometry with its m-values removed.
RemoveZ
static ArcGISGeometry RemoveZ(ArcGISGeometry geometry)
Return a copy of the given geometry with its z-coordinate removed.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry. |
Returns ArcGISGeometry
A copy of the given geometry with its z-coordinates removed.
RemoveZAndM
static ArcGISGeometry RemoveZAndM(ArcGISGeometry geometry)
Return a copy of the given geometry with its z-coordinates and m-values removed.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry. |
Returns ArcGISGeometry
A copy of the given geometry with both its z-coordinates and m-values removed.
Reshape
static ArcGISMultipart Reshape(ArcGISMultipart geometry, ArcGISPolyline reshaper)
Reshape polygons or polylines with a single path polyline.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | The polygon or polyline to be reshaped. | |
reshaper | The single path polyline reshaper. |
Returns ArcGISMultipart
The reshaped polygon or polyline, or null if geometry could not be reshaped.
Rotate
static ArcGISGeometry Rotate(ArcGISGeometry geometry, double angle, ArcGISPoint origin)
Rotates the geometry by the specified angle of rotation around the provided origin point.
Since 1.3.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | The geometry to rotate. | |
angle | The angle by which to rotate the geometry, counterclockwise, in degrees. | |
origin | The center of rotation. If null, or ArcGISGeometry.IsEmpty is true, the center of the extent of the given geometry is used. |
Returns ArcGISGeometry
A new geometry constructed by rotating the input geometry by the specified angle of rotation around the provided origin point.
Scale
static ArcGISGeometry Scale(ArcGISGeometry geometry, double scaleX, double scaleY, ArcGISPoint origin)
Scales the given geometry by the specified factors from the specified origin point.
Since 1.3.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | The geometry to scale. | |
scale | The scale factor along the x-axis. It can be positive or negative. It cannot be a non-numeric value. | |
scale | The scale factor along the y-axis. It can be positive or negative. It cannot be a non-numeric value. | |
origin | The point around which the geometry will be scaled. If null, or ArcGISGeometry.IsEmpty is true, the center of the extent of the geometry parameter is used. |
Returns ArcGISGeometry
A new geometry constructed by scaling the input geometry by the specified factors from the specified origin point.
SectorGeodesic
static ArcGISGeometry SectorGeodesic(ArcGISGeodesicSectorParameters parameters)
Constructs a geodesic sector defined by a geodesic arc and 2 radii.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
parameters | Specifies the parameters for constructing the sector. |
Returns ArcGISGeometry
A geometry representing the geodesic sector.
SetM
static ArcGISGeometry SetM(ArcGISGeometry geometry, double m)
Return a copy of a geometry with the supplied m-value.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry. | |
m | The m-value. |
Returns ArcGISGeometry
A copy of the given geometry with its m-values set to the supplied value.
SetZ
static ArcGISGeometry SetZ(ArcGISGeometry geometry, double z)
Return a copy of a geometry with the supplied z-coordinate.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry. | |
z | The z-coordinate. |
Returns ArcGISGeometry
A copy of the given geometry with its z-coordinates set to the supplied value.
SetZAndM
static ArcGISGeometry SetZAndM(ArcGISGeometry geometry, double z, double m)
Return a copy of a geometry with the supplied z-coordinate and m-value.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry. | |
z | The z-coordinate. | |
m | The m-value. |
Returns ArcGISGeometry
A copy of the given geometry with its z-coordinates and m-values set to the supplied values.
Simplify
static ArcGISGeometry Simplify(ArcGISGeometry geometry)
Simplifies the given geometry to make it topologically consistent according to its geometry type.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry | A geometry object. |
Returns ArcGISGeometry
The simplified geometry.
SymmetricDifference
static ArcGISGeometry SymmetricDifference(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Calculates the symmetric difference (exclusive or) of the two geometries.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns ArcGISGeometry
The symmetric difference of the two geometries.
Touches
static bool Touches(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Tests if the two geometries have at least one boundary point in common, but no interior points.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns bool
True if the two geometries touch, false otherwise.
Union
static ArcGISGeometry Union(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Calculates the union of the two geometries.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns ArcGISGeometry
The union of the two geometries.
Union
static ArcGISGeometry Union(ArcGISMutableArray<ArcGISGeometry> geometries)
Calculates the union of a collection of geometries.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometries | ArcGISMutableArray<ArcGISGeometry> | A collection of geometries. |
Returns ArcGISGeometry
The union of all the geometries in the given collection.
Within
static bool Within(ArcGISGeometry geometry1, ArcGISGeometry geometry2)
Tests if geometry1 is within geometry2.
Since 1.0.0
Arguments
Name | Type | Summary |
---|---|---|
geometry1 | A geometry object. | |
geometry2 | Another geometry object. |
Returns bool
True if geometry1 is within geometry2, false otherwise.