Finden Abstand zwischen zwei Koordinaten im Ellipsoid?

18

Ich habe zwei Sätze von Breiten- und Längengraden.

Wie finde ich den Abstand zwischen den beiden Orten, wenn ich annehme, dass die Erde ein perfektes Ellipsoid ist (mit einer Exzentrizität von 0,0167)?

Jon Bringhurst
quelle

Antworten:

16

Ich würde das Auschecken empfehlen:
Sphärisch: http://www.movable-type.co.uk/scripts/latlong.html
Great-Circle: http://www.movable-type.co.uk/scripts/gis-faq -5.1.html

Wallbasher
quelle
1
Die Formeln auf dieser Seite scheinen die Exzentrizität zu ignorieren. Sie gehen davon aus, dass die Erde eine Kugel und kein Ellipsoid ist.
Jon Bringhurst
Früher habe ich immer eine Bibliothek verwendet, deren Abstände zwischen bestimmten Lat-Long-Punkten bekannt waren, und dann eine Mittelwertbildung durchgeführt, um den Abstand unbekannter Punkte zu berechnen. Ich werde ein paar Leute danach fragen.
Wallbasher
Ah, der zweite Link scheint die richtige Formel zu haben. Vielen Dank!
Jon Bringhurst
1
Danke für deine Antwort @Wallbasher. Es wäre jedoch am besten, wenn die Antworten für sich allein stehen könnten. Es wäre sehr hilfreich, wenn Sie auch die entsprechende Formel mit Ihrer Antwort posten würden.
RK
7

Sie kennen also Ihre beiden Breiten- und Längengrade

Sie können die kartesischen Koordinaten für jedes berechnen:

xa = (Cos(thisLat)) * (Cos(thisLong));
ya = (Cos(thisLat)) * (Sin(thisLong));
za = (Sin(thisLat));

xb = (Cos(otherLat)) * (Cos(otherLong));
yb = (Cos(otherLat)) * (Sin(otherLong));
zb = (Sin(otherLat));

Und dann berechnen Sie den Großkreisabstand zwischen den beiden mit:

MeanRadius * Acos(xa * xb + ya * yb + za * zb);

Dieser vereinfachte Ansatz ermöglicht die Vorberechnung der x-, y- und z-Werte, die in einer Datenbank für effiziente Abfragen "Punkte innerhalb von x Meilen" gespeichert werden können.

Dies setzt natürlich eine perfekte Kugel voraus, und die Erde ist nicht einmal ein perfektes Elipsoid, weshalb die Genauigkeit nur wenige Meter betragen wird.

Rowland Shaw
quelle
1
Ich wollte auch auf die "perfekte Kugel" hinweisen. Sie sollten sich darüber im Klaren sein, dass diese Methode Ihnen je nach Standort auf dem Globus unterschiedliche Genauigkeitsgrade bietet.
TroutSlayer
@TrotuSlayer ist im Allgemeinen für die meisten Anwendungen ausreichend und es gibt immer einen Kompromiss zwischen Geschwindigkeit und Genauigkeit. Wenn Sie genauer sein müssen, ist es an der Zeit, das Rad herauszunehmen oder die Annahme zu treffen, dass die Erde für Ihr Gebiet flach ist und 2D-Entfernungen ausreichen.
Rowland Shaw
1

Auf der Seite "Koordinatenrechner und Entfernungsmesser" des GPS Visualizers finden Sie eine Reihe nützlicher Tools . Einer von ihnen berechnet den Abstand zwischen zwei Punkten. Es besteht die Möglichkeit, die Punkte auf der Karte mit dem angezeigten Großkreis zu zeichnen sowie ein Profil zu zeichnen und die Daten zu exportieren.

Fezter
quelle