根据经纬度计算两点距离的代码很多,但是多数是C#代码,也找到了一些Python写的代码但是没有写完整,这里就把这部分的Python实现代码完整一下,供有需要者使用
import math
def rad(d):
return d*math.pi/180.0
def distance(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(math.sin(a/2),2)+math.cos(radlat1)*math.cos(radlat2)*math.pow(math.sin(b/2),2)))
earth_radius=6378.137
s=s*earth_radius
if s<0:
return -s
else:
return s
if __name__=="__main__":
print distance(40.030979,116.411018,40.015311000,116.422638000)
参考博客:http://blog.csdn.net/moodytong/article/details/8063469