Heim >Backend-Entwicklung >Python-Tutorial >Warum ist meine Geopy-Entfernungsberechnung ungenau?
Berechnung der Entfernung zwischen Punkten anhand von Breiten- und Längengrad
Benutzer haben versucht, die Formel zur Berechnung von Entfernungen basierend auf Breiten- und Längengrad zu implementieren sind auf Inkonsistenzen mit ihrem Code gestoßen. Die angegebene Formel zeigt vielversprechende Ergebnisse in einem Applet, aber die Anwendung derselben Formel im Python-Code führt zu falschen Abständen.
Der Grund für diese Diskrepanz liegt in der veralteten Natur der Vincenty-Abstandsberechnungsmethode. In GeoPy-Versionen vor 1.13 war die Vincenty-Distanz die Standardmethode zur Berechnung von Entfernungen, während in den Versionen 1.13 und höher geopy.distance.distance() als bevorzugte Methode eingeführt wurde.
Die Vincenty-Distanzmethode verwendet ellipsoide Modelle , wie WGS-84, die im Vergleich zur Haversinusformel, die eine kugelförmige Erde annimmt, genauere Ergebnisse liefern. Diese Annahme kann zu Fehlern von bis zu 0,5 % führen.
Um Entfernungen genau zu berechnen, sollten Benutzer ihre Implementierung der Vincenty-Entfernungsformel durch den folgenden Code ersetzen:
import geopy.distance coords_1 = (52.2296756, 21.0122287) coords_2 = (52.406374, 16.9251681) print(geopy.distance.geodesic(coords_1, coords_2).km)
Dieser Code wird Berechnen Sie den Abstand zwischen den beiden Punkten mithilfe des genaueren Ellipsoidmodells und geben Sie das Ergebnis in Kilometern zurück.
Das obige ist der detaillierte Inhalt vonWarum ist meine Geopy-Entfernungsberechnung ungenau?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!