如何使用 Excel 计算两点之间的方位(以十进制度为单位)

如何使用 Excel 计算两点之间的方位(以十进制度为单位)

在 Excel 中,无法用十进制度数计算两点的方位。我使用以下公式:

=MOD(ATAN2(SIN(LonB-LonA)*COS(LatB),COS(LatA*SIN(LatB)-SIN(LatA)*COS(LonB-LonA))),6.30318)

示例数据

  • 纬度 A (38.6318909290283)
  • 经线 A (-90.2828979492187)
  • 纬度 B (38.5352759115441)
  • 经度 B(-89.8448181152343)

我得到的答案是 5.024 度,应该是 105.619 度

答案1

看起来您在输入 Excel 时输入了错误的公式。

另外,您需要将度数转换为弧度,因为 Excel 将三角函数的输入视为弧度。最后,需要将 ATAN2 的结果转换回度数。解决方案:

=DEGREES(ATAN2(COS(RADIANS(latA))*SIN(RADIANS(latB))-SIN(RADIANS(latA))*COS(RADIANS(latB))*COS(RADIANS(lonB-lonA)),SIN(RADIANS(lonB-lonA))*COS(RADIANS(latB))))

公式来源:http://www.movable-type.co.uk/scripts/latlong.html

答案2

使用 UTM 东距和北距坐标(以米为单位)计算两个 x,y 位置之间以北(0 度)为基准的方位角,我使用以下公式:方位角=
=IF(AND(x>=0,y>=0),90-MOD(360+DEGREES(ATAN2(x,y)),360),450-MOD(360+DEGREES(ATAN2(x,y)),360))

单元格名称“x”= 东距(目标减去源)之间的距离(差异),单位
为米 单元格名称“y”= 北距(目标减去源)之间的距离(差异),单位为米

相关内容