[GIS] How to find the farthest point from a set of existing points

arcgis-10.0arcobjectsvb.netvba

I have a set of points as a shapefile and I want to find (the coordinates) of a new point which will have the longest possible distance from each of the existing points. Is that possible? If yes, is there any sample VB code?

Best Answer

Kirk Kuykendall's recommendation to construct a spherical Voronoi diagram (Thiessen polygons) is a good one, but might have some technical hitches to work out. In the meantime, as an alternative, one can apply the standard raster solution as described in another thread. Use spherical distances instead of Euclidean distances.

Here is an example using five points, here given as (lat, lon):

 82.7051   -145.256
 60.3321     81.2881
-17.076     105.125
-38.792    -122.686
  0.000     180.000

Distance map

This spherical distance map spans the globe from -180 to 180 degrees longitude horizontally and -90 to 90 degrees latitude vertically. The points are shown with large red dots. The distances increase with brightness. The apparent ridges must be portions of great circles. The small black dot near (-15.3268, -2.04352) marks the point of maximum distance of 11,227 km. (Distances were computed in the ITRF00 ellipsoidal datum.)

The resolution of this grid is one degree. To get a more precise solution, one can zoom into such a point (and into any other local maximum with a sufficiently close value to the global maximum) and repeat the calculation on a smaller but higher-resolution grid.