17 votos

¿Cómo puedo encontrar el punto más lejano a partir de un conjunto de puntos existentes?

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

14voto

cjstehno Puntos 131

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

Distance map

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.

10voto

saint_groceon Puntos 2696

enter image description here

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.

1voto

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.

1voto

djq Puntos 7670

Usted podría utilizar un Costo Ponderado de la Distancia de la Función de identificar a qué distancia de cada célula en su trama es de todos los otros puntos.

-1voto

Ergec Puntos 204

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.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X