ArcGISGeometryEngine

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

SignatureReturn TypeSummary

Area(ArcGISGeometry)

double

Calculates the area of the given geometry.

AreaGeodetic(ArcGISGeometry, ArcGISAreaUnit, ArcGISGeodeticCurveType)

double

Calculates the geodesic area of the given geometry.

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.

Boundary(ArcGISGeometry)

ArcGISGeometry

Calculates the boundary of the given geometry.

Buffer(ArcGISGeometry, double)

ArcGISPolygon

Returns a geometry object that represents a buffer relative to the given geometry.

Buffer(ArcGISMutableArray<ArcGISGeometry>, ArcGISMutableArray<double>, bool)

ArcGISImmutableArray<ArcGISPolygon>

Creates and returns a buffer relative to the given geometries.

BufferGeodetic(ArcGISGeometry, double, ArcGISLinearUnit, double, ArcGISGeodeticCurveType)

ArcGISPolygon

Calculates the geodesic buffer of a given geometry.

BufferGeodetic(ArcGISMutableArray<ArcGISGeometry>, ArcGISMutableArray<double>, ArcGISLinearUnit, double, ArcGISGeodeticCurveType, bool)

ArcGISImmutableArray<ArcGISPolygon>

Calculates the geodesic buffer of the geometries in a given collection.

Clip(ArcGISGeometry, ArcGISEnvelope)

ArcGISGeometry

Clips the given geometry with the envelope.

CombineExtents(ArcGISGeometry, ArcGISGeometry)

ArcGISEnvelope

Returns the envelope of the two given geometries.

CombineExtents(ArcGISMutableArray<ArcGISGeometry>)

ArcGISEnvelope

Returns the envelope of geometries in the given collection.

Contains(ArcGISGeometry, ArcGISGeometry)

bool

Tests if geometry1 contains geometry2.

ConvexHull(ArcGISGeometry)

ArcGISGeometry

Returns the minimum bounding geometry that completely encloses the given geometry.

ConvexHull(ArcGISMutableArray<ArcGISGeometry>, bool)

ArcGISImmutableArray<ArcGISGeometry>

Returns the convex hull for the geometries in the given collection.

CreatePointAlong(ArcGISPolyline, double)

ArcGISPoint

Return the point at the given distance along the line.

Crosses(ArcGISGeometry, ArcGISGeometry)

bool

Tests if geometry1 crosses geometry2.

Cut(ArcGISGeometry, ArcGISPolyline)

ArcGISImmutableArray<ArcGISGeometry>

Cut the 'geometry' ArcGISGeometry with the 'cutter' ArcGISPolyline

Densify(ArcGISGeometry, double)

ArcGISGeometry

Densifies the input geometry by inserting additional vertices along the geometry at an interval defined by maxSegmentLength.

DensifyGeodetic(ArcGISGeometry, double, ArcGISLinearUnit, ArcGISGeodeticCurveType)

ArcGISGeometry

Densifies the input geometry by creating additional vertices along the geometry, using a geodesic curve.

Difference(ArcGISGeometry, ArcGISGeometry)

ArcGISGeometry

Constructs the set-theoretic difference between two geometries.

Disjoint(ArcGISGeometry, ArcGISGeometry)

bool

Tests if the two geometries are disjoint.

Distance(ArcGISGeometry, ArcGISGeometry)

double

Measures the simple planar distance between two geometries.

DistanceGeodetic(ArcGISPoint, ArcGISPoint, ArcGISLinearUnit, ArcGISAngularUnit, ArcGISGeodeticCurveType)

ArcGISGeodeticDistanceResult

Calculates the geodesic distance between the two points.

EllipseGeodesic(ArcGISGeodesicEllipseParameters)

ArcGISGeometry

Constructs a geodesic ellipse centered on a specific point.

Equals(ArcGISGeometry, ArcGISGeometry)

bool

Tests if two geometries are equal

Extend(ArcGISPolyline, ArcGISPolyline, ArcGISGeometryExtendOptions)

ArcGISPolyline

Extends a polyline using a polyline as the extender.

FractionAlong(ArcGISPolyline, ArcGISPoint, double)

double

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. The line and point must have consistent spatial references.

Generalize(ArcGISGeometry, double, bool)

ArcGISGeometry

Generalizes the given geometry by removing vertices based on the Douglas-Poiker algorithm.

Intersection(ArcGISGeometry, ArcGISGeometry)

ArcGISGeometry

Calculates the intersection of two geometries.

