给定的两个点的纬度/经度在月球(lat1, lon1)
和(lat2, lon2)
,计算两个点之间的距离以公里,通过使用任何式给出相同的结果haversine公式。
输入值
- 四个整数值
lat1, lon1, lat2, lon2
(度)(角度)或 ϕ1, λ1, ϕ2, λ2
以弧度表示的四个十进制值。
输出量
两点之间的距离(以公里为单位)(十进制任意精度或四舍五入整数)。
Haversine公式
哪里
r
是球体的半径(假设月球的半径为1737公里),ϕ1
点1的弧度(弧度)ϕ2
点2的弧度(弧度)λ1
点1的经度(弧度)λ2
点2的弧度d
是两点之间的圆形距离
(来源:https : //en.wikipedia.org/wiki/Haversine_formula)
其他可能的公式
d = r * acos(sin ϕ1 sin ϕ2 + cos ϕ1 cos ϕ2 cos(λ2 - λ1))
@miles的公式。d = r * acos(cos(ϕ1 - ϕ2) + cos ϕ1 cos ϕ2 (cos(λ2 - λ1) - 1))
@Neil的公式。
输入为度并输出为四舍五入整数的示例
42, 9, 50, 2 --> 284
50, 2, 42, 9 --> 284
4, -2, -2, 1 --> 203
77, 8, 77, 8 --> 0
10, 2, 88, 9 --> 2365
规则
d = r * acos( sin ϕ1 sin ϕ2 + cos ϕ1 cos ϕ2 cos(λ2 - λ1) )
,较短的公式是r = 1737