【发布时间】:2017-05-26 04:37:49
【问题描述】:
var R = 6371e3; // metres
var φ1 = lat1.toRadians();
var φ2 = lat2.toRadians();
var Δφ = (lat2-lat1).toRadians();
var Δλ = (lon2-lon1).toRadians();
var a = Math.sin(Δφ/2) * Math.sin(Δφ/2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ/2) * Math.sin(Δλ/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
这里的代码公式是用在 JavaScript 中的。但无论如何,原始公式中也使用了 a 和 c。它们是什么意思?
【问题讨论】:
-
它们只是临时变量。虽然
c似乎也是两点之间的实际角度。 -
你看过维基百科上的三角恒等式吗?这看起来像是在玩诡计。
-
@Evert 谢谢。这两个变量都用于测量角度对吗?
标签: distance haversine earthdistance