NearestVertex Method (GeometryEngine)
Finds the nearest vertex in the geometry to a specified point.
Parameters
- geometry
- The geometry.
- point
- The point to which the returned vertex will be nearest.
Return Value
ProximityResult.
ProximityResult.PointIndex is the index of the nearest vertex.
ProximityResult.SegmentIndex is null.
ProximityResult.PartIndex is the index of the part containing the nearest vertex.
Proximity.RightSide = false.
If either of the input geometries are empty, then ProximityResult.Distance = -1, ProximityResult.Point is empty, ProximityResult.PartIndex = -1, ProximityResult.PointIndex is null, and ProximityResult.SegmentIndex = null.
Nearest Point versus Nearest Vertex
SpatialReference sr = SpatialReferences.WGS84;
MapPoint pt = MapPointBuilderEx.CreateMapPoint(5, 5, sr);
List<Coordinate2D> coords = new List<Coordinate2D>()
{
new Coordinate2D(10, 1),
new Coordinate2D(10, -4),
new Coordinate2D(0, -4),
new Coordinate2D(0, 1),
new Coordinate2D(10, 1)
};
Polygon polygon = PolygonBuilderEx.CreatePolygon(coords);
// find the nearest point in the polygon geomtry to the pt
ProximityResult result = GeometryEngine.Instance.NearestPoint(polygon, pt);
// result.Point = 5, 1
// result.SegmentIndex = 3
// result.PartIndex = 0
// result.PointIndex = null
//result.Distance = 4
//result.RightSide = false
// find the nearest vertex in the polgyon geometry to the pt
result = GeometryEngine.Instance.NearestVertex(polygon, pt);
// result.Point = 10, 1
// result.PointIndex = 0
// result.SegmentIndex = null
// result.PartIndex = 0
// result.Distance = Math.Sqrt(41)
// result.RightSide = false
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.