이 Python 가이드에서는 GPS 지점을 결정하는 강력한 도구인 Haversine 공식을 자세히 살펴보겠습니다. 두 GPS 사이의 거리와 방위 좌표.
문제:
두 GPS 지점 사이의 거리와 방위를 계산하려고 하는데 방위 출력에 불일치가 발생하여 음수 값이 생성됩니다. 0~360 범위 내에 있어야 합니다. 도.
코드:
제공된 코드는 Haversine 공식을 사용하여 거리와 방위를 모두 계산합니다.
from math import radians, cos, sin, asin, sqrt def haversine(lon1, lat1, lon2, lat2): # 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 return c * r
베어링 계산 :
제공된 코드의 문제는 베어링 계산에 있습니다. 이를 수정하려면 다음 행을 수정해야 합니다.
Bearing = atan2(cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)*cos(lon2-lon1), sin(lon2-lon1)*cos(lat2))
대상:
Bearing = degrees(atan2(sin(lon2-lon1)*cos(lat2), cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)*cos(lon2-lon1)))
이 조정을 통해 베어링 출력이 예상 범위인 0-360도와 정렬되도록 합니다.
결론:
베어링 계산을 고정한 상태에서, 이제 코드는 제공된 GPS 지점 사이의 거리와 방위를 정확하게 결정합니다. Haversine 공식은 지리적 계산을 위한 강력한 도구임이 입증되어 지구 표면의 거리를 정확하게 측정할 수 있습니다.
위 내용은 Python에서 Haversine 공식을 사용하여 GPS 지점 사이의 거리와 방위를 계산할 때 음의 방위 값을 어떻게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!