python 计算两经纬度点的距离
可以使用haversine公式来计算两个经纬度点之间的距离。以下是一个示例代码:
from math import radians, sin, cos, sqrt, atan2
def calculate_distance(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))
# 地球平均半径(单位:千米)
radius = 6371
# 计算距离
distance = radius * c
return distance
# 示例使用
lat1 = 40.7128
lon1 = -74.0060
lat2 = 34.0522
lon2 = -118.2437
distance = calculate_distance(lat1, lon1, lat2, lon2)
print(f"两个点之间的距离为:{distance} 千米")
请注意,这个计算是基于地球是一个完美的球体进行的近似计算,实际上地球是一个略微扁平的椭球体。因此,这个计算结果只是一个近似值,但对于一般的应用来说已经足够了
原文地址: http://www.cveoy.top/t/topic/hOkA 著作权归作者所有。请勿转载和采集!