두 좌표(위도, 경도) 사이의 거리를 구할 때, 거리 측정 함수인 허버사인 거리(Haversine distance)을 사용하는데 지구의 지름을 6,371km로 두고 킬로미터 단위로 두 지점의 사이의 거리를 구해준다.
파이썬으로 나타내면 다음과 같다.
from math import sin, cos, sqrt, atan2
def haversine_distance(lat1, lon1, lat2, lon2):
R = 6371 # radius of Earth in kilometers
dlat = lat2 - lat1
dlon = lon2 - lon1
a = sin(dlat / 2)**2 + cos(lat1) * cos(lat2) * sin(dlon / 2)**2
c = 2 * atan2(sqrt(a), sqrt(1 - a))
distance = R * c
return distance
은근히 필요할 때가 많아서 기록해둔다.
반응형
'아주 미비한 코딩 > Python' 카테고리의 다른 글
[Python] Selenium을 Webdriver-manager로 설정하기 (0) | 2024.08.17 |
---|---|
[Python] 네이버 플레이스(naver place) 리뷰 크롤링 (35) | 2024.08.11 |
[Python] json 파일 읽어서 csv로 저장하기 (1) | 2023.01.24 |
[Python] 네이버 플레이스 크롤링(selenium, BS4) (6) | 2022.12.20 |
[Python] json 형식 읽기 (0) | 2022.12.14 |
댓글