Python에서 두 GPS 지점 사이의 거리 계산

Oluwafisayo Oluwatayo 2023년6월21일
  1. Python의 Haversine 공식을 사용하여 두 GPS 지점 사이의 거리 계산
  2. Python의 mpu 라이브러리를 사용하여 두 GPS 지점 사이의 거리 계산
  3. Python의 geopy 라이브러리를 사용하여 두 GPS 지점 사이의 거리 계산
  4. 결론
Python에서 두 GPS 지점 사이의 거리 계산

두 GPS 지점 사이의 거리를 계산하는 것은 Python 프레임워크 내에서 작동할 수 있는 지리적 및 수학적 연습입니다. 이제 Python으로 이 작업을 수행하는 방법을 살펴보겠습니다.

Python의 Haversine 공식을 사용하여 두 GPS 지점 사이의 거리 계산

haversine 공식은 Python을 사용하여 두 GPS 지점 사이의 거리를 계산하는 단순화된 방법이지만 그 계산은 지구가 완전한 구형이라는 가정을 기반으로 합니다. 그러나 지구는 완벽한 구체가 아닙니다.

이는 우리가 얻게 될 결과가 완벽하게 정확하지 않다는 것을 의미합니다. 가정으로 인해 약간의 오차가 있습니다. haversine 공식은 두 쌍의 경도와 위도 사이의 거리를 계산하여 두 GPS 지점 사이의 거리를 계산합니다.

Python을 만들고 내부에 이러한 코드를 입력합니다. 아래와 같이 파일 이름을 new.py로 지정합니다.

코드 스니펫 - new.py:

from math import radians, cos, sin, asin, sqrt


def haversine(lat1, lon1, lat2, lon2):

    R = 3959.87433

    dLat = radians(lat2 - lat1)
    dLon = radians(lon2 - lon1)
    lat1 = radians(lat1)
    lat2 = radians(lat2)

    a = sin(dLat / 2) ** 2 + cos(lat1) * cos(lat2) * sin(dLon / 2) ** 2
    c = 2 * asin(sqrt(a))

    return R * c


lon1 = -103.548851
lat1 = 32.0004311
lon2 = -103.6041946
lat2 = 33.374939

print(haversine(lat1, lon1, lat2, lon2))

출력:

Haversine을 사용하여 Python 계산 거리

실행을 클릭하면 터미널 내부에서 이 결과를 볼 수 있습니다.

Python의 mpu 라이브러리를 사용하여 두 GPS 지점 사이의 거리 계산

mpu는 Martins Python Utilities에서 파생되었으며 다른 종속성 없이 다양한 기능을 수행하는 데 사용할 수 있는 Python 라이브러리입니다.

먼저 다음을 입력하여 mpu를 설치합니다.

pip install mpu

그런 다음 새 Python 파일을 만들고 new.py라는 이름을 지정하고 아래 코드를 입력합니다.

코드 스니펫 - new.py:

import mpu

lat1 = 32.0004311
lon1 = -103.548851

lat2 = 33.374939
lon2 = -103.6041946

dist = mpu.haversine_distance((lat1, lon1), (lat2, lon2))
print(dist)

잠시 기다리면 터미널 내부에서 계산된 거리를 볼 수 있습니다.

출력:

![MPU를 사용하여 Python 계산 거리](</img/Python/python은 mpu.gif>를 사용하여 거리를 계산합니다.

Python의 geopy 라이브러리를 사용하여 두 GPS 지점 사이의 거리 계산

Python용 geopy는 국가, 주, 도시 등 간의 거리를 계산하기 위해 특별히 설계된 라이브러리입니다. 다음 예에서 볼 수 있듯이 킬로미터, 마일 등을 사용하여 거리를 계산할 수 있습니다.

터미널 내부에 다음을 입력하여 geopy 라이브러리를 설치합니다.

pip install geopy

새 파일을 만들고 이름을 new.py로 지정하고 다음 코드를 입력합니다.

from geopy.distance import geodesic

origin = (30.172705, 31.526725)

dist = (30.288281, 31.732326)

print(geodesic(origin, dist).kilometers)

출력:

Geopy를 사용하여 Python 계산 거리

결과를 마일로 표시하려면 코드의 마지막 비트에서 킬로미터마일로 변경하고 코드를 실행하십시오.

결론

지구상의 두 특정 지점 사이의 거리를 계산하는 것은 이보다 쉬울 수 없습니다. haversine 공식이 약 0.5% 정도 차이가 날 수 있지만 결과는 여전히 가깝고 다양한 프로젝트에 사용할 수 있습니다.

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.

LinkedIn