대한민국좌표계 grs80 gps 변환 방법

헷갈리는 좌표계

자주 이용하는 좌표계

1. 원본 데이터의 출처와 특징을 파악

  • 도로명지도는 EPSG 5179(UTM-K)
  • GPS 데이터는 EPSG 4326
  • 지적도는 EPSG 5174일 가능성이 높음

2. 원점 좌표 정보를 확인

  • .prj 파일 등의 좌표계 정보가 함께 있을 때
  • 기준원점 경도 좌표에 소수자리가 있으면 (127.00289~~) 베셀타원체를 쓰는 한국측지계 즉, EPSG 5174(중부) 또는 5176(동부)
  • 기준원점 경도 좌표가 127.5도는 EPSG 5179 (UTM-K)
  • 기준원점 경도 좌표가 128인 경우는 Katech 좌표계

3. 가상 이동 좌표를 확인 (위의 정보가 전혀 없이 표시되는 좌표만 알 수 있을 때)

  • 가상 이동 좌표 기준원점의 경위도 좌표를 평면직각좌표 즉, Meter 단위로 환산하여 표시하기 위한 좌표. 음수가 나오지 않도록 일정값을 + 시킴
  • 정수 자리가 127, 38 등으로 표시되는 것은 EPSG 4326 경위도 좌표계
  • 남북 방향(Y) 좌표가 50만인 경우는 Bessel 또는 2000년대 GRS80 좌표계 중에 하나로서 5174 또는 5181을 정의해봐서 배경지도와 위치 확인
    (서울의 경우 X축 약 20만, Y축 약 45만 전후)
  • Y축이 60만인 경우는 최신 TM 좌표계로 5186(중부) 또는 5187(동부)
  • 중부는 경기, 충남, 전북, 전남 위주 지역이고, 동부는 강원, 경북, 경남, 부산시 등의 대한민국 동쪽 지역에 속하는 지역
  • 만약 5186(중부)으로 정의했는데 지도가 배경지도와 비교하여 동서축으로 떨어져 보인다면 5187(동부)임
  • 좌표가 X, Y축 모두 7자리인 경우는 5179
  • 5174 등의 예전 한국측지계는 EPSG 5174로 바로 정의하면 약 300여 미터 비스듬하게 떨어져서 보이게 됨. 맨 아래쪽 내용 참조.
    * QGIS 3.10.3 이후 버전 등 Proj6을 적용하는 SW에서는 커스텀 좌표계로 TOWGS84 파라미터를 붙여주지 않아도 제 위치에 나옴
  • 국가교통DB로 불리는 KOTI의 데이터는 KOTI-KATEC(H)이라는 비공식 좌표계로 제공됨 (요청시 UTM-K로 요청하는 것을 권장). 이 경우 역시 맨 아래쪽의 “QGIS에서 타원체 변환 계수를 포함시켜 좌표계 설정하는 방법”을 참조하여 커스텀 좌표계를 정의해서 써야 함

부연 설명

위의 내용만으로 해결되면 다행이겠으나 안된다면 더 원론적이고 상세한 내용을 찾아봐야 한다.

좌표계

완벽한 평면이 아닌 지구의 모양을 정의하고, 그 상태에서 특정 지점의 위치를 좌표로 표현하기 위한 방법

경위도 좌표계

구 형태인 지구를 측정하기 위해 60진법으로 경도와 위도로 위치를 표현하는 방법.
DMS는 도분초로서 각각 60진법을 적용하는 방식이고,
Decimal Degree는 도만 60진법이고 분과초는 10진법으로 변환하여 소수자리로 표현하는 방법. 공공데이터의 CSV에 좌표가 들어있는데 36.123456, 127.123456 등으로 되어 있으면 Decimal Degree이고 QGIS등에서 좌표로 공간데이터화할 때 가장 기본으로 제공되는 좌표계임.
(물론 DMS나 직각평면좌표계도 설정만 맞춰주면 됨)
EPSG라는 산업표준 좌표계 코드는 4326이고, GPS 기본 좌표계이기도 함.

