Excel 中 atan2 函数的值错误

Excel 中 atan2 函数的值错误

我正在尝试计算两个纬度和经度之间的角度,但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 是两个量,可以按如下方式计算:

  • X =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) 而不是 (x, y)。在 C 语言中,Atan2 使用参数 (X) 将会给出您期望的答案。只需切换参数即可。

这个答案晚了整整六年,但希望有人觉得这很有用,哈哈。

答案2

  1. Excel 中的函数没有任何问题atan2(X,Y):您指定的点“(0.05967668696, -0.00681261948)”位于第四象限,即它的角度实际上是“-6.51°”。

  2. 但是如果您想计算两个地理点之间的角度的“绝对”值,您应该使用坐标之间的绝对差:

      β=ATAN2(ABS(0.05967668696), ABS(-0.00681261948))
    
  3. 请记住,如果此计算是在球体(地球)上进行的,则由于存在圆形三角形,因此这只是近似值。对于小角度,这是可以的。

相关内容