프로그래밍 언어/HTML,CSS,JS

두 위도-경도 지점 사이의 거리를 계산 하는 방법 (하버 신 공식)

Rateye 2021. 11. 11. 10:55
728x90
반응형
질문 : 두 위도-경도 지점 사이의 거리를 계산 하시겠습니까? (하버 신 공식)

위도와 경도로 지정된 두 지점 사이의 거리를 어떻게 계산합니까?

명확히하기 위해 킬로미터 단위의 거리를 원합니다. 포인트는 WGS84 시스템을 사용하며 사용 가능한 접근 방식의 상대적 정확도를 이해하고 싶습니다.

답변

링크 는 Haversine 공식 을 사용하여 거리를 계산하는 방법을 자세히 설명하므로 도움이 될 수 있습니다.

발췌 :

이 스크립트는 [자바 스크립트에서] 'Haversine'공식을 사용하여 두 지점 사이의 대원 거리, 즉 지구 표면에서 가장 짧은 거리를 계산합니다.

function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
  var R = 6371; // Radius of the earth in km
  var dLat = deg2rad(lat2-lat1);  // deg2rad below
  var dLon = deg2rad(lon2-lon1); 
  var a = 
    Math.sin(dLat/2) * Math.sin(dLat/2) +
    Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * 
    Math.sin(dLon/2) * Math.sin(dLon/2)
    ; 
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
  var d = R * c; // Distance in km
  return d;
}

function deg2rad(deg) {
  return deg * (Math.PI/180)
}
출처 : https://stackoverflow.com/questions/27928/calculate-distance-between-two-latitude-longitude-points-haversine-formula
728x90
반응형