当前位置:首页python > 正文

WGS84坐标下根据经纬度计算两点之间的距离

作者:野牛程序员:2023-12-25 17:58:10python阅读 2880

使用WGS84坐标系下的经纬度计算两点之间的距离通常采用球面三角法,常见的计算公式是Haversine公式。以下是用Python实现的示例代码:

import math

def haversine(lat1, lon1, lat2, lon2):
    R = 6371  # 地球半径,单位为公里

    # 将经纬度转换为弧度
    lat1, lon1, lat2, lon2 = map(math.radians, [lat1, lon1, lat2, lon2])

    # 计算差值
    dlat = lat2 - lat1
    dlon = lon2 - lon1

    # Haversine公式
    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 = R * c

    return distance

# 例子
latitude1, longitude1 = 40.7128, -74.0060  # 第一个点的纬度和经度
latitude2, longitude2 = 34.0522, -118.2437  # 第二个点的纬度和经度

result = haversine(latitude1, longitude1, latitude2, longitude2)
print(result)

请注意,这个示例代码中的距离单位是公里。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击