Кодирование уравнения для расстояния между двумя точками - PullRequest
0 голосов
/ 18 мая 2018

Я работаю над проектом и получил уравнение для использования, однако мне трудно превратить в работоспособный код.

Это уравнение дает расстояние между двумя точками широты и долготы.и возвращает приблизительное расстояние в километрах.

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

Я должен был указать поплавки для каждой переменной, так каквызвала ошибку типа, даже только те функции, которые вы обрабатываете, анализируются в функции.

Результаты, которые я получаю от этой функции, не кажутся правильными и исчисляются тысячами.результаты должны быть числом с плавающей запятой менее 10 км.

Входными данными для latlon1 и latlon 2 являются широты между (-35.29, -35.27) и долготами между (149.105, 149.130).

1 Ответ

0 голосов
/ 18 мая 2018

Я забыл скобку .... черт, извините, вы ее не заметили даже через 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
...