Entfernungsberechnung < Analysis < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 13:10 Fr 02.09.2005 | Autor: | traut |
Hallo,
wie kann man die Entfernung zwischen zwei Geo-Koordinaten aus Laengen- und Breitengrad berechnen?
1) arc cos
Die typische Formel lautet hier wohl
[mm]
x = r * \arccos (\sin lat_a * \sin lat_b + \cos lat_a * \cos lat_b * \cos (lon_b - lon_a) )
[/mm]
r: Erdradius, z.B. r = 6380 km hierzulande (ca. 6336 -- 6399 km)
Die Formel isr recht universell, hat aber bei geringen Entfernungen schnell mal Genauigkeitsfehler durch die begrenzte Rechneraufloesung.
Wie kann man die Entfernung aber ganz ohne Verfuegbarkeit der arc cos-Funktion berechnen?
2) Pythagoras
... der einfache Pythagoras waere natuerlich der erste Kandidat:
[mm]
z = \sqrt{(lat_b - lat_a)^2 + (lon_b - lon_a)^2}
[/mm]
Mit entsprechenden Fitparametern fuer lat und lon kommt man damit kleinraeumig wohl auch auf brauchbare Werte
3) Haversine-Formel
[mm]
dlon = lon_b - lon_a
[/mm]
[mm]
dlat = lat_b - lat_a
[/mm]
[mm]
a = (\sin(\frac{dlat}{2}))^2 + \cos(lat_a) * \cos(lat_b) * (\sin(\frac{dlon}{2}))^2
[/mm]
[mm]
c = 2 * \arcsin(\operatorname{min}(1, \sqrt a))
[/mm]
[mm]
d = r * c
[/mm]
Bei weit auseinander liegenden Punkten kommen ueber den sinus ein paar Rundungsfehler herein. Ansonsten ist die Formel vermutlich gut geeignet?
Fuer weit auseinander liegende Punkte laesst sich die Formel auch vereinfachen auf
[mm]
c = 2 * \arctan(\frac{ \sqrt a}{\sqrt {1-a}} )
[/mm]
(atan2-Funktion)
4) nahe der Polkappen laesst sich auch so rechnen:
[mm]
a = \pi \frac 2 - lat_a
[/mm]
[mm]
b = \pi \frac 2 - lat_b
[/mm]
[mm]
c = \sqrt {a^2 + b^2 - 2 * a * b * cos(lon_b - lon_a)}
[/mm]
[mm]
d = r * c
[/mm]
Laesst sich die erste Formel mit [mm]\arccos[/mm] irgendwie umformen, dass man nur mit sin, cos, tan und arc tan auskaeme?
Ich vermute, dies waere die sinnvollste Alternative!?
Newbie-Disclaimer: Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:52 Fr 02.09.2005 | Autor: | traut |
Eine einfache Loesung waere wohl die Umwandlung des arc cos in
[mm] \arccos (x) = {\pi \over 2} - \arctan ( {x \over {\sqrt {1-x^2} }})[/mm]
mit Sonderbehandlung
[mm] \arccos (1) = 0[/mm]
[mm] \arccos (-1) = \pi[/mm]
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:26 Fr 16.09.2005 | Autor: | Stefan |
Hallo!
Mit dieser Mitteilung ändere ich den Status der (überfälligen) Frage, auf die zudem bereits ohne Gegenreaktion reagiert wurde.
Viele Grüße
Stefan
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 01:37 Di 20.09.2005 | Autor: | Marc |
Hallo Stefan,
> Mit dieser Mitteilung ändere ich den Status der
> (überfälligen) Frage, auf die zudem bereits ohne
> Gegenreaktion reagiert wurde.
Ich würde ganz gerne alle flüchtigen Moderationsaktivitäten und -anweisungen ganz aus dem Forum heraushalten, da sie wirklich nur für den Augenblick Gültigkeit haben, aber trotzdem für immer ohne Informationsgehalt sichtbar im Forum bzw. --selbst beim "Löschen" des Artikels-- in der Datenbank bleiben.
Gleichzeitig begrüße ich natürlich jedes moderierende Engagement und bin dir auch sehr dankbar für deines, ich würde mir nur wünschen, wenn es sich in unserer extra dafür geschaffenen Rolle des Moderators organisieren würde.
Viele Grüße,
Marc
|
|
|
|