지구상의 위도와 경도의 거리를 계산할 때이 함수를 온라인에서 사용하려고합니다.매개 변수를 파이썬 함수에 전달하는 방법은 무엇입니까?
그러나, 나는 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
편집 : 예를 들어 , 내가
lat1 = 20 and lon1 = 100
lat2 = 30 and lon2 = 110
이있는 경우 나 기능의 수와 lon1를 교체 할 때 왜 실패 하는가? 이런
임 여전히 혼란 어디 유지로 실행하려고하면 오류가 발생합니다. 내 lat1 = 20, 내 lon1 = 100, lat2 = 30, lon2 = 110라고하면 어떻게 그 수를 방정식과 함수 전체에 넣을 수 있을까요? 감사합니다 – user2430623
'(20, 100), (30, 200))' –
로페즈 당신이 시도하기 때문에 위의 초기 코드를 편집 할 수 있습니까? 당신이 보여준 것처럼 튜플에서 – user2430623