码迷,mamicode.com
首页 > 编程语言 > 详细

计算两个经纬度之间的距离(python算法)

时间:2017-09-07 18:13:22      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:google   .net   code   mds   lun   结果   nbsp   http   技术   

EARTH_REDIUS = 6378.137

def rad(d):
    return d * pi / 180.0

def getDistance(lat1, lng1, lat2, lng2):
    radLat1 = rad(lat1)
    radLat2 = rad(lat2)
    a = radLat1 - radLat2
    b = rad(lng1) - rad(lng2)
    s = 2 * math.asin(math.sqrt(math.pow(sin(a/2), 2) + cos(radLat1) * cos(radLat2) * math.pow(sin(b/2), 2)))
    s = s * EARTH_REDIUS
    return s

将两个点的经纬度传入getDistance函数即可获取两点之间的距离,计算结果单位为千米(km)

公式是

一、公式


技术分享 

对上面的公式解释如下:

1.Lat1 Lung1 表示A点经纬度,Lat2 Lung2 表示B点经纬度;
2.a=Lat1 – Lat2 为两点纬度之差  b=Lung1 -Lung2 为两点经度之差;
3.6378.137为地球半径,单位为千米;

计算出来的结果单位为千米。

计算两个经纬度之间的距离(python算法)

标签:google   .net   code   mds   lun   结果   nbsp   http   技术   

原文地址:http://www.cnblogs.com/lgh344902118/p/7490795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!