知道经纬度如何Excel计算两地距离

A站经度 A站纬度 B站经度 B站纬度 距离 (m)

116.5 39.5 116.6 39.5 8589.69
=6378140*
ACOS(
1-(POWER((SIN((90-B2)*PI()/180)*COS(A2*PI()/180)-SIN((90-D2)*PI()/180)*COS(C2*PI()/180)),2)
+POWER((SIN((90-B2)*PI()/180)*SIN(A2*PI()/180)-SIN((90-D2)*PI()/180)*SIN(C2*PI()/180)),2)
+POWER((COS((90-B2)*PI()/180)-COS((90-D2)*PI()/180)),2))/2)
知道经纬度,计算距离
谁能看懂,给详细解析一下什么意思啊
知道6378140为地球半径,和什么的反余弦函数的乘积?
越详细越好,加分

A站、B站、地心C,三点构成了一个等腰三角形,腰为地球半径。ACOS函数是求反余弦,结果为地心到AB两站的张角弧度C,地球半径R*C就是AB弧线的长度。先假设地球半径为1,还记得余弦定理吗?
cos(C)=(1*1+1*1-c*c)/(2*1*1)=1-c*c/2
其中c就是设地球半径为1时,AB两地的距离。公式里的三个power函数之和就是在计算c*c的。由球坐标与直角坐标之间的换算关系(假设纬度为W,经度J):
x=cos(W)*cos(J)
y=cos(W)*sin(J)
z=sin(W)
c*c就等于(xA-xB)^2+(yA-yB)^2+(zA-zB)^2。
都解释清楚了吧?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-31
上面那段话,我只能说:莫名其妙。
正确的算法:
根号[(地球半径×π×经度差/180)^2+(地球半径×π×纬度差(注意区分南纬和北纬)/180)^2]
翻译的工作就由你自己完成吧。追问

我验证过了,你的算法似乎不对

追答

哦,不好意思,刚才没理解。
地球赤道上环绕地球一周走一圈共40075.04公里,任意两点距离计算公式为

  
d=111.12cos{1/[sinΦAsinΦB十cosΦAcosΦBcos(λB—λA)]}

  
其中A点经度,纬度分别为λA和ΦA,B点的经度、纬度分别为λB和ΦB,d为距离。

相似回答