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
2. 一个平面
P
P
经过该点和地球球心 3. 经过点
和平面
P
P
与地球球面相切的直线 4. 经过点
p
p
与 纬度 所在圆相切的直线
Llat
L
l
a
t
5.
Lp
L
p
与
Llat
L
l
a
t
夹角(锐角)为
theta
t
h
e
t
a
6.
P
P
与地球球面所切圆为 7. 从
p
p
点出发,沿 走
D
D
之后,到达点 求
q
q
<script type="math/tex; mode=display" id="MathJax-Element-200">q</script> 的经纬度。
图例
问题图
- 中心角
AOB 被称作中心角