如何使用Python计算两个经纬度坐标点之间的距离及它们之间的相对角度?请提供示例代码。
时间: 2024-11-11 17:36:53 浏览: 14
当你在项目中需要处理地理位置信息时,比如计算两个地点之间的距离或是确定它们之间的相对方向,掌握使用Python进行经纬度坐标转换的技术至关重要。针对你的问题,这里有一个推荐资源:《Python计算经纬度距离与角度》,它将帮助你理解并掌握相关技术。
参考资源链接:[Python计算经纬度距离与角度](https://wenku.csdn.net/doc/645261d4ea0840391e7394c4?spm=1055.2569.3001.10343)
为了计算两点之间的距离,我们可以使用Haversine公式,该公式适用于在球体表面计算两点之间的最短距离。首先,需要将经纬度坐标从度转换为弧度,然后使用下面的公式进行计算:
```python
from math import radians, cos, sin, asin, sqrt
def getDistance(lat1, lon1, lat2, lon2):
# 将角度转换为弧度
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
# 应用Haversine公式
dlon = lon2 - lon1
dlat = lat2 - lat1
a = sin(dlat / 2)**2 + cos(lat1) * cos(lat2) * sin(dlon / 2)**2
c = 2 * asin(sqrt(a))
# 地球平均半径,单位为公里
r = 6371
return c * r * 1000
# 示例:计算两点之间的距离
distance = getDistance(39.9042, 116.4074, 34.0522, -118.2437)
print(f
参考资源链接:[Python计算经纬度距离与角度](https://wenku.csdn.net/doc/645261d4ea0840391e7394c4?spm=1055.2569.3001.10343)
阅读全文