发布网友 发布时间:2024-10-11 09:26
共1个回答
热心网友 时间:2024-11-13 17:26
这个是我个人在网上找到的方法,觉得的比较好就介绍给你
已知两地的经纬度,如何求两地距离?
两地经纬度:
A:北纬39.1 东经117.2
B:北纬49.9 东经-97.2
这两地距离是多少?
解答
设地球半径为R
A:在 北纬39.1 做一个与赤道平行与地球相交的平面,那么你肯定可以得到一个圆,这个圆的半径肯定是 R*cos39.1
那么这个圆上 东经117.2 到 (东经-97.2 =西经97.2)的弦长 R*cos39.1 * sin[360-(117.2+97.2)]/2 = R*cos39.1 * sin 72.8
B:北纬49.9 做一个与赤道平行与地球相交的平面,那么你肯定可以得到一个圆,这个圆的半径肯定是 R*cos49.9
那么这个圆上 东经117.2 到 (东经-97.2 =西经97.2)
的弦长 R*cos49.9 * sin[360-(117.2+97.2)]/2
= R*cos49.9 * sin 72.8
A:北纬39.1 东经117.2 D:北纬39.1 东经-97.2
B:北纬49.9 东经-97.2 C:北纬49.9 东经117.2
这4个点构成等腰梯形ABCD 显然是AD平行BC ,BC=R*cos49.9 * sin 72.8 AD=R*cos39.1 * sin 72.8 又因为 AC=BD=2*R*sin(49.9-39.1)/2 =2*R*sin5.4
那么你就可以求出梯形对角线AB=CD=根号下[(AD+BC)*(AD+BC)/4 + AC*AC - (AD-BC)(AD-BC)/4]
你自己代入也算一算,过程我就不写
然后你得到AB=CD 的值
那么弦长AB所对应地球最大圆的弧长就等于AB俩地距离
设弦AB对应最大圆的圆心角为x
那么肯定有 AB/2 = R* sin(x/2)
解得x
那么弧长AB就等于 x*R
这样答案就求出来了