ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Geometry Namespace / GeometryEngine Class / NearestVertex Method
The geometry.
The point to which the returned vertex will be nearest.
Example

In This Topic
    NearestVertex Method (GeometryEngine)
    In This Topic
    Finds the nearest vertex in the geometry to a specified point.
    Syntax
    public ProximityResult NearestVertex( 
       Geometry geometry,
       MapPoint point
    )
    Public Function NearestVertex( _
       ByVal geometry As Geometry, _
       ByVal point As MapPoint _
    ) As ProximityResult

    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.

    Exceptions
    ExceptionDescription
    Either geometry or point or both are null or empty.
    The method is not implemented for GeometryBag.
    Example
    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
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also