falscher Wert von der atan2-Funktion in Excel

falscher Wert von der atan2-Funktion in Excel

Ich versuche, den Winkel zwischen zwei Breiten- und Längengraden zu berechnen, erhalte aber atan2(X,Y)bei Verwendung in Excel ein falsches Ergebnis.

β = atan2(X,Y) = atan2(0.05967668696, -0.00681261948)

Es sollte 1,68 Radiant (96,51°) sein, aber in Excel wird -0,113666736 (-6,512624235°) angezeigt.

β = atan2(X,Y),

wobei X und Y zwei Größen sind und wie folgt berechnet werden können:

  • X =cos θb * sin ∆L
  • Y =cos θa * sin θb – sin θa * cos θb * cos ∆L

    Breitengrad/Längengrad(1): (Lat1,Lon1)= 39.099912, -94.581213

    Breitengrad/Längengrad(2): (Lat2,Lon2)= 38.627089, -90.200203

    ‘L’            be the longitude,
    ‘∆L=lon2-lon1’ be the difference of longitude,
    ‘θ’            be latitude,
    ‘β‘            be Bearing
    

Antwort1

Das Problem besteht darin, dass Excel die Funktion Atan2( verwendet.j,X) statt (x, y). In C verwendet Atan2 die Parameter (X,j), wodurch Sie die erwartete Antwort erhalten. Ändern Sie einfach Ihre Parameter.

Die Antwort kommt gut sechs Jahre zu spät, aber hoffentlich findet das jemand nützlich, lol.

Antwort2

  1. Mit der Funktion in Excel ist alles in Ordnung atan2(X,Y): Der von Ihnen angegebene Punkt '(0,05967668696, -0,00681261948)' liegt im vierten Quadranten, d. h. sein Winkel beträgt tatsächlich '-6,51°'.

  2. Wenn Sie jedoch einen „absoluten“ Winkelwert zwischen zwei geografischen Punkten berechnen möchten, sollten Sie die absolute Differenz zwischen den Koordinaten verwenden:

      β=ATAN2(ABS(0.05967668696), ABS(-0.00681261948))
    
  3. Bedenken Sie, dass diese Berechnung auf einer Kugel (Erde) nur eine Annäherung ist, da es sich um ein kreisförmiges Dreieck handelt. Bei kleinen Winkeln ist das in Ordnung.

verwandte Informationen