如何计算沿大圆圈给定距离的经度和纬度?

时间:2011-11-20 16:20:44

标签: latitude-longitude great-circle

我希望使用经度和纬度在地图上的机场之间叠加大圆弧。 我已经可以从初始坐标和最终坐标获得距离和方位,但现在我需要在曲线上生成要绘制的点。

我想要的是一个采用原点,目的地和距离的公式,并返回原点和目的地之间的路径上该点距离的点的纬度/经度。

我目前用球体近似地球并使用弧度 - 最后我会添加球体校正。

1 个答案:

答案 0 :(得分:2)

currlat = oldlat + d * sin (angle)/ (radius); 
currlon = oldlon + d * cos (angle)/ (radius * cos(oldlat));

其中d是行进距离,角度是弧度。这假设在赤道和两极都有40000km的地球周长。你可以用弧度转换......

此外,它假设角度(方向)是参考赤道线。

显然这需要球体校正。

如果你去南方,罪孽会变成负数,而北方会变成正数。如果你去西部cos将转为负和东部它将转为正。

d * sin(角度)和d * cos(角度)为您提供更改。你只需要根据地球的周长来计算新的纬度/经度。