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

我想使用经度和纬度在地图上的机场之间叠加大圆弧.

我已经可以从初始坐标和最终坐标获得距离和方位,但现在我需要在曲线上生成要绘制的点.

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

我目前用球体近似地球并使用弧度 – 最终我将添加球体校正.

最佳答案

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

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

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

显然这需要球体修正.

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

d * sin(角度)和d * cos(角度)为您提供更改.你只需要计算新的纬度/经度,就可以根据地球的周长进行扩展.

点赞