Heim > Backend-Entwicklung > Python-Tutorial > Wie berechnet man die Entfernung und Peilung zwischen zwei GPS-Punkten mithilfe der Haversine-Formel von Python?

Wie berechnet man die Entfernung und Peilung zwischen zwei GPS-Punkten mithilfe der Haversine-Formel von Python?

DDD
Freigeben: 2024-11-30 09:59:10
Original
671 Leute haben es durchsucht

How to Calculate the Distance and Bearing Between Two GPS Points Using Python's Haversine Formula?

So berechnen Sie Peilung und Entfernung zwischen zwei GPS-Punkten mithilfe der Haversine-Formel in Python

Die Haversine-Formel ist eine mathematische Gleichung zur Berechnung der Großkreisabstand zwischen zwei Punkten auf einer Kugel. Im Zusammenhang mit GPS kann diese Formel verwendet werden, um sowohl die Entfernung als auch die Peilung zwischen zwei GPS-Koordinaten zu bestimmen.

Schritt 1: Definieren der Funktion

from math import radians, cos, sin, asin, sqrt

def haversine(lon1, lat1, lon2, lat2):
    """
    Calculate the great circle distance in kilometers between two points 
    on the earth (specified in decimal degrees)
    """
    # convert decimal degrees to radians 
    lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])

    # haversine formula 
    dlon = lon2 - lon1 
    dlat = lat2 - lat1 
    a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
    c = 2 * asin(sqrt(a)) 
    r = 6371 # Radius of earth in kilometers. Use 3956 for miles. Determines return value units.
    return c * r
Nach dem Login kopieren

Schritt 2: Berechnung

start_lon, start_lat = -1.7297222222222221, 53.32055555555556
bearing, distance = 96.02166666666666, 2
end_lon, end_lat = -1.6997222222222223, 53.31861111111111

distance_calculated = haversine(start_lon, start_lat, end_lon, end_lat)

print("Distance:", distance_calculated)
Nach dem Login kopieren

Ausgabe:

Distance: 2.0000054199729084
Nach dem Login kopieren

In diesem Beispiel entspricht die berechnete Distanz dem Erwartungswert von 2 Kilometern.

Hinweis:

  • Die Haversine-Formel geht davon aus, dass die Erde ist eine perfekte Kugel, was nicht ganz stimmt. Für die meisten praktischen Zwecke bietet es jedoch eine einigermaßen genaue Näherung.
  • Für fortgeschrittenere Berechnungen kann ein genaueres Erdmodell wie das WGS84-Ellipsoid verwendet werden.

Das obige ist der detaillierte Inhalt vonWie berechnet man die Entfernung und Peilung zwischen zwei GPS-Punkten mithilfe der Haversine-Formel von Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage