python根据两个坐标的经纬度计算直线据路

最近遇到问题需要计算两点之间的直线距离,于是写了下面一个方法,有需要的可以直接拿来用。

1
2
3
4
5
6
7
8
9
def getdistance(lng1,lat1,lng2,lat2):
lng1, lat1, lng2, lat2 = map(radians, [lng1, lat1, lng2, lat2])
dlon=lng2-lng1
dlat=lat2-lat1
a=sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
dis=2*asin(sqrt(a))*6371*1000
remain_amount = '%.2f' % (dis)
remain_amount_format =re.sub(r"(\d)(?=(\d\d\d)+(?!\d))", r"\1,", remain_amount)
return remain_amount_format

参数介绍:
入参:
lng1:坐标1的经度
lat1:坐标1的纬度
lng2:坐标2的经度
lat2:坐标2的纬度

出参:
remain_amount_format:函数返回的两个坐标之间的直线距离,单位为米


python根据两个坐标的经纬度计算直线据路
http://example.com/p/a6abba55.html
作者
Kapu
发布于
2022年2月25日
许可协议