
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
Excel の関数に問題はありません
atan2(X,Y)
。指定したポイント (0.05967668696, -0.00681261948) は第 4 象限にあります。つまり、その角度は実際には「-6.51°」です。しかし、2 つの地理的なポイント間の角度の「絶対」値を計算したい場合は、座標間の絶対差を使用する必要があります。
β=ATAN2(ABS(0.05967668696), ABS(-0.00681261948))
この計算が球体(地球)上で行われる場合、円三角形のため近似値になることに注意してください。小さな角度であれば問題ありません。