我想使用经度和纬度在地图上覆盖机场之间的大圆弧。我已经可以从初始坐标和最终坐标获得距离和方位,但现在我需要在曲线上生成点以进行绘图。
我想要的是一个公式,它采用起点、终点和距离,并返回起点和终点之间路径上位于该距离处的点的纬度/经度。
我目前正在用球体近似地球并使用弧度——最终我将添加球体校正。
我想使用经度和纬度在地图上覆盖机场之间的大圆弧。我已经可以从初始坐标和最终坐标获得距离和方位,但现在我需要在曲线上生成点以进行绘图。
我想要的是一个公式,它采用起点、终点和距离,并返回起点和终点之间路径上位于该距离处的点的纬度/经度。
我目前正在用球体近似地球并使用弧度——最终我将添加球体校正。
currlat = oldlat + d * sin (angle)/ (radius);
currlon = oldlon + d * cos (angle)/ (radius * cos(oldlat));
其中 d 是经过的距离,角度以弧度为单位。这是假设赤道和两极的地球周长均为 40000 公里。您可以转换为弧度...
它还假设角度(方向)是参考赤道线的。
显然,这需要球体校正。
如果你往南走,罪恶值会变成负数,往北走,它会变成正数。如果你往西走 cos 将变成负数,向东它会变成正数。
d * sin(angle) 和 d * cos(angle) 给你变化。你只需在此基础上按地球周长计算新的纬度/经度。