Lua 三角函数

我正在尝试从第一个经纬度点到最后一个点获取方位。

我已经去了movable-type网站,已经可以得到距离,但是我的方位似乎有些问题。

Y = math.sin(dLon_WPM_1) * math.cos(lat2_WPM_1)
X = math.cos(dLat_WPM_1) * math.sin(lat2_WPM_1)
    - math.sin(dLat_WPM_1) * math.cos(lat2_WPM_1) * math.cos(dLon_WPM_1)
BRNG = math.deg(math.atan2(Y, X))

我已经反复检查了:所有的值都是我认为的值。

谢谢帮助!

点赞
用户2279620
用户2279620

在 X 的计算中,尝试使用 lat1_WPM_1 替换 dLat_WPM_1

2013-09-11 12:41:40
用户111598
用户111598

你是否考虑过球面坐标的影响?如果你将点投影到像 Mercator 投影 这样保留方位的投影上然后计算等角航线方位角,你所尝试计算的航向才是正确的。

如果你实际上感兴趣的是初始大圆航向角,那么可以查看博客文章 计算两地经纬度之间的距离、航向等信息 中的公式。

2013-09-11 13:38:33