根据距离和方向创建坐标



所以我有坐标(A(与x经度和y纬度。我想要的是创建新的坐标 (B(,其中坐标和方向 (0 - 360( 之间的距离(米(基于用户输入。什么公式来实现这一点?

到目前为止,我所做的是使用答案 1 和答案 2 中的这个公式

new_latitude  = latitude  + (dy / r_earth) * (180 / pi);
new_longitude = longitude + (dx / r_earth) * (180 / pi) / cos(latitude * pi/180);

但它只是创建一个方向的新坐标,我想要的是方向可以改变。

您可以使用这个优秀站点的公式(给定距离和起点方位的目的地点部分(

var φ2 = Math.asin( Math.sin(φ1)*Math.cos(d/R) +
Math.cos(φ1)*Math.sin(d/R)*Math.cos(brng) );
var λ2 = λ1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(φ1),
Math.cos(d/R)-Math.sin(φ1)*Math.sin(φ2));

其中φ是纬度,λ是经度,θ是方位角(从北方顺时针方向(,δ是角距离d/R;d是行进的距离,是地球的半径

最新更新