【发布时间】:2018-03-17 08:09:53
【问题描述】:
我想计算从点 1 到点 2 的方位角 输入格式为 52.070564 - 4.407116
无论我尝试什么,我都无法获得正确的输出。
我使用的公式是:
// koers berekenen
var y = Math.sin(ln-ln1) * Math.cos(lt);
var x = Math.cos(lt1)*Math.sin(lt) -
Math.sin(lt1)*Math.cos(lt)*Math.cos(ln-ln1);
var radians = Math.atan2(y, x);
var bearing = Math.round(radians * (180/Math.PI));
/* >>>>>> original <<<<<<<
var y = Math.sin(λ2-λ1) * Math.cos(φ2);
var x = Math.cos(φ1)*Math.sin(φ2) -
Math.sin(φ1)*Math.cos(φ2)*Math.cos(λ2-λ1);
var brng = Math.atan2(y, x).toDegrees();
φ1,λ1 is the start point, φ2,λ2 the end point (Δλ is the difference in longitude)
*/
【问题讨论】:
-
你能给我们一些示例输入和示例输出吗?
-
Math.sin()和Math.cos()希望他们的输入以弧度为单位。看起来你的输入是度数,所以你需要转换它们。 -
@Rogier 检查我的解决方案
-
52.07129-4.4056 和 52.07091-4.4048 的方位角应该在 230* 左右
标签: javascript bearing