¿Cuál es la solución correcta (y la proyección del mapa) para calcular distancias entre puntos ubicados en todo el mundo?

11

Después de mi estudio sobre proyección de mapas, me di cuenta de que es muy difícil elegir una proyección que permita calcular simultáneamente las distancias entre una gran cantidad de puntos si estos puntos se encuentran en todo el mundo. Las proyecciones equidistantes solo permiten calcular la distancia entre un par de puntos. Entonces decidí usar la siguiente solución. Mi conjunto de datos se puede dividir en conjuntos de datos más pequeños:

  1. Territorio de los Estados Unidos;
  2. toda la EURASIA;
  3. El territorio que abarca el continente africano y Europa.

En ArcGIS 9.3 (licencia ArcInfo) proyecté cada conjunto de datos con la proyección Lambert Azimuthal Equal Area correctamente "centrada" para cada caso. Para cada conjunto de datos, cargué una nueva capa con el archivo de forma Indicatrix de Tissot y calculé las áreas de cada elipse. Consideré como "no distorsionado" (en cuanto al área y las distancias) todos los territorios sobre los cuales las áreas de elipses no difieren más del 5% de la elipse más cercana al centro de la proyección y cuando la forma de las elipses no difieren razonablemente de uno circular. Después de haber visto que mis puntos estaban encerrados en este territorio "no distorsionado", calculé la distancia del punto. ¿Crees que mi procedimiento fue razonablemente correcto o tienes algún consejo sobre una mejor proyección cartográfica para mi propósito?

e-falcon
fuente
1
Muchas gracias por las respuestas útiles! Encontré el paquete SDMTools, que se ejecuta bajo "R", para calcular fácilmente las distancias mediante el uso de la Fórmula Vincenty
e-falcon

Respuestas:

6

¿Por qué intentar proyectar los datos?

Como se mencionó en otras respuestas, hay matemáticas para calcular distancias en el espermatozoide (supongo que también hay en ArcGIS).

En PostGIS tienes dos opciones. Use el tipo de datos de geografía y puede usar todas esas funciones (capítulo 8.3). Tenga en cuenta que la función ST_Distance funciona contra el tipo de geografía. Su otra opción es usar el tipo de geometría y usar la función especial ST_Distance_Sphere o ST_Distance_Spheroid .

/ Nicklas

Nicklas Avén
fuente
4

Echa un vistazo a la fórmula de Haversine . Si buscas un poco en Google, puedes encontrar implementaciones en varios idiomas (Javascript, C #, Python ... etc.).

usuario890
fuente
1
Consulte gis.stackexchange.com/q/4906/664 en este sitio para obtener el código y un análisis detallado de esta fórmula.
whuber