타원체의 경위도 좌표와 방위각을 이용한 거리 계산

경위도 좌표와 좌표 사이의 거리 계산 및 방위각을 구하는 공식과 자바스크립트 소스, 엑셀 파일도 제공합니다.

 

아래 내용은 그대로 긁어온거라... 링크가 제대로 걸려있지 않습니다. 원문 링크로 가셔서 직접 테스트 해보시고 자료를 받으시기 바랍니다.

 

아래 소스를 사용하시려면 geo.js 파일이 필요합니다.

 

원문 : http://www.movable-type.co.uk/scripts/latlong.html


출처 - http://onlybalance.pe.kr/xe/tech/891


===================================================================================


출발할 지점(A)의

 

위도 의 시분초

경도 의 시분초

 

도착할 지점(B)의

 

위도 의 시분초

경도 의 시분초

 

가 필요합니다.

 

추가로

 

위도 경도의  시분초 거리를 알아야 겠죠?

 

위도

시 - 111Km

분 - 1.85Km

초 - 30.8m

 

경도

시 - 88.8Km

분 - 1.48Km

초 - 약25m

 

가됩니다.

이제 식을써볼까요.

 

A 의 위도의 시분초

B 의 위도의 시분초

 

로 결과값의 위도

 

A 의 경도의 시분초

B 의 경도의 시분초

 

로 나온 결과값 경도

 

결과값 위도/경도(C 라고하죠) 가나옵니다.

 

그러면 이런 그림이 나올겁니다..

허접해도 이해점

저건 다 직선인겁니다[...] 마우스가 흔들려서 

 

대충 이렇게 나옵니다..

 

여기서 수학을 아시는분이있으면

 

X의제곱 + Y의 제곱 = Z의 제곱이 되죠

 

그럼 결과값이 나옵니다.

예를들은 식을쓰자면요.

 

  A 지점 - 동경 127도 30분 20초  북위 36도 27분 08초
  B 지점 - 동경 127도 29분 30초  북위 36도 28분 00초
  C 지점 - 경도 00도   1분 10초      위도 00도1분 8초
          2] 경도간 거리          1분*1.48+10초*0.025=1.73km  - 이게 y 의 거리
              위도간 거리          1분*1.85+8초*0.031=2.10km    - 이게 x 의 거리
          3] A-B 지점간 거리

              루트( 1.73제곱+2.10제곱 )=2.72km

 

 

이렇게 결과가 나옵니다.

 

경도가 지구를 세로로 나눴다 라고보면되고

위도가 지구를 가로로 나눴다 라고 보면됩니다.

 

그래서 경도는 360도 씩 360개나오는거고

위도는 적도를 기준으로 남/북 으로 90 도씩 총 180도가 되는겁니다.

 

이걸 지도에서 할수있습니다.

문제는

 

A와 B의 직선 거리가 되기때문에

 

차로 갈때의 총거리가 다르게됩니다.

제가 테스트해봤을때는

 

서울시처 - 부산시청  의 테스트를 해봤는데

 

직선거리로는 약 333Km 가 나왔습니다.

하지만 다음 지도로 실제 이동거리를 보니 400Km 정도 나왔나.. 그랬습니다.

 

이정도로 차이가 나죠.

 

다음, 네이버의 오픈 API 에서는 거리계산하는걸 공개를 안해서

위도/경도로만 가져올 수 있는거 같습니다.

추후공개를 했으면 좋겠군요.

 

일하다가 정리할겸 적어봤음...


출처 - http://blog.naver.com/hyj88zzang/95828284




Posted by linuxism

댓글을 달아 주세요