DMS를 Decimal Degree로 변환

DMS로 데이터가 오면 분/60, 초/3600한 다음 모두 더해주면 Decimal Degree가 됨. 엑셀이나 파이썬 등에서 처리하면 됨

평면직각좌표계

지구를 직사각형 지도로 표현할 때 가장 대표적인 도법이 TM(Transverse Mercator)라는 평면직각좌표계임. TM 즉, 메르카토르 도법이 직각평면의 대표주자가 된 이유는 대항해시대 항해에 최적이었고, 도면화하기도 쉽기 때문

구글좌표계 (EPSG 3857)

구글좌표계는 세계지도를 TM으로 적용할 수 있는 대표적인 좌표계이고, 그래서 구글맵, OSM(Open Street Map), 브이월드 지도에서 채택하고 있음

대한민국 좌표계

대한민국의 좌표계라고 하면 TM 직각평면좌표계를 의미함. 일제강점기에서 기원한 지역좌표계(베셀타원체)를 쓰다가 2000년대에 세계측지계로 전환했는데, 2010년대에 또 한번 바꾸면서 여러가지 버전이 있고, 또 지역적으로 서부/중부/동부/동해/제주 등 권역별 원점이 있고, 또 전국 단일 좌표계를 지원하는 KATECH, UTM-K(5179) 등이 나오면서 워낙 여러가지 좌표계가 있다보니 혼란의 주요 원인을 제공하고 있음.

하지만 서비스용 데이터는 UTM-K로 정리되고 있는 상황이라 기다리다 보면 나아질 것으로 희망. 다만, 시군구-시도-전국 단위로 시스템 체계가 굳어진 지적이나 건축 등의 분야는 아직도 지역좌표계(베셀타원체)인 5174로 제공되고 있는 실정임. 한번 더 정리해보면…

대한민국 좌표계 — 지역측지계

구글지도, 브이월드 지도 등의 배경지도 위에 띄워봤는데 비스듬하게 3백여 미터 안맞는 경우는 EPSG 5174 등의 지역좌표계(베셀타원체)인 경우라고 보여짐. 특히 중요한게 QGIS 등의 툴에서 EPSG로 정의해도 여전히 위치가 안맞으므로 OSGeo에서 공개한 매개변수를 붙여서 커스텀 좌표계로 정의해줘야 함

  • QGIS 3.10.3 이후 버전 등 Proj6을 적용하는 SW에서는 커스텀 좌표계로 TOWGS84 파라미터를 붙여주지 않아도 제 위치에 나옴

대한민국 좌표계 — 세계측지계

5181이나 5186으로 정의한 후 4326 등으로 변환하여 위치가 잘 맞으면 제대로 정의한 것임.

만약 남북으로 100km 정도 안맞으면 5181(2000년대)–5186(2010년대 이후)간에 바꿔서 다시 정의하면 됨

Terry Very Good

위경도좌표 표시는 지구가 완전한 구형태도 아니고, 평면도 아니라서 여러 좌표 형태가 존재함

ㅇ 기본 지식 함양

대한민국좌표계 grs80 gps 변환 방법

-      경도(Longitude)를 나타내는 선을 자오선(Meridian)이라 하고, 북극에서 남극으로 이어지는 선이다.
-      위도(Latitude)는 양극의 중간인 적도로부터 -90~90도까지를 말하며, 동일한 폭(거리)을 가지기에 평행선(Parallels)라고 함
-      위도 1도는 대량 111km(69마일)이고, 1'은 1해리(1.85km)이며 1''는 약 30.88m(100피트)임.

ㅇ 대표적 좌표

-      WGS84 좌표 : 구글 등에서 사용하는 좌표형태 ( GS84 좌표계의 원점은 지구의 질량 중심이며, GPS가 사용하는 좌표계이다.)

