Python 计算两个经纬度坐标点之间的距离 - Haversine 公式
以下是一个使用 Haversine 公式计算两个经纬度坐标点之间距离的 Python 程序:
from math import radians, cos, sin, asin, sqrt
def haversine(lon1, lat1, lon2, lat2):
'Calculate the great circle distance between two points on the earth (specified in decimal degrees)'
# convert decimal degrees to radians
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
# haversine formula
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 # Radius of earth in kilometers. Use 3956 for miles
return c * r
# Example usage
print(haversine(-122.431297, 37.773972, -122.406708, 37.784345))
该程序接受四个参数,分别是第一个点的经度、纬度和第二个点的经度、纬度。它使用 Haversine 公式计算两个点之间的距离,并返回结果(单位为千米)。
在上面的示例中,我们计算了从旧金山市中心到市中心的距离。
原文地址: https://www.cveoy.top/t/topic/m0Fa 著作权归作者所有。请勿转载和采集!