Python에서 Haversine 공식을 사용하여 두 GPS 지점 사이의 방위와 거리를 계산하는 방법
Haversine 공식은 GPS 지점을 계산하는 데 사용되는 수학 방정식입니다. 구 위의 두 점 사이의 대원 거리. GPS의 맥락에서 이 공식은 두 GPS 좌표 사이의 거리와 방위를 모두 결정하는 데 사용될 수 있습니다.
1단계: 함수 정의
from math import radians, cos, sin, asin, sqrt def haversine(lon1, lat1, lon2, lat2): """ Calculate the great circle distance in kilometers between two points on the earth (specified in decimal degrees) """ # convert decimal degrees to radians lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) # haversine formula dlon = lon2 - lon1 dlat = lat2 - lat1 a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 c = 2 * asin(sqrt(a)) r = 6371 # Radius of earth in kilometers. Use 3956 for miles. Determines return value units. return c * r
2단계: 계산
start_lon, start_lat = -1.7297222222222221, 53.32055555555556 bearing, distance = 96.02166666666666, 2 end_lon, end_lat = -1.6997222222222223, 53.31861111111111 distance_calculated = haversine(start_lon, start_lat, end_lon, end_lat) print("Distance:", distance_calculated)
출력:
Distance: 2.0000054199729084
이 예에서 계산된 거리는 예상 값 2와 일치합니다. 킬로미터.
참고:
위 내용은 Python의 Haversine 공식을 사용하여 두 GPS 지점 사이의 거리와 방위각을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!