Я пытаюсь использовать эту функцию, найденную в Интернете, чтобы рассчитать расстояние между двумя точками широты и долготы на Земле.Как передать параметры функции Python?
Однако, я не знаю, как передать свои значения широты и долготы, потому что заменить lat1
, lon1
и lat2
, lon2
, и я получаю ошибку каждый раз.
Где я могу указать значения, которые я хочу для широты и долготы?
import math
def distance(origin, destination):
lat1, lon1 = origin
lat2, lon2 = destination
radius = 6371 # km
dlat = math.radians(lat2-lat1)
dlon = math.radians(lon2-lon1)
a = math.sin(dlat/2) * math.sin(dlat/2) + math.cos(math.radians(lat1)) \
* math.cos(math.radians(lat2)) * math.sin(dlon/2) * math.sin(dlon/2)
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
d = radius * c
return d
EDIT: Например, если у меня есть
lat1 = 20 and lon1 = 100
lat2 = 30 and lon2 = 110
почему он не в состоянии, когда я заменяю lon1 с номером в функции?
Im до сих пор путают о том, как использовать это, как я держу когда я пытаюсь выполнить ошибку. Скажем, мои lat1 = 20 и мои lon1 = 100 и lat2 = 30 и lon2 = 110, как бы я тогда поместил эти числа в ваше уравнение и всю функцию. Спасибо – user2430623
Нравится это: 'distance ((20, 100), (30, 200))' –
Lopez, пожалуйста, вы можете редактировать внутренний код выше, потому что Im пытается ваш, и он вообще не работает, потому что я продолжаю получать недопустимый синтаксис, когда я печатаю в кортежах, как вы показали – user2430623