Moin !
Ich bastele gerade an einem Tool was mir von 2 gegebenen Punkten (GPS / WGS84) die Entfernung berechnet. Dazu habe ich eine Formel bekommen:
Zitat:
r = 6378137
lat1 = (49 + 26.133/60) * pi/180
lon1 = (10 + 18.773/60) * pi/180
lat2 = (51 + 29.867/60) * pi/180
lon2 = (8 + 43.177/60) * pi/180
2 * r * sqrt(asin(sin((lat1 - lat2) / 2)^2 + cos(lat1) * cos(lat2) * sin((lon1 - lon2) / 2)^2)) = 255792m
Das habe ich in meiner Anwendung umgesetzt:
Delphi-Quellcode:
lat1 := lat1 * pi / 180;
lat2 := lat2 * pi / 180;
lon1 := lon1 * pi / 180;
lon2 := lon2 * pi / 180;
Entfernung := 2 * 6378137 * sqrt(arcsin(sin(sqr(((lat1 - lat2) / 2)) + cos(lat1) * cos(lat2) * sqr(sin((lon1 - lon2) / 2)))));
Die Berechnung von Lat1 - lon2 passt. Nur in der Formel muss irgendwo ein Haken sein. Ich sollte nämlich 255792m rausbekommen, aber bei mir sind es 287579m.
Kann mir jemand sagen wo genau das Problem liegt?