본문 바로가기
아주 미비한 코딩/Python

[Python] 두 좌표사이의 거리 구하기 - Haversine distance

by 찌노오 2023. 1. 19.

 

 

 

 

 

 두 좌표(위도, 경도) 사이의 거리를 구할 때, 거리 측정 함수인 허버사인 거리(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

 

은근히 필요할 때가 많아서 기록해둔다.

 

 

 

 

 

 

 

반응형

댓글