如何从两个地方的经度和纬度获得一个地方到另一个地方的方向?
例如,如果来源是秘鲁或墨西哥,目的地是阿拉斯加,则结果应为顺时针北45度=逆时针西45度。

我实际上需要一个可以同时返回源和目标的纬度的结果的函数。

我正在使用Android。但在这里我只是寻求逻辑/计算

预先感谢

最佳答案

该公式将为您提供沿大圆圈从起点到目的地的初始航向:

θ = atan2(sin(Δlong)*cos(lat2), cos(lat1)*sin(lat2) − sin(lat1)*cos(lat2)*cos(Δlong))


其中Δlong是从起点到终点的经度的总体变化,而lat1lat2起点/终点的纬度。

请注意,随着您沿着大圆圈行驶,前往目的地的方向将发生变化,因此,当您朝目的地移动时,将需要不断调整此方向。还要注意,您将需要将atan2()返回的角度从+/- pi映射到0-360°。

来自:http://www.movable-type.co.uk/scripts/latlong.html

关于java - 如何从两个地方的经度和纬度获得一个地方到另一个地方的方向?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8405403/

10-12 17:03