-       UTM 좌표(Universal Transverse Mercator/국제 횡원통 투영좌표) : 지구 전체를 원통으로 감싸는 형태의 좌표계로서 적도를 횡축으로 자오선을 종축으로 하는 세계의 표준화된 국제 횡 메르카토르 도법. 타원형이라 각각의 위경도를 나누어서 세로운 좌료 중심을 만들어 사용하는 좌표계  지구의 경도를 6도씩 60구역으로 나누고, 위도는 8%씩 80도까지 남북 각 10등분함.(단 북쪽의 X구역은 12도로 나눔). 따라서 남쪽에서 A,B는 남극, Y,Z는 북극. 그리고 남극에서부터 C,D로 시작하여 W,X까지 표기된다.(우리나라는 51, 52 종대 ST 횡대에 속함)

-      UTMK 좌표 :  한국 지리정보원에 사용하는 좌표로 UTM 좌표의 중심을 가지면 우리나라의 평면이 계산이 오류가 좀 있어서 UTM 좌표의 중심을 조금 SHIFT 해 놓은 좌표 임

대한민국좌표계 grs80 gps 변환 방법


       ▪ 서부원점(GRS80)-falseY:60000 : EPSG:5185               // lat: 129 lng: 38
                ▪ +proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs
       ▪ 중부원점(GRS80)-falseY:60000 : EPSG:5186             // lat: 127 lng: 38
               ▪ +proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs
       ▪ 동부원점(GRS80)-falseY:60000 : EPSG:5187              // lat: 125 lng: 38
               ▪ +proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs
        ▪ 동해(울릉)원점(GRS80)-falseY:60000 : EPSG:5188    // lat: 131 lng: 38
                ▪ +proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_def

ㅇ 좌표 변환을 위한 PROJ 설치 후 사용법

         - 명령어는 cs2cs 이고, 각종 파라미터는 proj 파일을 사용해서 위의 좌표 원 중심을
          동경 38, 북위 127.5  설정 후 해당 좌표에 x,y 만큼의 띄워서 중심 좌표를 잡는 다고 이해 하면된다.

         - cli 명령어로 하나씩 확인 방법

cs2cs +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs +to +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs [엔터키]

 타원을 그리는 방식이 여러가지인데 여기는 GRS80 으로 설정하는 형태

ㅇ 좌표의 설정값 을 주어야 제대로 변환 되는데, 해당 좌표 설정값을 어디 한쪽에 메모해놓으면 나중에 긴히 쓸 수 있을 것 같아 적어둠.

- 파일로 변환  방법

utmk to wgs84

cs2cs +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs +to +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs 파일명 > 저장하고자 하는 파일명

wgs84 to utmk

cs2cs +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +to +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs 파일명 > 저장하고자 하는 파일명

[전지구 좌표계]
전세계를 한번에 나타내야 할 때 많이 쓰이는 좌표계들입니다.
*WGS84 경위도: GPS가 사용하는 좌표계
EPSG:4326, EPSG:4166 (Korean 1995)
+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs 

*Bessel 1841 경위도: 한국과 일본에 잘 맞는 지역타원체를 사용한 좌표계
EPSG:4004, EPSG:4162 (Korean 1985)
+proj=longlat +ellps=bessel +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43

*GRS80 경위도: WGS84와 거의 유사
EPSG:4019, EPSG:4737 (Korean 2000)
+proj=longlat +ellps=GRS80 +no_defs

*Google Mercator: 구글지도/빙지도/야후지도/OSM 등 에서 사용중인 좌표계
EPSG:3857(공식), EPSG:900913(통칭)
+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs

[UTM]
전세계를 6도 단위로 나누는 표준적인 TM으로 군사지도에서 많이 사용합니다.
*UTM52N (WGS84): 경도 120~126도 사이에서 사용
EPSG:32652
+proj=utm +zone=52 +ellps=WGS84 +datum=WGS84 +units=m +no_defs 

