python 计算两经纬度点的距离精确到厘米
要计算两个经纬度点之间的距离,可以使用haversine公式。以下是一个计算两个经纬度点之间距离的示例代码,精确到厘米:
import math
def haversine(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 = 6371000 * c # 地球半径为6371000米
return distance
# 经纬度点1
lat1 = 39.9042
lon1 = 116.4074
# 经纬度点2
lat2 = 31.2304
lon2 = 121.4737
# 计算距离
distance = haversine(lat1, lon1, lat2, lon2)
distance_cm = distance * 100 # 转换为厘米
print("两个经纬度点之间的距离为: {} 厘米".format(distance_cm))
请注意,这个计算是基于球体模型的近似计算,实际地球形状是不规则的。因此,这个计算结果只是一个近似值
原文地址: http://www.cveoy.top/t/topic/hOkM 著作权归作者所有。请勿转载和采集!