要计算两个经纬高点的距离,需要使用地理坐标系和球面三角学的知识。以下是一个使用Haversine公式计算距离的示例代码:

import math

def calculate_distance(lat1, lon1, alt1, lat2, lon2, alt2):
    # 转换为弧度
    lat1_rad = math.radians(lat1)
    lon1_rad = math.radians(lon1)
    lat2_rad = math.radians(lat2)
    lon2_rad = math.radians(lon2)

    # 经纬度差值
    dlat = lat2_rad - lat1_rad
    dlon = lon2_rad - lon1_rad

    # 使用Haversine公式计算距离
    a = math.sin(dlat/2) ** 2 + math.cos(lat1_rad) * math.cos(lat2_rad) * math.sin(dlon/2) ** 2
    c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
    distance = 6371000 * c  # 地球半径为6371公里,乘以1000转换为米

    # 计算高度差
    delta_alt = abs(alt2 - alt1)

    # 计算三维距离
    distance_3d = math.sqrt(distance**2 + delta_alt**2)

    # 将距离转换为厘米
    distance_cm = distance_3d * 100

    return distance_cm

# 示例使用
lat1 = 40.7128
lon1 = -74.0060
alt1 = 0
lat2 = 34.0522
lon2 = -118.2437
alt2 = 0

distance = calculate_distance(lat1, lon1, alt1, lat2, lon2, alt2)
print("两点之间的距离为 %.2f 厘米" % distance)

请注意,这只是一个示例代码,实际应用中可能需要考虑更多因素,如地球椭球体形状、高度差对距离的影响等

python 计算两经纬高点的距离精确到厘米

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

免费AI点我,无需注册和登录