*UTM51N (WGS84): 경도 126~132도 사이에서 사용
EPSG:32651
+proj=utm +zone=51 +ellps=WGS84 +datum=WGS84 +units=m +no_defs 


[보정안된 오래된 지리원 표준]
이 좌표계들은 EPSG에 등록되어 있지만, lon_0값의 문제로 실제로는 거의 사용되지 않습니다.
[오래된 지리원 표준]이 현업에서 실제 사용된 좌표계입니다.
*동부원점(Bessel): 강원도 등 동부지역
EPSG:2096
+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43

*중부원점(Bessel): 서울 등 중부지역
EPSG:2097
+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43

*서부원점(Bessel): 서해5도 등 서부지역
EPSG:2098
+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43


[오래된 지리원 표준]
2002년 이전에 지리원의 지형도와 KLIS 등 국가 시스템에서 사용되었던 좌표계입니다.
*보정된 서부원점(Bessel) - KLIS에서 서부지역에 사용중
EPSG:5173
+proj=tmerc +lat_0=38 +lon_0=125.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43

*보정된 중부원점(Bessel): KLIS에서 중부지역에 사용중
EPSG:5174
+proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43

*보정된 제주원점(Bessel): KLIS에서 제주지역에 사용중
EPSG:5175
+proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0=200000 +y_0=550000 +ellps=bessel +units=m +no_defs  +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43

*보정된 동부원점(Bessel): KLIS에서 동부지역에 사용중
EPSG:5176
+proj=tmerc +lat_0=38 +lon_0=129.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43

*보정된 동해(울릉)원점(Bessel): KLIS에서 울릉지역에 사용중
EPSG:5177
+proj=tmerc +lat_0=38 +lon_0=131.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs  +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43


[KATEC 계열]
한반도 전체를 하나의 좌표계로 나타낼 때 많이 사용하는 좌표계입니다.
*UTM-K (Bessel): 새주소지도에서 사용 중
EPSG:5178
+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43

*UTM-K (GRS80): 네이버지도에서 사용중인 좌표계
EPSG:5179
+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs 

// 2014년 1월 21일 신상희 추가 
*네비게이션용 KATEC 좌표계(KOTI-KATEC)
EPSG 없음. 비공식 좌표계임. 
+proj=tmerc +lat_0=38 +lon_0=128 +k=0.9999 +x_0=400000 +y_0=600000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43


[타원체 바꾼 지리원 표준]
과거 지리원 좌표계에서 타원체와 lon_0 문제를 수정한 좌표계로 2000년대 초반에 잠시 많이 사용되었습니다.
*서부원점(GRS80)-falseY:50000
EPSG:5180
+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +units=m +no_defs

*중부원점(GRS80)-falseY:50000: 다음지도에서 사용중인 좌표계
EPSG:5181
+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +units=m +no_defs

*제주원점(GRS80)-falseY:55000
EPSG:5182
+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=550000 +ellps=GRS80 +units=m +no_defs

*동부원점(GRS80)-falseY:50000
EPSG:5183
+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +units=m +no_defs

*동해(울릉)원점(GRS80)-falseY:50000
EPSG:5184
+proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +units=m +no_defs

[현재 국토지리정보원 표준]
2002년 이후에 국토지리정보원 지형도에서 사용중인 좌표계입니다.
*서부원점(GRS80)-falseY:60000
EPSG:5185
+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs

*중부원점(GRS80)-falseY:60000
EPSG:5186
+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs

*동부원점(GRS80)-falseY:60000
EPSG:5187
+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs

*동해(울릉)원점(GRS80)-falseY:60000
EPSG:5188
+proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs


출처: http://www.osgeo.kr/17 [OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter]


출처: https://wwhitelife.tistory.com/55 [Life is... with something]