Intersections(ArcGISGeometry, ArcGISGeometry)

ArcGISImmutableArray<ArcGISGeometry>

Calculates the intersection of two geometries.

Intersects(ArcGISGeometry, ArcGISGeometry)

bool

Tests if two geometries intersect.

IsSimple(ArcGISGeometry)

bool

Gets a value indicating whether or not the geometry is simple.

LabelPoint(ArcGISPolygon)

ArcGISPoint

Calculates an interior point for the given polygon. This point can be used by clients to place a label for the polygon.

Length(ArcGISGeometry)

double

Calculates the length of the given geometry.

LengthGeodetic(ArcGISGeometry, ArcGISLinearUnit, ArcGISGeodeticCurveType)

double

Calculates the geodesic length of the geometry.

MoveGeodetic(ArcGISMutableArray<ArcGISPoint>, double, ArcGISLinearUnit, double, ArcGISAngularUnit, ArcGISGeodeticCurveType)

ArcGISImmutableArray<ArcGISPoint>

Moves each point in the point collection by a geodesic distance.

NearestCoordinate(ArcGISGeometry, ArcGISPoint)

ArcGISProximityResult

Determines the nearest point in the input geometry to the input point using a simple planar measurement.

NearestCoordinateGeodetic(ArcGISGeometry, ArcGISPoint, double, ArcGISLinearUnit)

ArcGISProximityResult

Determines the nearest point in the input geometry to the input point, by using a shape preserving geodesic approximation of the input geometry.

NearestVertex(ArcGISGeometry, ArcGISPoint)

ArcGISProximityResult

Returns a ArcGISProximityResult that describes the nearest vertex in the input geometry to the input point.

NormalizeCentralMeridian(ArcGISGeometry)

ArcGISGeometry

Folds the geometry into a range of 360 degrees. This may be necessary when wrap around is enabled on the map.

Offset(ArcGISGeometry, double, ArcGISGeometryOffsetType, double, double)

ArcGISGeometry

Creates an offset version of the input geometry.

Overlaps(ArcGISGeometry, ArcGISGeometry)

bool

Tests if two geometries overlap.

Project(ArcGISGeometry, ArcGISSpatialReference)

ArcGISGeometry

Projects the given geometry from its current spatial reference system into the given spatial reference system.

Project(ArcGISGeometry, ArcGISSpatialReference, ArcGISDatumTransformation)

ArcGISGeometry

Projects the given geometry from its current spatial reference system into the given output spatial reference system, applying the datum transformation provided.

Relate(ArcGISGeometry, ArcGISGeometry, string)

bool

Test if the two geometries are related by the given relation.

RemoveM(ArcGISGeometry)

ArcGISGeometry

Return a copy of the given geometry with its m-values removed.

RemoveZ(ArcGISGeometry)

ArcGISGeometry

Return a copy of the given geometry with its z-coordinate removed.

RemoveZAndM(ArcGISGeometry)

ArcGISGeometry

Return a copy of the given geometry with its z-coordinates and m-values removed.

Reshape(ArcGISMultipart, ArcGISPolyline)

ArcGISMultipart

Reshape polygons or polylines with a single path polyline.

SectorGeodesic(ArcGISGeodesicSectorParameters)

ArcGISGeometry

Constructs a geodesic sector defined by a geodesic arc and 2 radii.

SetM(ArcGISGeometry, double)

ArcGISGeometry

Return a copy of a geometry with the supplied m-value.

SetZ(ArcGISGeometry, double)

ArcGISGeometry

Return a copy of a geometry with the supplied z-coordinate.

SetZAndM(ArcGISGeometry, double, double)

ArcGISGeometry

Return a copy of a geometry with the supplied z-coordinate and m-value.

Simplify(ArcGISGeometry)

ArcGISGeometry

Simplifies the given geometry to make it topologically consistent according to its geometry type.

SymmetricDifference(ArcGISGeometry, ArcGISGeometry)

ArcGISGeometry

Calculates the symmetric difference (exclusive or) of the two geometries.

Touches(ArcGISGeometry, ArcGISGeometry)

bool

Test if the two geometries touch on their borders.

Union(ArcGISGeometry, ArcGISGeometry)

ArcGISGeometry

Calculates the union of the two geometries.

Union(ArcGISMutableArray<ArcGISGeometry>)

ArcGISGeometry

Calculates the union of a collection of geometries

Within(ArcGISGeometry, ArcGISGeometry)

bool

