可以使用 Haversine 公式来计算经纬度之间的直线距离。下面是一个使用 Python 实现的示例代码:

import math

def haversine(lon1, lat1, lon2, lat2):
    R = 6371  # 地球平均半径,单位为千米

    lon1_rad = math.radians(lon1)
    lat1_rad = math.radians(lat1)
    lon2_rad = math.radians(lon2)
    lat2_rad = math.radians(lat2)

    delta_lon = lon2_rad - lon1_rad
    delta_lat = lat2_rad - lat1_rad

    a = math.sin(delta_lat / 2) ** 2 + math.cos(lat1_rad) * math.cos(lat2_rad) * math.sin(delta_lon / 2) ** 2
    c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))

    distance = R * c
    return distance

#示例使用:
lon1, lat1 = 116.405285, 39.904989  # 北京的经纬度
lon2, lat2 = 121.473701, 31.230416  # 上海的经纬度
distance = haversine(lon1, lat1, lon2, lat2)
print(f'直线距离:{distance}千米')

上述代码中,'lon1'和'lat1'分别代表第一个点的经度和纬度,'lon2'和'lat2'分别代表第二个点的经度和纬度。函数'haversine'根据 Haversine 公式计算出两个点之间的直线距离,并将其返回。最后,我们使用示例经纬度计算出了北京和上海之间的直线距离,并将其打印输出。

Python 计算经纬度直线距离:Haversine 公式实现

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

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