ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 네이버 지도 API, 카텍(Katech) 좌표계 변환
    카테고리 없음 2019. 3. 28. 21:33

    졸업 작품으로 네이버 Open API를 활용한 안드로이드 앱을 개발했다. 이곳에서 지원하는 네이버 검색/지역 API는 네이버 검색 서비스를 통해 특정 점포의 점포명, 좌표값 등을 제공하는데 이때 좌표값은 정수형으로 반환한다. 문제는 실제로 이 좌표값을 네이버 지도 API에 그대로 적용했더니 엉뚱한 위치로 중심점이 이동해버리는 상황이 발생했다. 네이버 개발자 문서를 확인해보니, 네이버 검색/지역 API에서 반환하는 좌표값은 카텍(Katech) 좌표를 출력한다고 명시되어 있었다. 이에 반해 네이버 지도 API는 해당 좌표계를 그대로 사용하지 않기 때문에 발생된 문제였다.

     

    조사해본 결과는 아래와 같다.

     

    – Bessel 타원체 지구 모델링에 위도 128도, 경도 38도를 중심으로 TM방식으로 투영한 좌표계로써, 다른 명칭으로 TM128으로 부르기도 한다.
    – 일반적으로 사용하는 경위도(구글 좌표)는 WGS84 타원체의 경위도 좌표계. Bessel과 WGS84의 차이점
    – 구글좌표를 네이버에서 사용 중인 좌표로 변환 하고자 한다면, ‘WGS84 경위도 좌표 -> Bessel 경위도 좌표 -> TM128’ 순서로 변환할 것. 그러나, 지구는 평면이 아니라 둥글기 때문에 위치 왜곡이 발생.
    – 네이버에서는 공식적으로 ‘카텍 좌표계 -> WGS84 좌표계’ 변환 API를 제공하지 않으며, WGS84 타원체와 거의 동일한 GRS80 타원체를 기본 좌표계로 사용하고 있음.

     

    Katech -> WGS84 좌표계로의 변환에 대해서 검색을 해보던 중, 해당 변환 알고리즘을 제공하는 블로그를 찾을 수 있었다. 그러나 이 알고리즘을 통해 네이버 검색/지역 API에서 제공하는 좌표값을 네이버 지도 API에 적용할 경우, 지도 API에서의 위치가 주로 인천쪽으로 발생하는 문제점이 발생했다. 이에 대해서 원 저자는 네이버가 변형된 형태의 Katech 좌표를 사용하기 때문이라고 설명한다.

     

    네이버 지도 API에서 사용가능하도록 수정된 자바 코드는 링크을 참조할 것.

Designed by Tistory.