当前位置:神舟问>百科问答>经纬度计算距离

经纬度计算距离

2023-11-22 10:40:03 编辑:join 浏览量:580

问题补充说明:为啥我用下面的公式计算出的距离和在地图上量的距离相差几倍??下面的公式里的λA和ΦA,λB和ΦB,用的是啥格式呀??地球赤道上环绕地球一周走一圈共 40075.04公里, 而@一圈分成360°,而每1°(度)有60', 每一度一秒在赤道上的长度计算如下: 40075.04km/360°=111.31955km 111.31955km/60'=1.8553258km=1855.3m 而每一分又有60秒, 每一秒就代表 1855.3m/60=30.92m 任意两点距离计算公式为 d=111.12cos{1/[sinΦAsinΦB十 cosΦAcosΦBcos(λB—λA)]} 其中A点经度,纬度分别为λA和ΦA,B点的经度、纬度分别为λB和ΦB,d为距离。

经纬度计算距离

从googlemaps的脚本里扒了段代码,没准啥时会用上。大家一块看看是怎么算的。

privateconstdoubleEARTH_RADIUS=6378.137;

pr来自ivatestaticdoublerad(doubled)

{

returnd*Math.PI/180.0;

}

publicstaticdoubleGetDistance(doublelat1,doublelng1,doublelat2,doublelng2)

{

doubleradLat1=rad(lat1);

doubleradLat2=rad(lat2360问答);

doublea=radLat1-radLat2;

doubleb=rad(lng1)-rad(lng2严);

doubles=2*Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a/2称道艺件宣),2)+

Math.Cos(radLat1)*Math.C妈纸湖担汉终拉委较亚os(radLat2)*Math.Pow(Math.Sin(b/2),2)));

s=s*EARTH_RADIUS;

s=Math.Round(探罗仅都防建频五s*10000)/1皇次另级0000;

returns;

}

标签:经纬度,距离,计算

版权声明:文章由 神舟问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.shenzhouwen.com/answer/217632.html
热门文章