Heim >Backend-Entwicklung >Python-Tutorial >Warum ist meine Entfernungsberechnung für Breiten- und Längengrad falsch?
Entfernung mithilfe von Breiten- und Längengrad berechnen: Beheben eines Codierungsfehlers
Beim Versuch, die Formel zum Ermitteln von Entfernungen basierend auf Breiten- und Längengrad umzusetzen, Ein Benutzer ist auf ein unerwartetes Ergebnis gestoßen. Die im referenzierten Applet angegebene Formel funktionierte für die bereitgestellten Testpunkte korrekt. Der Code des Benutzers gab jedoch einen ungenauen Entfernungswert zurück.
Codeprüfung
Bei der Untersuchung des Codes wurde festgestellt, dass der Benutzer die veraltete Vincenty-Entfernungsberechnungsmethode verwendete , die in GeoPy Version 1.13 durch die genauere Funktion geopy.distance.distance() ersetzt wurde. Die Haversinus-Formel, die der Benutzercode verwendet hat, geht von einem kugelförmigen Erdmodell aus und kann Fehler von bis zu 0,5 % verursachen.
Verwendung von geopy.distance
Zur Lösung Um das Problem zu lösen, wird empfohlen, zur Berechnung der Entfernung auf die genauere Funktion geopy.distance.geodesic() umzusteigen. Diese Funktion nutzt Ellipsoidmodelle wie WGS-84 und liefert ein genaueres Ergebnis:
<code class="python">import geopy.distance coords_1 = (52.2296756, 21.0122287) coords_2 = (52.406374, 16.9251681) distance = geopy.distance.geodesic(coords_1, coords_2).km print(distance)</code>
Mit dem überarbeiteten Code wird die Entfernung zwischen den beiden Punkten genau mit 279,352 Kilometern berechnet.
Das obige ist der detaillierte Inhalt vonWarum ist meine Entfernungsberechnung für Breiten- und Längengrad falsch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!