Tests if geometry1 is within geometry2.

Area

static double Area(ArcGISGeometry geometry)

Calculates the area of the given geometry.

Since 1.0.0

Arguments
NameTypeSummary
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 geodesic area of the given geometry.

Since 1.0.0

Arguments
NameTypeSummary
geometry

A geometry object.

unit

The unit of measure for the return value. If null, meters squared are assumed.

curveType

The type of curve to calculate.

Returns double

The calculated geodesic 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
NameTypeSummary
existingBoundaries
ArcGISMutableArray<ArcGISPolygon>

The polygons.

newBoundaries
ArcGISMutableArray<ArcGISPolyline>

The polylines.

Returns ArcGISImmutableArray<ArcGISPolygon>

The new polygons that were created. If either existing_boundaries or new_boundaries is empty, returns an empty array. Returns null on error.

Boundary

static ArcGISGeometry Boundary(ArcGISGeometry geometry)

Calculates the boundary of the given geometry.

Since 1.0.0

Arguments
NameTypeSummary
geometry

A geometry object.

Returns ArcGISGeometry

The boundary of the given geometry.

Buffer

static ArcGISPolygon Buffer(ArcGISGeometry geometry, double distance)

Returns a geometry object that represents a buffer relative to the given geometry.

Since 1.0.0

Arguments
NameTypeSummary
geometry

A geometry object.

distance

The buffer distance for the geometry in the same units as the geometry's spatial reference system.

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 and returns a buffer relative to the given geometries.

Since 1.0.0

Arguments
NameTypeSummary
geometries
ArcGISMutableArray<ArcGISGeometry>

A collection of geometries.

distances
ArcGISMutableArray<double>

The distance to buffer each geometry, expressed as a 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.

unionResult

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)

Calculates the geodesic buffer of a given geometry.

Since 1.0.0

Arguments
NameTypeSummary
geometry

A geometry object.

distance

The distance to buffer.

distanceUnit

The unit of measure for the distance.

maxDeviation

The maximum deviation between points.

curveType

The curve type to calculate.

Returns ArcGISPolygon

The geodesic buffer.

BufferGeodetic

static ArcGISImmutableArray<ArcGISPolygon> BufferGeodetic(ArcGISMutableArray<ArcGISGeometry> geometries, ArcGISMutableArray<double> distances, ArcGISLinearUnit distanceUnit, double maxDeviation, ArcGISGeodeticCurveType curveType, bool unionResult)

Calculates the geodesic buffer of the geometries in a given collection.

Since 1.0.0

Arguments
NameTypeSummary
geometries
ArcGISMutableArray<ArcGISGeometry>

A collection of geometries.

distances
ArcGISMutableArray<double>

The distance to buffer each geometry, expressed as a 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.

distanceUnit

The unit of measure for the distance.

maxDeviation

The maximum deviation between points.

curveType

The curve type to calculate.

unionResult

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 geodesic 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. Returns null on error.

Clip

static ArcGISGeometry Clip(ArcGISGeometry geometry, ArcGISEnvelope envelope)

Clips the given geometry with the envelope.

Since 1.0.0

Arguments
NameTypeSummary
geometry

A geometry object.

envelope

The envelope representing the area to clip.

Returns ArcGISGeometry

A geometry object that represents the given geometry with the desired area clipped out.

CombineExtents

static ArcGISEnvelope CombineExtents(ArcGISGeometry geometry1, ArcGISGeometry geometry2)

Returns the envelope of the two given geometries.

Since 1.0.0

Arguments
NameTypeSummary
geometry1

A geometry object.

geometry2

Another geometry object.

Returns ArcGISEnvelope

The maximum extents of the two given geometries, or null on error.

CombineExtents

static ArcGISEnvelope CombineExtents(ArcGISMutableArray<ArcGISGeometry> geometries)

Returns the envelope of geometries in the given collection.

Since 1.0.0

Arguments
NameTypeSummary
geometries
ArcGISMutableArray<ArcGISGeometry>

A collection of geometries.

Returns ArcGISEnvelope

The maximum extents of the geometries in the collection, or null on error.

Contains

static bool Contains(ArcGISGeometry geometry1, ArcGISGeometry geometry2)

Tests if geometry1 contains geometry2.

Since 1.0.0

Arguments
NameTypeSummary
geometry1

A geometry object.

geometry2

Another geometry object.

Returns bool

true if geometry1 contains geometry2, false otherwise.

ConvexHull

