我希望使用经度和纬度在地图上的机场之间叠加大圆弧。 我已经可以从初始坐标和最终坐标获得距离和方位,但现在我需要在曲线上生成要绘制的点。
我想要的是一个采用原点,目的地和距离的公式,并返回原点和目的地之间的路径上该点距离的点的纬度/经度。
我目前用球体近似地球并使用弧度 - 最后我会添加球体校正。
答案 0 :(得分:2)
currlat = oldlat + d * sin (angle)/ (radius);
currlon = oldlon + d * cos (angle)/ (radius * cos(oldlat));
其中d是行进距离,角度是弧度。这假设在赤道和两极都有40000km的地球周长。你可以用弧度转换......
此外,它假设角度(方向)是参考赤道线。
显然这需要球体校正。
如果你去南方,罪孽会变成负数,而北方会变成正数。如果你去西部cos将转为负和东部它将转为正。
d * sin(角度)和d * cos(角度)为您提供更改。你只需要根据地球的周长来计算新的纬度/经度。