DB엔지니어가 공부하는 python

python 라이브러리 haversine 사용법

sTricky 2020. 5. 29. 17:30

python 라이브러리 haversine 사용법

 

 

파이썬 라이브러리 중에 위경도 값 데이터를 이용해서 두 지점 간 거리를 구할 때 유용하게 쓸 수 있는 패키지가 있습니다.

 

바로 하버사인 (haversine) 패키지입니다.

 

 


#하버 사인
 (haversine) 필요성

어떤 평면에서 두 점 사이의 거리를 구하는 방법은 아래와 같이 피타고라스 정리를 사용하면 됩니다.

아주 간단하게 두 지점 사이의 직선거리를 구할 수 있겠죠?

 

하지만 다들 아시다시피 지구는 둥급니다.

 

이렇게 둥근 지구에서 직선거리를 평면에서 거리를 구하듯이 구하면 안 되겠죠?

두 지점 사이에는 호가 생기기 때문입니다.

 

최단거리가 직선이 아닌 곡선이 되는 것 이죠.

 

이때 거리를 구하는 방법이 바로 하버 사인(Haversine) 공식이 되겠습니다.

 

#하버 사인 (haversine)  공식

그럼, 파이썬에서 하버 사인(Haversine) 사용법에 관해서 안내 드리겠습니다.

 

#하버 사인(Haversine) 설치방법

pip install haversine

#하버 사인(Haversine) 패지키 불러오기

from haversine import haversine

#거리를 계산하는 방법

# 위경도 입력
Seoul = (37.541, 126.986)  #Latitude, Longitude
Toronto = (43.65, -79.38)

# 거리 계산
haversine(Seoul, Toronto, unit = 'km')

여기서 unit 부분에 출력 값의 타입을 설정할 수 있습니다.

단위

unit 값 (unit = )

FEET

ft

KILOMETERS

km

MILES

mi

INCHES

in

METERS

m

NAUTICAL_MILES

nmi

#사용 예시

위와 같이 하버 사인(Haversine) 라이브러리를 사용하실 수 있습니다.

 

감사합니다.

 

## 하버 사인(Haversine)으로 DB에서 위경도 값 불러와 거리 계산 실습 ##

2020/05/29 - [DB 엔지니어가 공부하는 python] - 파이썬으로 GPS 두 위경도 좌표 간 거리 구하기

 

파이썬으로 GPS 두 위경도 좌표간 거리 구하기

파이썬으로 GPS 두 위경도 좌표 간 거리 구하기 안녕하세요. 어느 두 지점간의 거리를 계산을 해야 할 때가 있습니다. 두 지점간을 직선거리로 이었을 때의 그 거리가 얼마나 나오는지, 확인이 필

stricky.tistory.com

 

 

 

by.sTricky