static ArcGISGeometry ConvexHull(ArcGISGeometry geometry)

Returns the minimum bounding geometry that completely encloses the given geometry.

Since 1.0.0

Arguments
NameTypeSummary
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)

Returns the convex hull for the geometries in the given collection.

Since 1.0.0

Arguments
NameTypeSummary
geometries
ArcGISMutableArray<ArcGISGeometry>

A collection of geometries.

merge

Return a single geometry that encloses all the geometries (true), or one enclosing geometry for each in the collection (false).

Returns ArcGISImmutableArray<ArcGISGeometry>

If merge is true, returns a single convex hull that encloses all the geometries in the collection as a single geometry in an array. If merge is false, returns the minimum bounding geometry that completely encloses each of the geometries in the given collection as an array of geometries. If geometries is empty, returns an empty array. Returns null on error.

CreatePointAlong

static ArcGISPoint CreatePointAlong(ArcGISPolyline polyline, double distance)

Return the point at the given distance along the line.

Since 1.0.0

Arguments
NameTypeSummary
polyline

A line.

distance

The distance along the line of the point to return, in the line's units.

Returns ArcGISPoint

the point at the given distance along the line. If 'distance' is less than or equal to zero, the point returned is coincident with the start of the line. If 'distance' is greater than or equal to the line's length, the point returned is coincident with the end of the line. If the line has multiple parts, and the distance falls exactly on a boundary between two parts, the returned point is coincident with either the end of one part or the start of the next--which is undetermined.

Crosses

static bool Crosses(ArcGISGeometry geometry1, ArcGISGeometry geometry2)

Tests if geometry1 crosses geometry2.

Since 1.0.0

Arguments
NameTypeSummary
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)

Cut the 'geometry' ArcGISGeometry with the 'cutter' ArcGISPolyline

Since 1.0.0

Arguments
NameTypeSummary
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
NameTypeSummary
geometry

A ArcGISEnvelope, ArcGISPolygon, or ArcGISPolyline geometry.

maxSegmentLength

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 geodesic curve.

Since 1.0.0

Arguments
NameTypeSummary
geometry

A geometry object.

maxSegmentLength

The maximum distance between vertices when the input geometry is densified, in the given linear units.

lengthUnit

The unit of measure for the maximum segment length. If null, meters are assumed.

curveType

The type of curve to calculate.

Returns ArcGISGeometry

The geodesic densified geometry.

Difference

static ArcGISGeometry Difference(ArcGISGeometry geometry1, ArcGISGeometry geometry2)

Constructs the set-theoretic difference between two geometries.

Since 1.0.0

Arguments
NameTypeSummary
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
NameTypeSummary
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)

Measures the simple planar distance between two geometries.

Since 1.0.0

Arguments
NameTypeSummary
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 system.

DistanceGeodetic

static ArcGISGeodeticDistanceResult DistanceGeodetic(ArcGISPoint point1, ArcGISPoint point2, ArcGISLinearUnit distanceUnit, ArcGISAngularUnit azimuthUnit, ArcGISGeodeticCurveType curveType)

Calculates the geodesic distance between the two points.

Since 1.0.0

Arguments
NameTypeSummary
point1

A point object.

point2

Another point object.

distanceUnit

The linear unit of measure for the returned results.

azimuthUnit

The angular unit of measure for the returned results.

curveType

The type of curve to calculate.

Returns ArcGISGeodeticDistanceResult

A structure containing the distance and the azimuth at both points for the geodesic curve that connects them.

EllipseGeodesic

static ArcGISGeometry EllipseGeodesic(ArcGISGeodesicEllipseParameters parameters)

Constructs a geodesic ellipse centered on a specific point.

Since 1.0.0

Arguments
NameTypeSummary
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
NameTypeSummary
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 using a polyline as the extender.

Since 1.0.0

Arguments
NameTypeSummary
polyline

The polyline to be extended.

extender

The polyline to extend to.

extendOptions

The flag for the type of extend operation to perform.

Returns ArcGISPolyline

The extended polyline. Returns null on error.

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. The line and point must have consistent spatial references.

Since 1.0.0

Arguments
NameTypeSummary
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
NameTypeSummary
geometry

A geometry object.

maxDeviation

The maximum distance that the generalized geometry can deviate from the original, in the same units as the geometry's spatial reference system.

removeDegenerateParts

If true, degenerate parts of the resulting geometry that are undesired for drawing are removed.

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
NameTypeSummary
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
NameTypeSummary
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.

Since 1.0.0

