Excel の atan2 関数の値が間違っています

Excel の atan2 関数の値が間違っています

2 つの緯度と経度の間の角度を計算しようとしていますが、atan2(X,Y)Excel で使用すると間違った結果が得られます。

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

1.68ラジアン(96.51°)であるはずですが、Excelでは-0.113666736(-6.512624235°)と表示されます。

β = atan2(X,Y),

ここで、X と Y は 2 つの量であり、次のように計算できます。

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

    緯度/経度(1): (Lat1,Lon1)= 39.099912, -94.581213

    緯度/経度(2): (Lat2,Lon2)= 38.627089, -90.200203

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

答え1

問題は、ExcelがAtan2関数を使用していることです(ええバツ) ではなく (x, y) を使用します。C では、Atan2 はパラメータ (バツええ) を実行すると、期待どおりの答えが得られます。パラメータを切り替えるだけです。

答えを出すのに6年も遅すぎますが、誰かにとってこれが役に立つことを願っています(笑)。

答え2

  1. Excel の関数に問題はありませんatan2(X,Y)。指定したポイント (0.05967668696, -0.00681261948) は第 4 象限にあります。つまり、その角度は実際には「-6.51°」です。

  2. しかし、2 つの地理的なポイント間の角度の「絶対」値を計算したい場合は、座標間の絶対差を使用する必要があります。

      β=ATAN2(ABS(0.05967668696), ABS(-0.00681261948))
    
  3. この計算が球体(地球)上で行われる場合、円三角形のため近似値になることに注意してください。小さな角度であれば問題ありません。

関連情報