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? Thanks Demetris
|
|
Kirk Kukendall'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 on another thread. Use spherical distances instead of Euclidean distances. Here is an example using five points, here given as (lat, lon):
On this spherical shortest distance map (which spans the entire globe from -180 to 180 degrees longitude and -90 to 90 degrees latitude) the points are shown with large red dots, the distances increase with brightness, and 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. |
|||||||||||
|
|
I've never tried this but it seems like this would work: Create a 3D voronoi diagram of the sphere. This resulting polygons will be roughly centered on the original existing (seed) points. Loop through each resulting vertex to find the one that is farthest from its closest existing point. This point should be the most remote point on the globe. |
|||||||
|
|
You could use a Cost-Weighted Distance Function to identify how far away every cell in your raster is from all other points. |
|||||||||||
|
|
As far as I know, this "Pole of Inaccessability" analysis has to be done iteratively. An iterative raster approach would be appropriate as long as you are looking at a small area with minimal distortion from projection. For each cell, compute the distance to all points, then take the minimum distance. The cell with the highest value is the pole. You can also use Euclidean Distance in Spatial Analyst to accomplish this. An iterative vector approach is more complicated. Garcia-Castellanos et al 2007 describe an iterative method based on a spherical earth. It appears that they have made their C code available online. I can imagine ways of doing this in Arc with buffers, but it would still iterative and slow. |
|||
|
|



