Python 以知经纬度坐标,基于haversine公式求两点间距离

Haversine公式

haversine公式可以通过经纬度和弧度的转变,然后得到地球上两点的距离。

# 经度,纬度
def Geo_Distance(lng_1, lat_1, lng_2, lat_2):
    """
    Calculate the great circle distance between two points
    on the earth (specified in decimal degrees)

    :return: the distance between two points on the earth
    """
    # 十进制转化为弧度制
    lng_1, lat_1, lng_2, lat_2 = map(radians, [lng_1, lat_1, lng_2, lat_2])

    # Haversine公式
    dlng = lng_2 - lng_1
    dlat = lat_2 - lat_1
    a = sin(dlat / 2) ** 2 + cos(lat_1) * cos(lat_2) * sin(dlng / 2) ** 2
    c = 2 * asin(sqrt(a))
    r = 6371 # 地球半径

    mNear = c * r * 1000 # 单位为m的长度

    return mNear
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值