计算经纬度直线距离 python版haversine公式的实现
下面是一个使用Python实现Haversine公式计算经纬度直线距离的例子:
from math import radians, sin, cos, sqrt, atan2
def haversine(lat1, lon1, lat2, lon2):
# 将角度转换为弧度
lat1 = radians(lat1)
lon1 = radians(lon1)
lat2 = radians(lat2)
lon2 = radians(lon2)
# 使用Haversine公式计算距离
dlon = lon2 - lon1
dlat = lat2 - lat1
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
c = 2 * atan2(sqrt(a), sqrt(1-a))
distance = 6371 * c # 地球半径为6371公里
return distance
# 示例使用
lat1 = 40.7128
lon1 = -74.0060
lat2 = 34.0522
lon2 = -118.2437
distance = haversine(lat1, lon1, lat2, lon2)
print("直线距离:", distance, "公里")
在这个例子中,我们定义了一个名为haversine
的函数,该函数接收四个参数:lat1
(第一个点的纬度),lon1
(第一个点的经度),lat2
(第二个点的纬度)和lon2
(第二个点的经度)。函数使用Haversine公式计算两个点之间的直线距离,并返回结果。
我们还定义了四个示例点的经纬度,并使用这些点来计算直线距离。最后,我们将结果打印出来。请注意,这个例子中使用的经纬度是纽约市和洛杉矶的经纬度。

原文地址: http://www.cveoy.top/t/topic/i2aa 著作权归作者所有。请勿转载和采集!