经纬度计算距离公式
时间: 2023-06-29 17:17:48 浏览: 96
经纬度距离计算
经纬度计算距离可以使用 Haversine 公式,其公式如下:
a = sin²(Δlat/2) + cos(lat1) * cos(lat2) * sin²(Δlong/2)
c = 2 * atan2( √a, √(1−a) )
d = R * c
其中,lat1和lat2为两点的纬度,Δlat为纬度差,long1和long2为两点的经度,Δlong为经度差,R为地球半径,d为两点间的距离。
使用代码实现如下(假设地球半径为6371km):
```python
import math
def haversine(lat1, long1, lat2, long2):
R = 6371 # 地球半径
lat1, long1, lat2, long2 = map(math.radians, [lat1, long1, lat2, long2])
dlat = lat2 - lat1
dlong = long2 - long1
a = math.sin(dlat/2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlong/2)**2
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
d = R * c
return d
```
其中,函数的参数分别为两点的纬度和经度,返回值为两点间的距离(单位为km)。
阅读全文