Python 计算两经纬高点距离 - 精确到厘米
要计算两个经纬高点的距离,需要使用地理坐标系和球面三角学的知识。以下是一个使用 Haversine 公式计算距离的示例代码:\n\npython\nimport math\n\ndef calculate_distance(lat1, lon1, alt1, lat2, lon2, alt2):\n # 转换为弧度\n lat1_rad = math.radians(lat1)\n lon1_rad = math.radians(lon1)\n lat2_rad = math.radians(lat2)\n lon2_rad = math.radians(lon2)\n\n # 经纬度差值\n dlat = lat2_rad - lat1_rad\n dlon = lon2_rad - lon1_rad\n\n # 使用Haversine公式计算距离\n a = math.sin(dlat/2) ** 2 + math.cos(lat1_rad) * math.cos(lat2_rad) * math.sin(dlon/2) ** 2\n c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))\n distance = 6371000 * c # 地球半径为6371公里,乘以1000转换为米\n\n # 计算高度差\n delta_alt = abs(alt2 - alt1)\n\n # 计算三维距离\n distance_3d = math.sqrt(distance**2 + delta_alt**2)\n\n # 将距离转换为厘米\n distance_cm = distance_3d * 100\n\n return distance_cm\n\n# 示例使用\nlat1 = 40.7128\nlon1 = -74.0060\nalt1 = 0\nlat2 = 34.0522\nlon2 = -118.2437\nalt2 = 0\n\ndistance = calculate_distance(lat1, lon1, alt1, lat2, lon2, alt2)\nprint("两点之间的距离为 %.2f 厘米" % distance)\n\n\n请注意,这只是一个示例代码,实际应用中可能需要考虑更多因素,如地球椭球体形状、高度差对距离的影响等。
原文地址: https://www.cveoy.top/t/topic/pxtH 著作权归作者所有。请勿转载和采集!