网址为:http://www.movable-type.co.uk/scripts/latlong.html
根据经纬度做的一些常用计算,并有JavaScript的示例代码。
英文的介绍网址,请耐心观看。
haversine公式,根据两个点的经纬度,计算距离;
Spherical Law of Cosines 余弦球面定律
计算两个点的中心点位置
已知一个点和距离、阈值,计算地球上的另一个点位置
地球上的两条线是否相交
...
都有详细的公式和示例代码,例如:
Haversine formula: | a = sin²(Δφ/2) + cos φ1 ⋅ cos φ2 ⋅ sin²(Δλ/2) |
c = 2 ⋅ atan2( √a, √(1−a) | |
d = R ⋅ c | |
where | φ is latitude, λ is longitude, R is earth’s radius (mean radius = 6,371km); |
JavaScript: | var R = 6371e3; // metresvar φ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; |