Python: Berechnen Sie das Lager zwischen zwei Lat/Long/LongPython

Python-Programme
Anonymous
 Python: Berechnen Sie das Lager zwischen zwei Lat/Long/Long

Post by Anonymous »

Ich versuche, das Lager zwischen zwei lat/long zu berechnen.

Vorgestellt: < /em> < /p>

Code: Select all

def get_bearing(lat1, long1, lat2, long2):
dLon = (long2 - long1)

y = math.sin(dLon) * math.cos(lat2)
x = math.cos(lat1) * math.sin(lat2) - math.sin(lat1) * math.cos(lat2) * math.cos(dLon)

brng = math.atan2(y, x)

brng = np.rad2deg(brng)

return brng
< /code>

Das Problem ist, dass das Ergebnis nicht erwartet wird. < /p>

Die beabsichtigte Verwendung der Funktion gibt das Lager zwischen zwei lat /langen Paaren in einer (sehr langen) Liste zurück, d. H. < /p>

    lat1 = path[int(len(path) * location / 1000)][0]
lat2 = path[int(len(path) * location / 1000) + 1][0]
lng1 = path[int(len(path) * location / 1000)][1]
lng2 = path[int(len(path) * location / 1000) + 1][1]
< /code>

Das Lagerergebnis verändert dann die Ansichtsorientierung des Diagramms, bei dem das Lager einen Wert im Bereich annehmen kann [-180, 180]. Im Idealfall würde das Ergebnis so erscheinen, dass die Linie zwischen LAT1, LNG1 und LAT2, LNG2, in der Handlung perfekt "vertikal" ist (LAT/LON -Annotationen werden in Plot geschaltet),  siehe unten  

 < /p>
 < /p>

Ich hoffe, dass jemand in der Lage sein könnte, das Problem aus dem von der Funktion zurückgekehrten Lager und dem erwarteten Lager zu leiten. Ein paar Instanzen unten: < /p>

Current Location: 30.07134 -97.23076
Next in path: 30.0709 -97.22907
Calculated Bearing: 88.39967863143139
Expected Bearing: ~-70.67

Current Location: 29.91581 -96.85068
Next in path: 29.91556 -96.85021
Calculated Bearing: 118.9170342272798
Expected Bearing: ~122.67

Current Location: 29.69419 -96.53487
Next in path: 29.69432 -96.53466
Calculated Bearing 141.0271357781952
Expected Bearing: ~56

Current Location: 29.77357 -96.07924
Next in path: 29.77349 -96.07876
Calculated Bearing 165.24612555483893
Expected Bearing: ~104
Ich freue mich, zusätzliche Informationen zu geben. Vielen Dank im Voraus für jede/alle Hilfe.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post