Entfernung und Peilung zweier durch Koordinatenstrings repräsentierter Punkte in Python berechnen

English Deutsch

Problem:

Zwei Punkte sind durch einen Koordinatenstring in Python repräsentiert:

input_coords.py
a = "N 48° 06.112' E 11° 44.113'"
b = "N 48° 06.525' E 11° 44.251'"

und es sollen sowohl Peilung als auch Entfernung zwischen ihnen berechnet werden

Lösung

Dies kann mit einer Kombination aus zwei unserer vorherigen Beiträge gemacht werden:

compute_from_strings.py
from geographiclib.geodesic import Geodesic
from geopy.geocoders import ArcGIS

geolocator = ArcGIS()

a = geolocator.geocode("N 48° 06.112' E 11° 44.113'")
b = geolocator.geocode("N 48° 06.525' E 11° 44.251'")

result = Geodesic.WGS84.Inverse(a.latitude, a.longitude, b.latitude, b.longitude)
distance = result["s12"] # in [m] (meters)
# in [m] (Meter)
bearing = result["azi1"] # in [°] (degrees)
# in [°] (Grad)

Ergebnis für unser Beispiel:

result_summary.py
distance = 784.3069649126435 # m
bearing = 12.613924599757134 # °

Check out similar posts by category: Geography, Python