Tengo un conjunto de puntos de un archivo shapefile y quiero encontrar (las coordenadas) de un nuevo punto con el que tendrá la mayor distancia posible de cada uno de los puntos existentes. Es eso posible? Si sí, ¿hay algún ejemplo de código VB? Gracias Demetris
Respuestas
¿Demasiados anuncios?Kirk Kuykendall la recomendación para la construcción de un esférico diagrama de Voronoi (polígonos de Thiessen) es buena, pero podría haber algunas técnicas de enganches para trabajar. En el ínterin, como alternativa, se puede aplicar la norma de trama solución como se describe en el otro hilo. Uso esférica distancias en lugar de distancias Euclídeas.
Aquí está un ejemplo con cinco puntos, aquí dada como (lat, lon):
82.7051 -145.256
60.3321 81.2881
-17.076 105.125
-38.792 -122.686
0.000 180.000
Este esférica de la distancia de mapa se extiende por el mundo de -180 a 180 grados de longitud horizontal y -90 a 90 grados de latitud verticalmente. Los puntos se muestran con grandes puntos rojos. Las distancias aumentan con el brillo. La aparente crestas deben ser porciones de grandes círculos. El pequeño punto negro cerca (-15.3268, -2.04352), marca el punto de máxima distancia de 11,227 km. (Las distancias se calculan en el ITRF00 elipsoidal dato.)
La resolución de esta cuadrícula es un grado. Para obtener una información más precisa de la solución, se puede hacer zoom en un punto (y en cualquier otro local de máxima con un lo suficientemente cerca de valor para el máximo global) y repita el cálculo en un pequeño pero de mayor resolución de la cuadrícula.
Nunca he probado esto, pero parece que esto iba a funcionar:
Crear un 3D diagrama de voronoi de la esfera. Este polígonos resultantes serán más o menos centrada en el original existente (semilla) puntos.
El bucle a través resultando cada uno de los vértices para encontrar el uno que es el más lejano de sus más cercanos punto existente. Este punto debe ser el punto más remoto del mundo.
Hasta donde yo sé, este "Polo de Inaccessability" el análisis tiene que hacerse de forma iterativa.
Un proceso iterativo de trama enfoque sería apropiado siempre y cuando usted está buscando en un área pequeña con un mínimo de distorsión de la proyección. Para cada celda, se calcula la distancia a todos los puntos, luego tomar la distancia mínima. La celda con el valor más alto es el polo. También puede utilizar la Distancia Euclídea en Spatial Analyst para lograr esto.
Un proceso iterativo de vector de enfoque es más complicado. García-Castellanos et al, 2007 describir un método iterativo basado en una tierra esférica. Parece que ellos han hecho su código de C disponible en línea. Puedo imaginar maneras de hacer esto en el Arco con buffers, pero aún así sería reiterativo y lento.
puede utilizar la Distancia del Punto (Análisis) La herramienta crea una tabla con las distancias entre dos conjuntos de puntos. si el radio de búsqueda predeterminado se utiliza, las distancias de todos los puntos de entrada a todos cerca de los puntos se calculan. La tabla de salida puede ser bastante grande. Por ejemplo, si la entrada y cerca de las características de las 1.000 puntos cada uno, a continuación, la tabla de salida puede contener un millón de registros.