haversine-formula

haversine formula

给定一个点的经纬度和一个范围长度,计算以这个点为中心的正方形边界,初步实现代码: https://github.com/SunnyCat2013/haversine-distance/blob/master/haversine.py

球面上任意两点的中心角求解公式:

hav(dr)=hav(ϕ2ϕ1)+cos(ϕ1)cos(ϕ2)hav(λ2λ1) h a v ( d r ) = h a v ( ϕ 2 − ϕ 1 ) + cos ⁡ ( ϕ 1 ) cos ⁡ ( ϕ 2 ) h a v ( λ 2 − λ 1 )

问题讨论

现在想象一下这种情况:
1. 给定地球表面一个点

p p
[lontitude,latitude] [ l o n t i t u d e , l a t i t u d e ]

2. 一个平面
P P
经过该点和地球球心
3. 经过点
p p
和平面
P P
与地球球面相切的直线
Lp L p

4. 经过点
p p
与 纬度
latitude l a t i t u d e
所在圆相切的直线
Llat L l a t

5.
Lp L p
Llat L l a t
夹角(锐角)为
theta t h e t a

6.
P P
与地球球面所切圆为
C C

7. 从
p p
点出发,沿
C C
D D
之后,到达点
q q

q q
的经纬度。

图例

问题图

  • 中心角
    AOB 被称作中心角
    haversine-formula_第1张图片

你可能感兴趣的:(Python)