python 计算经纬度点之间的距离

https://blog.csdn.net/weixin_44974020/article/details/115461622
看着这个自己用python代码重写了一遍
测试了一下,结果是cm应该,准确性有待商榷
也不知道是不是传入经纬度参数 单位 的问题

import math

EARTH_RADIUS = 6378.137


def rad(d):
    return d * math.pi / 180.0


# /**
#  * 计算两点距离
#  *
#  * @param lat1 纬度1
#  * @param lng1 经度1
#  * @param lat2 纬度2
#  * @param lng2 经度2
#  * @return 返回单位:米
#  */
def getDistance(lat1,
                lng1,
                lat2,
                lng2):
    radLat1 = rad(lat1)

    radLat2 = rad(lat2)
    a = radLat1 - radLat2
    b = rad(lng1) - rad(lng2)
    s = 2 * math.asin(math.sqrt(math.pow(math.sin(a / 2), 2) +
                            math.cos(radLat1) * math.cos(radLat2) * math.pow(math.sin(b / 2), 2)))
    s = s * EARTH_RADIUS
    s = round(s * 10000) / 10
    return s

if __name__ == '__main__':
    # s=getDistance(2504.066027, 10241.055231, 2504.065915, 10241.056926)
    s=getDistance( 2504.065915, 10241.056926,2504.065850, 10241.058396)
    print(s)

你可能感兴趣的:(python,开发语言)