python经纬度距离计算
时间: 2023-08-15 07:13:11 浏览: 203
可以使用haversine公式来计算两个经纬度之间的距离。下面是一个示例代码,用于计算两个经纬度之间的直线距离(单位为千米):
```python
import math
def haversine_distance(lat1, lon1, lat2, lon2):
# 将经纬度转换为弧度
lat1 = math.radians(lat1)
lon1 = math.radians(lon1)
lat2 = math.radians(lat2)
lon2 = math.radians(lon2)
# 使用haversine公式计算距离
dlon = lon2 - lon1
dlat = lat2 - lat1
a = math.sin(dlat/2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon/2)**2
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
distance = 6371 * c # 地球平均半径为6371千米
return distance
# 示例使用
lat1 = 40.7128
lon1 = -74.0060
lat2 = 34.0522
lon2 = -118.2437
distance = haversine_distance(lat1, lon1, lat2, lon2)
print(f"距离:{distance}千米")
```
请注意,这是两个经纬度之间的直线距离,并不考虑地球表面的曲率。如果你需要考虑地球表面的曲率,可以使用更复杂的算法,如Vincenty公式。
阅读全文