对两点之间的距离进行编码

时间:2018-05-18 09:38:37

标签: python-3.x math geocoding

我正在研究一个项目并且已经给出了一个方程式,但是,我发现很难变成可行的代码。

此等式给出两个纬度和长度点之间的距离,并以千米为单位返回近似距离。

enter image description here 我编纂方程的代码是:

def distance_between_two_point(lat1, lon1, lat2, lon2):

    c = (float(lat1) - float(lat2)**2) + ((float(lon1) - float(lon2))**2)

    # print(c) # Debugging Print
    print(math.sqrt(abs(c)))

    d = (6371 * math.pi/180) * math.sqrt(abs(c))

    return d

我必须在每个变量上指定浮点数,因为它会抛出一个类型错误,即使只有浮点数被解析为函数。

我从这个函数得到的结果似乎不对,成千上万。结果应该是一个小于10km的浮点数。

latlon1和latlon 2的输入纬度介于(-35.29,-35.27)和经度介于(149.105,149.130)之间。

1 个答案:

答案 0 :(得分:0)

我忘记了一个支架....对不起,对不起,即使在5个小时后也没注意到:(

def distance_between_two_point(lat1, lon1, lat2, lon2):

    c = ((float(lat1) - float(lat2))**2) + ((float(lon1) - float(lon2))**2)

    # print(c) # Debugging Print
    print(math.sqrt(abs(c)))

    d = (6371 * math.pi/180) * math.sqrt(abs(c))

    return d