Quelle est la bonne solution (et projection cartographique) pour calculer les distances entre des points situés dans le monde entier?

11

Après mon étude sur la projection cartographique, j'ai réalisé qu'il est très difficile de choisir une projection qui permet de calculer simultanément les distances entre beaucoup de points si ces points sont situés partout dans le monde. Les projections équidistantes ne permettent que de calculer la distance entre deux points. J'ai alors décidé d'utiliser la solution suivante. Mon ensemble de données peut être divisé en petits ensembles de données:

  1. Territoire des États-Unis;
  2. l'ensemble d'EURASIA;
  3. le territoire englobant le continent africain et l'Europe.

Dans ArcGIS 9.3 (licence ArcInfo), j'ai projeté chaque jeu de données avec la projection Lambert Azimuthal Equal Area correctement «centrée» pour chaque cas. Pour chaque jeu de données, j'ai chargé une nouvelle couche avec le fichier de formes Indicatrix de Tissot et calculé les zones de chaque ellipse. J'ai considéré comme "non déformé" (en ce qui concerne la zone et les distances) tous les territoires sur lesquels les zones des ellipses ne diffèrent pas de plus de 5% de l'ellipse la plus proche du centre de la projection et lorsque la forme des ellipses ne diffèrent pas raisonnablement d'une circulaire. Après avoir vu que mes points étaient enfermés dans ce territoire «non déformé», j'ai calculé la distance des points. Pensez-vous que ma procédure était raisonnablement correcte ou avez-vous des conseils sur une meilleure projection cartographique pour mon objectif?

e-faucon
la source
1
Merci beaucoup pour les réponses utiles! J'ai trouvé le package SDMTools, fonctionnant sous «R», pour calculer facilement les distances en utilisant la formule Vincenty
e-falcon

Réponses:

6

Pourquoi essayer de projeter les données?

Comme mentionné dans d'autres réponses, il existe des mathématiques pour calculer les distances sur la période (je suppose qu'il y en a aussi dans ArcGIS).

Dans PostGIS, vous avez deux choix. Utilisez le type de données géographiques et vous pouvez utiliser toutes ces fonctions (chapitre 8.3). Notez la fonction ST_Distance fonctionnant contre le type géographique. Votre autre option consiste à utiliser le type de géométrie et à utiliser la fonction spéciale ST_Distance_Sphere ou ST_Distance_Spheroid .

/ Nicklas

Nicklas Avén
la source
4

Découvrez la formule de Haversine . Si vous cherchez un peu sur Google, vous pouvez trouver des implémentations dans plusieurs langues (Javascript, C #, Python ... etc).

user890
la source
1
Voir gis.stackexchange.com/q/4906/664 sur ce site pour le code et une analyse détaillée de cette formule.
whuber