Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die Genauigkeit von geografischen Entfernungsberechnungen über die Haversinus-Formel hinaus verbessern?

Wie kann ich die Genauigkeit von geografischen Entfernungsberechnungen über die Haversinus-Formel hinaus verbessern?

Susan Sarandon
Susan SarandonOriginal
2024-11-05 11:00:02950Durchsuche

How can I improve the accuracy of geographical distance calculations beyond the haversine formula?

Geometrische Entfernungsberechnungen für Breiten- und Längengrade

Bei der Berechnung von Entfernungen auf der Grundlage geografischer Koordinaten ist die Verwendung der Haversine-Formel weit verbreitet. Es wird jedoch von einer kugelförmigen Erde ausgegangen, was zu Fehlern führen kann. Für genauere Berechnungen muss die ellipsoide Natur des Planeten berücksichtigt werden.

Obwohl die Haversinus-Formel im bereitgestellten Code korrekt implementiert ist, liegt das Problem in der Ungenauigkeit der Annahme. Es ist bekannt, dass die Haversinus-Formel Fehler von bis zu 0,5 % aufweist.

Als Lösung bietet die Python-Bibliothek GeoPy eine robuste Entfernungsberechnung mit dem Modul geopty.distance. Dieses Modul nutzt die Vincenty-Distanzformel, die Ellipsoidmodelle wie WGS-84 für höhere Präzision verwendet.

Um es in Ihren Code zu implementieren, führen Sie die folgenden Schritte aus:

  1. Importieren Sie die Geopy .distance-Modul.
  2. Definieren Sie die Koordinatentupel für Punkt 1 und Punkt 2.
  3. Verwenden Sie die Funktion geopy.distance.geodesic(), um den Abstand zwischen den Punkten zu berechnen.

Zum Beispiel:

<code class="python">import geopy.distance

coords_1 = (52.2296756, 21.0122287)
coords_2 = (52.406374, 16.9251681)

distance_km = geopy.distance.geodesic(coords_1, coords_2).km

print('Distance (in kilometers):', distance_km)</code>

Dieser Ansatz ermöglicht eine genauere Entfernungsberechnung im Vergleich zur Haversinus-Formel.

Das obige ist der detaillierte Inhalt vonWie kann ich die Genauigkeit von geografischen Entfernungsberechnungen über die Haversinus-Formel hinaus verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn