[ 공모전 ] 지도 페이지 : 좌표계 정리와 서울시 API 좌표계는 실제로 무엇일까?

최문길·2024년 7월 12일
0

공모전

목록 보기
23/46
post-thumbnail

위도(latitude), 경도(longitude)


출저 : https://ryuhyun.tistory.com/15?category=855514

타원체 Bessel, GRS80 ,WGS84

지오이드

지구의 형상은 완벽한 구형이 아니라, 실제로는 굉장히 울퉁불퉁하다.
울퉁불퉁한 지구상에 위치를 표현하기 위해서 가상의 지구 표면을 가정한다.

중력 방향에 직각인 가상의 표면을 '지오이드(geooid)'라 한다.

지구타원체, 준거타원체

지구타원체(earth ellipsoid)

지오이드와 가장 유사한 '구형'(타원체)을 '지구타원체(earth ellipsoid)' 로 정의한다.

준거타원체(reference ellipsooid)

지구상의 각 지역에서는 해당 지역의 지오이드면에 가장 잘 맞는 타원체를 그 지역의 '준거타원체(reference ellipsooid)' 로 활용한다. 준거타원체는 국가마다, 지역마다 잘 맞는 타원체를 사용하므로 조금씩 다르다.

우리나라의 경우 한국과 일본 지역에 잘 맞는 Bessel 타원체를 사용하고 있었고,
인공위성과 같이 전 지구를 대상으로 하는 경우에 활용되는 지구타원체는 '국제표준타원체'로 GRS80, WGS84 등이 있다.


출저: https://ryuhyun.tistory.com/58

측지계

측지계(측지기준계)

엄밀히 말하면 측지기준계 종류인데, 해당 측지기준계에서 정의한 타원체도 각각 GRS80타원체, WGS84타원체란 이름으로 사용하고 있다.
지구상에서의 특정 위치를 경도와 위도로써 나타내기 위한 
1.기준체계 / 지구의 형상을 나타내는 
2.타원체를 총칭해 측지기준계.

여기서 세계측지계(ITRF-2000)는 전 세계 공통이 되는 측지기준계라는 뜻이다.

즉, 측지기준계이자 타원체명인데  일반적으로 혼용해서 사용하고 있다.

GRS80, ITRF-2000 측지기준계

 - 세계 각국에서 공통으로 이용할 수 있는 것을 목적으로 구축됨.
- 둘 다 타원체는 GRS80 타원체를 사용함.

WGS84 측지기준계

 - 미국에서 군사용으로 GPS시스템을 개발하면서 만들었다함.
- 타원체는 WGS84 타원체를 사용함.

좌표계

1. 지리좌표계

보편적으로 경위도좌표계 라고들 말한다.WGS84를 주로 사용. 사용하는 지구타원체도 WGS84타원체를 사용한다.

출저 : https://blog.tadadakcode.com/3

2. 투영좌표계

지리좌표계를 정해진 투영법에 따라 투영한 좌표계
3차원 지구타원체를 2차원 평면의 네모난 지도에 펼쳐 놓은 것

투영시 기준원점을 참고하여 투영을 하게 되는데, 중부원점(서울시....),동부원점등, 해당 지역에서 가장 왜곡이 적게 투영을 하기 위해서 기준원점을 지정한다.


출저 : https://blog.tadadakcode.com/3

타원체(Bessel, GRS80 ,WGS84)와 EPSG, 측지계 관계

타원체들과 EPSG의 관계를 헷갈려했는데 이미지 하나로 정리가 한번에 됬다.

EPSG는 타원체를 무엇으로 하는지에 관한 코드이며, EPSG코드를 보면 좌표계/원점과 타원체를 알수가 있는 것이다.
예를 들어 병원에서 병명 관련 코드가 있듯이 피부/여드름 → AG:48, 호흡기/코로나 → CR:80 피부는 AG , 여드름은 그에따른 48 이런식으로 하는 코드 명이다.

내 프로젝트에서의 좌표계들은??

동물병원&동물약국 API

중부원점TM(EPSG:2097) 좌표계에 따른 해당위치의 좌표 정보이며 위경도 좌표는 제공하고 있지 않음

  • 투영좌표계 : 중부원점TM
  • EPSG 코드 : EPSG:2097
  • 타원체 : Bessel 1841 타원체

카카오 맵 API

https://devtalk.kakao.com/t/topic/35844

  • EPSG코드 : EPSG:5181
  • 타원체 : GRS80
  • 투영좌표계 : Transverse Mercator (TM)

이렇게 되어있다.

그러나

여기서 주의할 점 ( 제일 중요한것 )

카카오맵 자체는 EPSG:5181을 사용하지만, (한국에만 사용하는 것이니까)
카카오맵에 좌표를 찍어 줄 때는 WGS84(지리좌표계)로 위도와 경도 좌표계로 변환 해줘야 하는 것이다. !!

조금 더 풀어서 설명하자면
카카오맵 자체는 한국이라는 특정 지역을 한정한 것이다. → 그러므로 EPSG:5181이다.
카카오맵에서 위치 표시는 GPS좌표계로 표시하는 것이다. → WGS84(지리좌표계) GPS 좌표계사용

"지리좌표계는 GPS와 같은 시스템에서 사용되며, 전 지구적 범위에서 위치를 위도와 경도로 표시한다.
반면, 투영좌표계는 지구의 곡면을 평면으로 변환하여 특정 지역의 위치를 평면 좌표(x, y)로 표시하는 것이다.




오차는 왜 생기는 것일까?

아래 링크에 있는 정보에 따르면 실제로 변환하기 위해서는 EPSG:2097이 아닌 EPSG:5174를 활용해야하는 것이었다.
출저 : EPSG:2097이 아닌 EPSG:5174인 토론
진짜 링크 찾는데 하루를 구글링 했네 ....

아래의 사진도 혹시몰라 첨부하였다.


출저 :https://www.localdata.go.kr/portal/portalDataGuide.do?menuNo=30002

해답은 EPSG:5174를 EPSG:4326(WGS84)로 변환하는 것이다!!.

마무리

좌표계와 측지계, 타원체를 알아보면서 사실 굳이 알아봐야 하나 싶었지만, 앞으로 위치 기반 서비스를 외부 API(구글, 카카오맵)를 사용 하게 될 때 단도리를 짓고 싶어서 알아보고 공부해봤다.

여러 블로그들이 도움이 많이 됬고, 너무 그 글들을 작성해준 분들에게 감사를 표한다.
나도 이번 블로그를 통해 개발자들에게 도움이 되었으면 좋겠다.

참고

좌표 : https://analogcode.tistory.com/37
EPSG별 정리 : https://blog.naver.com/yavisss/222898632583
좌표계 기초 : https://ryuhyun.tistory.com/m/60
구글 대화 ( 사실 EPSG:2097이 아닌 EPSG:5174 ) : https://groups.google.com/g/osgeo-kr/c/TY_xUdF0-Hk
개발자의 좌표변환 블로그 1
개발자의 좌표변환 블로그 2
개발자의 좌표계 간단 정리 : https://blog.tadadakcode.com/3
한국 주요 좌표계/한국어지부 : https://www.osgeo.kr/17
카카오 dev 카카오맵은 무슨 EPSG 코드인가요? : https://devtalk.kakao.com/t/topic/35844/2
WGS84와 GRS80 : https://m.blog.naver.com/whentlr/220205257624
EPSG 코드 정리 1 : http://www.gisdeveloper.co.kr/?p=8942
EPSG 코드 정리 2 : https://ybeaning.tistory.com/59
헷갈리는 좌표계

0개의 댓글

관련 채용 정보