NearestCoordinate throws NotImplementedException

87
1
10-13-2019 03:58 PM
Highlighted
New Contributor

GeometryEngine.NearestCoordinate(envelope, mapPoint) throws a NotImplementedException.

This is definitely a bug, as the documentation doesn't mention it: GeometryEngine.NearestCoordinate Method 

The fix is to convert the Envelope to a Polygon:

private static Polygon EnvelopeToPolygon(Envelope envelope)
{
    return new Polygon(new MapPoint[]
    {
        new MapPoint(envelope.XMin, envelope.YMin, envelope.SpatialReference),
        new MapPoint(envelope.XMax, envelope.YMin, envelope.SpatialReference),
        new MapPoint(envelope.XMax, envelope.YMax, envelope.SpatialReference),
        new MapPoint(envelope.XMin, envelope.YMax, envelope.SpatialReference)
    });
}

It really should be implemented, as it's just a few lines of code.

Reply
0 Kudos
1 Reply
Highlighted
Occasional Contributor III

GeometryEngine.NearestCoordinate is not implemented for Envelope. It is as expected because Envelope is not a feature geometry. You are on the right track to get around this limitation by converting envelope to a polygon.

But yes, this should definitely be documented. I have raised an issue to update the documentation to include this information.

Reply
0 Kudos