Arguments
NameTypeSummary
geometry1

A geometry object.

geometry2

Another geometry object.

Returns bool

True if the two geometries intersect, false otherwise.

IsSimple

static bool IsSimple(ArcGISGeometry geometry)

Gets a value indicating whether or not the geometry is simple.

Since 1.0.0

Arguments
NameTypeSummary
geometry

The geometry object.

Returns bool

True if the geometry object is simple.

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
NameTypeSummary
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
NameTypeSummary
geometry

A geometry object.

Returns double

The length of the given geometry.

LengthGeodetic

static double LengthGeodetic(ArcGISGeometry geometry, ArcGISLinearUnit lengthUnit, ArcGISGeodeticCurveType curveType)

Calculates the geodesic length of the geometry.

Since 1.0.0

Arguments
NameTypeSummary
geometry

A geometry object.

lengthUnit

The unit of measure for the returned value. If null, meters are assumed.

curveType

The type of curve to calculate.

Returns double

The geodesic length of the given geometry.

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 by a geodesic distance.

Since 1.0.0

Arguments
NameTypeSummary
pointCollection
ArcGISMutableArray<ArcGISPoint>

A ArcGISMutableArray<T> of ArcGISPoint geometries. Contents of the ArcGISMutableArray<T> are copied.

distance

The distance to move the points.

distanceUnit

The unit of measure for distance. If null, meters are assumed.

azimuth

The azimuth angle of the direction for the points.

azimuthUnit

The angular unit of measure for azimuth. If null, degrees are assumed.

curveType

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
NameTypeSummary
geometry

A geometry object.

point

The point of interest.

Returns ArcGISProximityResult

A 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 geodesic approximation of the input geometry.

Since 1.0.0

Arguments
NameTypeSummary
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.

maxDeviation

The maximum distance that the geodesic geometry can deviate from the original, in the units of the deviationUnit parameter.

deviationUnit

The unit of measure for the maxDeviation parameter. If null, the units of maxDeviation are assumed to be meters.

Returns ArcGISProximityResult

A 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 a ArcGISProximityResult that describes the nearest vertex in the input geometry to the input point.

Since 1.0.0

Arguments
NameTypeSummary
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)

Folds the geometry into a range of 360 degrees. This may be necessary when wrap around is enabled on the map.

Since 1.0.0

Arguments
NameTypeSummary
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
NameTypeSummary
geometry

A geometry object.

distance

The offset distance for the new geometry.

offsetType

The offset type the resulting geometry.

bevelRatio

The ratio used to produce a bevel join instead of a miter join (used only when the offset type is Miter).

flattenError

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
NameTypeSummary
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
NameTypeSummary
geometry

A geometry object.

spatialReference

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
NameTypeSummary
geometry

A geometry object.

outputSpatialReference

The spatial reference system to project to.

datumTransformation

The datum transformation that describes how coordinates are converted from one coordinate system to another.

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)

Test if the two geometries are related by the given relation.

Since 1.0.0

Arguments
NameTypeSummary
geometry1

A geometry object.

geometry2

Another geometry object.

relation

The DE-9IM string to be evaluated

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
NameTypeSummary
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
NameTypeSummary
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
NameTypeSummary
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
NameTypeSummary
geometry

The polygon or polyline to be reshaped.

reshaper

The single path polyline reshaper

Returns ArcGISMultipart

The reshaped polygon or polyline. Returns null on error.

SectorGeodesic

static ArcGISGeometry SectorGeodesic(ArcGISGeodesicSectorParameters parameters)

Constructs a geodesic sector defined by a geodesic arc and 2 radii.

Since 1.0.0

Arguments
NameTypeSummary
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
NameTypeSummary
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
NameTypeSummary
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
NameTypeSummary
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
NameTypeSummary
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
NameTypeSummary
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)

Test if the two geometries touch on their borders.

Since 1.0.0

Arguments
NameTypeSummary
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
NameTypeSummary
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
NameTypeSummary
geometries
ArcGISMutableArray<ArcGISGeometry>

A collection of geometries.

Returns ArcGISGeometry

The union of all the geometries in the given collection. Returns null on error.

Within

static bool Within(ArcGISGeometry geometry1, ArcGISGeometry geometry2)

Tests if geometry1 is within geometry2.

Since 1.0.0

Arguments
NameTypeSummary
geometry1

A geometry object.

geometry2

Another geometry object.

Returns bool

True if geometry1 is within geometry2, false otherwise.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.