4

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

我想要的是一个公式,它采用起点、终点和距离,并返回起点和终点之间路径上位于该距离处的点的纬度/经度。

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

4

1 回答 1

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

其中 d 是经过的距离,角度以弧度为单位。这是假设赤道和两极的地球周长均为 40000 公里。您可以转换为弧度...

它还假设角度(方向)是参考赤道线的。

显然,这需要球体校正。

如果你往南走,罪恶值会变成负数,往北走,它会变成正数。如果你往西走 cos 将变成负数,向东它会变成正数。

d * sin(angle) 和 d * cos(angle) 给你变化。你只需在此基础上按地球周长计算新的纬度/经度。

于 2011-11-20T16:32:43.250 回答