ArcGISGeometryEngine
Namespace: Esri::GameEngine::Geometry
Class: Esri/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 |
---|---|---|
Area(const ArcGISGeometry&) | Calculates the area of the given geometry. | |
AreaGeodetic(const ArcGISGeometry&, const ArcGISAreaUnit&, ArcGISGeodeticCurveType) | Calculates the geodesic area of the given geometry. | |
AutoComplete(const ArcGISList<ArcGISPolygon>&, const ArcGISList<ArcGISPolyline>&) | ArcGISImmutableArray<ArcGISPolygon> | Fills the closed gaps between polygons using polygon boundaries and polylines as the boundary for the new polygons. |
Boundary(const ArcGISGeometry&) | Calculates the boundary of the given geometry. | |
Buffer(const ArcGISGeometry&, double) | Returns a geometry object that represents a buffer relative to the given geometry. | |
Buffer(const ArcGISList<ArcGISGeometry>&, const ArcGISList<double>&, bool) | ArcGISImmutableArray<ArcGISPolygon> | Creates and returns a buffer relative to the given geometries. |
BufferGeodetic(const ArcGISGeometry&, double, const ArcGISLinearUnit&, double, ArcGISGeodeticCurveType) | Calculates the geodesic buffer of a given geometry. | |
BufferGeodetic(const ArcGISList<ArcGISGeometry>&, const ArcGISList<double>&, const ArcGISLinearUnit&, double, ArcGISGeodeticCurveType, bool) | ArcGISImmutableArray<ArcGISPolygon> | Calculates the geodesic buffer of the geometries in a given collection. |
Clip(const ArcGISGeometry&, const ArcGISEnvelope&) | Clips the given geometry with the envelope. | |
CombineExtents(const ArcGISGeometry&, const ArcGISGeometry&) | Returns the envelope of the two given geometries. | |
CombineExtents(const ArcGISList<ArcGISGeometry>&) | Returns the envelope of geometries in the given collection. | |
Contains(const ArcGISGeometry&, const ArcGISGeometry&) | Tests if geometry1 contains geometry2. | |
ConvexHull(const ArcGISGeometry&) | Returns the minimum bounding geometry that completely encloses the given geometry. | |
ConvexHull(const ArcGISList<ArcGISGeometry>&, bool) | ArcGISImmutableArray<ArcGISGeometry> | Returns the convex hull for the geometries in the given collection. |
CreatePointAlong(const ArcGISPolyline&, double) | Return the point at the given distance along the line. | |
Crosses(const ArcGISGeometry&, const ArcGISGeometry&) | Tests if geometry1 crosses geometry2. | |
Cut(const ArcGISGeometry&, const ArcGISPolyline&) | ArcGISImmutableArray<ArcGISGeometry> | Cut the 'geometry' ArcGISGeometry with the 'cutter' ArcGISPolyline |
Densify(const ArcGISGeometry&, double) | Densifies the input geometry by inserting additional vertices along the geometry at an interval defined by maxSegmentLength. | |
DensifyGeodetic(const ArcGISGeometry&, double, const ArcGISLinearUnit&, ArcGISGeodeticCurveType) | Densifies the input geometry by creating additional vertices along the geometry, using a geodesic curve. | |
Difference(const ArcGISGeometry&, const ArcGISGeometry&) | Constructs the set-theoretic difference between two geometries. | |
Disjoint(const ArcGISGeometry&, const ArcGISGeometry&) | Tests if the two geometries are disjoint. | |
Distance(const ArcGISGeometry&, const ArcGISGeometry&) | Measures the simple planar distance between two geometries. | |
DistanceGeodetic(const ArcGISPoint&, const ArcGISPoint&, const ArcGISLinearUnit&, const ArcGISAngularUnit&, ArcGISGeodeticCurveType) | Calculates the geodesic distance between the two points. | |
Constructs a geodesic ellipse centered on a specific point. | ||
Equals(const ArcGISGeometry&, const ArcGISGeometry&) | Tests if two geometries are equal | |
Extend(const ArcGISPolyline&, const ArcGISPolyline&, ArcGISGeometryExtendOptions) | Extends a polyline using a polyline as the extender. | |
FractionAlong(const ArcGISPolyline&, const ArcGISPoint&, 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(const ArcGISGeometry&, double, bool) | Generalizes the given geometry by removing vertices based on the Douglas-Poiker algorithm. | |
Intersection(const ArcGISGeometry&, const ArcGISGeometry&) | Calculates the intersection of two geometries. | |
Intersections(const ArcGISGeometry&, const ArcGISGeometry&) | ArcGISImmutableArray<ArcGISGeometry> | Calculates the intersection of two geometries. |
Intersects(const ArcGISGeometry&, const ArcGISGeometry&) | Tests if two geometries intersect. | |
IsSimple(const ArcGISGeometry&) | Gets a value indicating whether or not the geometry is simple. | |
LabelPoint(const ArcGISPolygon&) | Calculates an interior point for the given polygon. This point can be used by clients to place a label for the polygon. | |
Length(const ArcGISGeometry&) | Calculates the length of the given geometry. | |
LengthGeodetic(const ArcGISGeometry&, const ArcGISLinearUnit&, ArcGISGeodeticCurveType) | Calculates the geodesic length of the geometry. | |
MoveGeodetic(const ArcGISList<ArcGISPoint>&, double, const ArcGISLinearUnit&, double, const ArcGISAngularUnit&, ArcGISGeodeticCurveType) | ArcGISImmutableArray<ArcGISPoint> | Moves each point in the point collection by a geodesic distance. |
NearestCoordinate(const ArcGISGeometry&, const ArcGISPoint&) | Determines the nearest point in the input geometry to the input point using a simple planar measurement. | |
NearestCoordinateGeodetic(const ArcGISGeometry&, const ArcGISPoint&, double, const ArcGISLinearUnit&) | Determines the nearest point in the input geometry to the input point, by using a shape preserving geodesic approximation of the input geometry. | |
NearestVertex(const ArcGISGeometry&, const ArcGISPoint&) | Returns a ArcGISProximityResult that describes the nearest vertex in the input geometry to the input point. | |
Folds the geometry into a range of 360 degrees. This may be necessary when wrap around is enabled on the map. | ||
Offset(const ArcGISGeometry&, double, ArcGISGeometryOffsetType, double, double) | Creates an offset version of the input geometry. | |
Overlaps(const ArcGISGeometry&, const ArcGISGeometry&) | Tests if two geometries overlap. | |
Project(const ArcGISGeometry&, const ArcGISSpatialReference&) | Projects the given geometry from its current spatial reference system into the given spatial reference system. | |
Project(const ArcGISGeometry&, const ArcGISSpatialReference&, const ArcGISDatumTransformation&) | Projects the given geometry from its current spatial reference system into the given output spatial reference system, applying the datum transformation provided. | |
Relate(const ArcGISGeometry&, const ArcGISGeometry&, const FString&) | Test if the two geometries are related by the given relation. | |
RemoveM(const ArcGISGeometry&) | Return a copy of the given geometry with its m-values removed. | |
RemoveZ(const ArcGISGeometry&) | Return a copy of the given geometry with its z-coordinate removed. | |
RemoveZAndM(const ArcGISGeometry&) | Return a copy of the given geometry with its z-coordinates and m-values removed. | |
Reshape(const ArcGISMultipart&, const ArcGISPolyline&) | Reshape polygons or polylines with a single path polyline. | |
Constructs a geodesic sector defined by a geodesic arc and 2 radii. | ||
SetM(const ArcGISGeometry&, double) | Return a copy of a geometry with the supplied m-value. | |
SetZ(const ArcGISGeometry&, double) | Return a copy of a geometry with the supplied z-coordinate. | |
SetZAndM(const ArcGISGeometry&, double, double) | Return a copy of a geometry with the supplied z-coordinate and m-value. | |
Simplify(const ArcGISGeometry&) | Simplifies the given geometry to make it topologically consistent according to its geometry type. | |
SymmetricDifference(const ArcGISGeometry&, const ArcGISGeometry&) | Calculates the symmetric difference (exclusive or) of the two geometries. | |
Touches(const ArcGISGeometry&, const ArcGISGeometry&) | Test if the two geometries touch on their borders. | |
Union(const ArcGISGeometry&, const ArcGISGeometry&) | Calculates the union of the two geometries. | |
Union(const ArcGISList<ArcGISGeometry>&) | Calculates the union of a collection of geometries | |
Within(const ArcGISGeometry&, const ArcGISGeometry&) | Tests if geometry1 is within geometry2. |
Area
static double Area(const ArcGISGeometry& geometry)
Calculates the area of the given geometry.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | 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(const ArcGISGeometry& geometry, const ArcGISAreaUnit& unit, ArcGISGeodeticCurveType curveType)
Calculates the geodesic area of the given geometry.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
unit | Yes | The unit of measure for the return value. If null, meters squared are assumed. | |
curve | No | The type of curve to calculate. |
Returns double
The calculated geodesic area in the requested unit.
AutoComplete
static ArcGISImmutableArray<ArcGISPolygon> AutoComplete(const ArcGISList<ArcGISPolygon>& existingBoundaries, const ArcGISList<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 | Const | Summary |
---|---|---|---|
existing | ArcGISList<ArcGISPolygon> | Yes | The polygons. |
new | ArcGISList<ArcGISPolyline> | Yes | 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(const ArcGISGeometry& geometry)
Calculates the boundary of the given geometry.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. |
Returns ArcGISGeometry
The boundary of the given geometry.
Buffer
static ArcGISPolygon Buffer(const ArcGISGeometry& geometry, double distance)
Returns a geometry object that represents a buffer relative to the given geometry.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
distance | No | 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(const ArcGISList<ArcGISGeometry>& geometries, const ArcGISList<double>& distances, bool unionResult)
Creates and returns a buffer relative to the given geometries.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometries | ArcGISList<ArcGISGeometry> | Yes | A collection of geometries. |
distances | ArcGISList<double> | Yes | The distance to buffer each geometry, expressed as a ArcGISList<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. |
union | No | 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(const ArcGISGeometry& geometry, double distance, const ArcGISLinearUnit& distanceUnit, double maxDeviation, ArcGISGeodeticCurveType curveType)
Calculates the geodesic buffer of a given geometry.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
distance | No | The distance to buffer. | |
distance | Yes | The unit of measure for the distance. | |
max | No | The maximum deviation between points. | |
curve | No | The curve type to calculate. |
Returns ArcGISPolygon
The geodesic buffer.
BufferGeodetic
static ArcGISImmutableArray<ArcGISPolygon> BufferGeodetic(const ArcGISList<ArcGISGeometry>& geometries, const ArcGISList<double>& distances, const ArcGISLinearUnit& distanceUnit, double maxDeviation, ArcGISGeodeticCurveType curveType, bool unionResult)
Calculates the geodesic buffer of the geometries in a given collection.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometries | ArcGISList<ArcGISGeometry> | Yes | A collection of geometries. |
distances | ArcGISList<double> | Yes | The distance to buffer each geometry, expressed as a ArcGISList<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 | Yes | The unit of measure for the distance. | |
max | No | The maximum deviation between points. | |
curve | No | The curve type to calculate. | |
union | No | 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(const ArcGISGeometry& geometry, const ArcGISEnvelope& envelope)
Clips the given geometry with the envelope.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
envelope | Yes | 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(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Returns the envelope of the two given geometries.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns ArcGISEnvelope
The maximum extents of the two given geometries, or null on error.
CombineExtents
static ArcGISEnvelope CombineExtents(const ArcGISList<ArcGISGeometry>& geometries)
Returns the envelope of geometries in the given collection.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometries | ArcGISList<ArcGISGeometry> | Yes | A collection of geometries. |
Returns ArcGISEnvelope
The maximum extents of the geometries in the collection, or null on error.
Contains
static bool Contains(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Tests if geometry1 contains geometry2.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns bool
true if geometry1 contains geometry2, false otherwise.
ConvexHull
static ArcGISGeometry ConvexHull(const ArcGISGeometry& geometry)
Returns the minimum bounding geometry that completely encloses the given geometry.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. |
Returns ArcGISGeometry
The minimum bounding geometry that completely encloses the given geometry.
ConvexHull
static ArcGISImmutableArray<ArcGISGeometry> ConvexHull(const ArcGISList<ArcGISGeometry>& geometries, bool merge)
Returns the convex hull for the geometries in the given collection.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometries | ArcGISList<ArcGISGeometry> | Yes | A collection of geometries. |
merge | No | 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(const ArcGISPolyline& polyline, double distance)
Return the point at the given distance along the line.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
polyline | Yes | A line. | |
distance | No | 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(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Tests if geometry1 crosses geometry2.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns bool
true if geometry1 crosses geometry2, false otherwise.
Cut
static ArcGISImmutableArray<ArcGISGeometry> Cut(const ArcGISGeometry& geometry, const ArcGISPolyline& cutter)
Cut the 'geometry' ArcGISGeometry with the 'cutter' ArcGISPolyline
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | The input ArcGISGeometry to be cut. | |
cutter | Yes | 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(const 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 | Const | Summary |
---|---|---|---|
geometry | Yes | A ArcGISEnvelope, ArcGISPolygon, or ArcGISPolyline geometry. | |
max | No | 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(const ArcGISGeometry& geometry, double maxSegmentLength, const ArcGISLinearUnit& lengthUnit, ArcGISGeodeticCurveType curveType)
Densifies the input geometry by creating additional vertices along the geometry, using a geodesic curve.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
max | No | The maximum distance between vertices when the input geometry is densified, in the given linear units. | |
length | Yes | The unit of measure for the maximum segment length. If null, meters are assumed. | |
curve | No | The type of curve to calculate. |
Returns ArcGISGeometry
The geodesic densified geometry.
Difference
static ArcGISGeometry Difference(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Constructs the set-theoretic difference between two geometries.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | 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(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Tests if the two geometries are disjoint.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns bool
True if the two geometries are disjoint, false otherwise.
Distance
static double Distance(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Measures the simple planar distance between two geometries.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | 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(const ArcGISPoint& point1, const ArcGISPoint& point2, const ArcGISLinearUnit& distanceUnit, const ArcGISAngularUnit& azimuthUnit, ArcGISGeodeticCurveType curveType)
Calculates the geodesic distance between the two points.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
point1 | Yes | A point object. | |
point2 | Yes | Another point object. | |
distance | Yes | The linear unit of measure for the returned results. | |
azimuth | Yes | The angular unit of measure for the returned results. | |
curve | No | 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(const ArcGISGeodesicEllipseParameters& parameters)
Constructs a geodesic ellipse centered on a specific point.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
parameters | Yes | Various parameters needed to construct the ellipse. |
Returns ArcGISGeometry
The geodesic ellipse described by the parameters.
Equals
static bool Equals(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Tests if two geometries are equal
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns bool
True if the two geometries are equal, false otherwise.
Extend
static ArcGISPolyline Extend(const ArcGISPolyline& polyline, const ArcGISPolyline& extender, ArcGISGeometryExtendOptions extendOptions)
Extends a polyline using a polyline as the extender.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
polyline | Yes | The polyline to be extended. | |
extender | Yes | The polyline to extend to. | |
extend | No | The flag for the type of extend operation to perform. |
Returns ArcGISPolyline
The extended polyline. Returns null on error.
FractionAlong
static double FractionAlong(const ArcGISPolyline& line, const 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
Name | Type | Const | Summary |
---|---|---|---|
line | Yes | The line to locate the point's distance along its length. | |
point | Yes | The point to locate. | |
tolerance | Yes | 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(const 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 | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
max | No | The maximum distance that the generalized geometry can deviate from the original, in the same units as the geometry's spatial reference system. | |
remove | No | 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(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Calculates the intersection of two geometries.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns ArcGISGeometry
A geometry object that represents the intersection of the given geometries.
Intersections
static ArcGISImmutableArray<ArcGISGeometry> Intersections(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Calculates the intersection of two geometries.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns ArcGISImmutableArray<ArcGISGeometry>
A collection of geometry objects that represent the intersection of the given geometries.
Intersects
static bool Intersects(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Tests if two geometries intersect.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns bool
True if the two geometries intersect, false otherwise.
IsSimple
static bool IsSimple(const ArcGISGeometry& geometry)
Gets a value indicating whether or not the geometry is simple.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | The geometry object. |
Returns bool
True if the geometry object is simple.
LabelPoint
static ArcGISPoint LabelPoint(const 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 | Const | Summary |
---|---|---|---|
polygon | Yes | A polygon object. |
Returns ArcGISPoint
A geometry object that represents the intersection of the given geometries.
Length
static double Length(const ArcGISGeometry& geometry)
Calculates the length of the given geometry.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. |
Returns double
The length of the given geometry.
LengthGeodetic
static double LengthGeodetic(const ArcGISGeometry& geometry, const ArcGISLinearUnit& lengthUnit, ArcGISGeodeticCurveType curveType)
Calculates the geodesic length of the geometry.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
length | Yes | The unit of measure for the returned value. If null, meters are assumed. | |
curve | No | The type of curve to calculate. |
Returns double
The geodesic length of the given geometry.
MoveGeodetic
static ArcGISImmutableArray<ArcGISPoint> MoveGeodetic(const ArcGISList<ArcGISPoint>& pointCollection, double distance, const ArcGISLinearUnit& distanceUnit, double azimuth, const ArcGISAngularUnit& azimuthUnit, ArcGISGeodeticCurveType curveType)
Moves each point in the point collection by a geodesic distance.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
point | ArcGISList<ArcGISPoint> | Yes | A ArcGISList<T> of ArcGISPoint geometries. Contents of the ArcGISList<T> are copied. |
distance | No | The distance to move the points. | |
distance | Yes | The unit of measure for distance. If null, meters are assumed. | |
azimuth | No | The azimuth angle of the direction for the points. | |
azimuth | Yes | The angular unit of measure for azimuth. If null, degrees are assumed. | |
curve | No | 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(const ArcGISGeometry& geometry, const 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 | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
point | Yes | 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(const ArcGISGeometry& geometry, const ArcGISPoint& point, double maxDeviation, const 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
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object on which to calculate the nearest coordinate to the point parameter. | |
point | Yes | The point from which to calculate the nearest coordinate on the geometry parameter. | |
max | No | The maximum distance that the geodesic geometry can deviate from the original, in the units of the deviationUnit parameter. | |
deviation | Yes | 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(const ArcGISGeometry& geometry, const ArcGISPoint& point)
Returns a ArcGISProximityResult that describes the nearest vertex in the input geometry to the input point.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
point | Yes | The point of interest. |
Returns ArcGISProximityResult
A struct containing the results of the operation.
NormalizeCentralMeridian
static ArcGISGeometry NormalizeCentralMeridian(const 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
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. |
Returns ArcGISGeometry
The normalized geometry.
Offset
static ArcGISGeometry Offset(const 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 | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
distance | No | The offset distance for the new geometry. | |
offset | No | The offset type the resulting geometry. | |
bevel | No | The ratio used to produce a bevel join instead of a miter join (used only when the offset type is Miter). | |
flatten | No | 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(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Tests if two geometries overlap.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns bool
True if the two geometries overlap, false otherwise.
Project
static ArcGISGeometry Project(const ArcGISGeometry& geometry, const 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 | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
spatial | Yes | 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(const ArcGISGeometry& geometry, const ArcGISSpatialReference& outputSpatialReference, const 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 | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. | |
output | Yes | The spatial reference system to project to. | |
datum | Yes | 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(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2, const FString& relation)
Test if the two geometries are related by the given relation.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. | |
relation | Yes | The DE-9IM string to be evaluated |
Returns bool
True if the two geometries have the given relationship, false otherwise.
RemoveM
static ArcGISGeometry RemoveM(const ArcGISGeometry& geometry)
Return a copy of the given geometry with its m-values removed.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry. |
Returns ArcGISGeometry
A copy of the given geometry with its m-values removed.
RemoveZ
static ArcGISGeometry RemoveZ(const ArcGISGeometry& geometry)
Return a copy of the given geometry with its z-coordinate removed.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry. |
Returns ArcGISGeometry
A copy of the given geometry with its z-coordinates removed.
RemoveZAndM
static ArcGISGeometry RemoveZAndM(const ArcGISGeometry& geometry)
Return a copy of the given geometry with its z-coordinates and m-values removed.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry. |
Returns ArcGISGeometry
A copy of the given geometry with both its z-coordinates and m-values removed.
Reshape
static ArcGISMultipart Reshape(const ArcGISMultipart& geometry, const ArcGISPolyline& reshaper)
Reshape polygons or polylines with a single path polyline.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | The polygon or polyline to be reshaped. | |
reshaper | Yes | The single path polyline reshaper |
Returns ArcGISMultipart
The reshaped polygon or polyline. Returns null on error.
SectorGeodesic
static ArcGISGeometry SectorGeodesic(const ArcGISGeodesicSectorParameters& parameters)
Constructs a geodesic sector defined by a geodesic arc and 2 radii.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
parameters | Yes | Specifies the parameters for constructing the sector. |
Returns ArcGISGeometry
A geometry representing the geodesic sector.
SetM
static ArcGISGeometry SetM(const ArcGISGeometry& geometry, double m)
Return a copy of a geometry with the supplied m-value.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry. | |
m | No | The m-value. |
Returns ArcGISGeometry
A copy of the given geometry with its m-values set to the supplied value.
SetZ
static ArcGISGeometry SetZ(const ArcGISGeometry& geometry, double z)
Return a copy of a geometry with the supplied z-coordinate.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry. | |
z | No | The z-coordinate. |
Returns ArcGISGeometry
A copy of the given geometry with its z-coordinates set to the supplied value.
SetZAndM
static ArcGISGeometry SetZAndM(const 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 | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry. | |
z | No | The z-coordinate. | |
m | No | 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(const ArcGISGeometry& geometry)
Simplifies the given geometry to make it topologically consistent according to its geometry type.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry | Yes | A geometry object. |
Returns ArcGISGeometry
The simplified geometry.
SymmetricDifference
static ArcGISGeometry SymmetricDifference(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Calculates the symmetric difference (exclusive or) of the two geometries.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns ArcGISGeometry
The symmetric difference of the two geometries.
Touches
static bool Touches(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Test if the two geometries touch on their borders.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns bool
True if the two geometries touch, false otherwise.
Union
static ArcGISGeometry Union(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Calculates the union of the two geometries.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns ArcGISGeometry
The union of the two geometries.
Union
static ArcGISGeometry Union(const ArcGISList<ArcGISGeometry>& geometries)
Calculates the union of a collection of geometries
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometries | ArcGISList<ArcGISGeometry> | Yes | A collection of geometries. |
Returns ArcGISGeometry
The union of all the geometries in the given collection. Returns null on error.
Within
static bool Within(const ArcGISGeometry& geometry1, const ArcGISGeometry& geometry2)
Tests if geometry1 is within geometry2.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
geometry1 | Yes | A geometry object. | |
geometry2 | Yes | Another geometry object. |
Returns bool
True if geometry1 is within geometry2, false otherwise.