Was ist die richtige Lösung (und Kartenprojektion), um Entfernungen zwischen Punkten auf der ganzen Welt zu berechnen?

11

Nach meinem Studium der Kartenprojektion wurde mir klar, dass es sehr schwierig ist, eine Projektion zu wählen, mit der die Entfernungen zwischen vielen Punkten gleichzeitig berechnet werden können, wenn sich diese Punkte auf der ganzen Welt befinden. Bei äquidistanten Projektionen kann nur der Abstand zwischen einigen Punkten berechnet werden. Dann habe ich mich für die folgende Lösung entschieden. Mein Datensatz kann in kleinere Datensätze aufgeteilt werden:

  1. Territorium der Vereinigten Staaten;
  2. das ganze EURASIA;
  3. das Gebiet, das den afrikanischen Kontinent und Europa umfasst.

In ArcGIS 9.3 (ArcInfo-Lizenz) habe ich jeden Datensatz mit der Lambert Azimuthal Equal Area-Projektion projiziert, die für jeden Fall richtig „zentriert“ ist. Für jeden Datensatz habe ich eine neue Ebene mit dem Indicatrix-Shapefile von Tissot geladen und die Flächen jeder Ellipse berechnet. Ich betrachtete alle Gebiete, in denen sich die Ellipsenflächen nicht mehr als 5% von der Ellipse unterscheiden, die dem Zentrum der Projektion am nächsten liegt, und als die Form der Ellipsen, als "nicht verzerrt" (in Bezug auf die Fläche und die Entfernungen) unterscheiden sich nicht vernünftigerweise von einem kreisförmigen. Nachdem ich gesehen hatte, dass meine Punkte in diesem „nicht verzerrten“ Gebiet eingeschlossen waren, berechnete ich die Punktentfernung. Denken Sie, dass mein Verfahren einigermaßen korrekt war, oder haben Sie Ratschläge zu einer besseren Kartenprojektion für meinen Zweck?

E-Falke
quelle
1
Vielen Dank für die nützlichen Antworten! Ich fand das Paket SDMTools, das unter "R" läuft, um Entfernungen einfach mit der Vincenty-Formel zu berechnen
e-falcon

Antworten:

6

Warum versuchen, die Daten zu projizieren?

Wie in anderen Antworten erwähnt, gibt es Mathematik, um Entfernungen in der Periode zu berechnen (ich denke, es gibt sie auch in ArcGIS).

In PostGIS haben Sie zwei Möglichkeiten. Verwenden Sie den Geografiedatentyp und Sie können alle diese Funktionen verwenden (Kapitel 8.3). Beachten Sie die ST_Distance- Funktion, die gegen den Geografietyp arbeitet. Sie können auch den Geometrietyp und die spezielle Funktion ST_Distance_Sphere oder ST_Distance_Spheroid verwenden.

/ Nicklas

Nicklas Avén
quelle
4

Schauen Sie sich Haversines Formel an. Wenn Sie ein bisschen googeln, können Sie Implementierungen in mehreren Sprachen finden (Javascript, C #, Python ... usw.).

user890
quelle
1
Code und eine detaillierte Analyse dieser Formel finden Sie unter gis.stackexchange.com/q/4906/664 auf dieser Site.
whuber