QGIS3에서 타원체 변환계수를 포함시킨 좌표계 설정방법


주의사항 : 이 문서는 http://osgeo.kr/146 포스트의 내용을 기반으로 하여 QGIS3에 맞게 수정하였으며 기본적인 테스트를 거친 결과물이지만 정확한 테스트를 필요로 하는 지원 가능한 형태의 제품이 아님을 명시합니다.


1. QGIS의 문제점

QGIS에서는 한국에서 사용하는 좌표계를 포함하여 EPSG, IGNF등의 여러 좌표계를 지원하고 있습니다. 기존 프로그램과의 충돌등의 사유로 인해 부족함이 없지 않을 것이지만, QGIS3에까지 판올림을 하며 지속적으로 지원하는 좌표계가 늘어나고 있는 상황입니다.  이로 인해 현재 지원하지 않는 좌표계가 없다고 해도 무방할 정도의 갯수의 좌표계가 준비되어 있습니다. 실제로 QGIS3에서 korea 필터로 검색을 해보면 28개의 좌표계가 나타납니다. 주로 사용하는 4326(경위도좌표계)를 포함하면 29개를 사용할 수 있는 것이죠.


<QGIS3에서의 좌표계 확인>


하지만 이때 좌표계의 연산을 위한 한국의 epsg 코드에서 타원체 변환 계수에 문제가 있어 bessel 타원체를 사용하는 좌표계의 사용에 오차가 발생하게 됩니다. 오류없이 계산된 GRS80 타원체 사용 좌표계의 경우 아래 이미지와 같이 전자의 좌표계를 사용한 데이터와 약 300m 정도의 차이를 보이게 됩니다. (이 문제에 대해서는 앞서 오류를 발견하고 해결하신 분들의 노력과 기여에 대한 보답으로 별도로 논하지 않습니다.)

<5174좌표계의 데이터와 5181좌표계의 다음지도 사이에서 발생하는 오차>

<출처 : http://osgeo.kr/146 >


결국 해결책으로 저장된 기본 좌표계를 수정해 사용하거나, 정확한 좌표정보를 가진 새로운 좌표계를 정의하여 사용해야 하죠. 각종 호환을 이유로 기본 좌표계 정보를 수정하는 방법을 추천합니다.

<2097 좌표계에 wgs84 관련 파라미터가 없습니다. 이를 어찌 추가해줄까요..>


2. 해결책


앞서 언급한 것과 같이 새로운 좌표계를 정의하거나, 정의된 기본 좌표계를 수정하는 두가지 방법이 있습니다. 기존 분석 자료에서 새로운 좌표계 정의방법은 준비되어 있으므로 생략하고 기본 좌표계를 수정하는 방법에 대해서만 서술합니다.


먼저 아래 링크의 파일 srs.db를 다운받습니다.


https://drive.google.com/open?id=15JKM75mSgjTcMD5sUHLGltRZTeSqPjOV


windows의 경우 %QGIS_HOME%\apps\qgis\resources 안의 srs.db 파일을 백업한 후 위 다운로드한 파일을 덮어씌워주시면 OK!!

QGIS를 재시작할 필요 없이 파일 교체 후 좌표계를 확인해보면 아래와 같이 정보가 갱신됨을 확인할 수 있습니다.



이 파일은 QGIS 3.0.3_1 에 포함되어 있는 srs.db 파일을 추출하어 한국 좌표계중 (정확하게 좌표계 이름에 korea가 포함된 좌표계) bessel 타원체를 사용하는 좌표계 16개에 대해 종전에 식별되었던 wgs84 파라미터를 추가한 파일입니다. 종전의 qgis2에서 만들어진 srs.db 파일을 3버전에 적용해보았으나 extent 정보가 누락되어 있어(qgis3의 신기능) 올바른 영역 적용이 되지 않고 있는 문제가 발생하였고, 2018년 6월 9일 OSGEO KR 스터디그룹 서울1팀에서 내용 확인하고 작업하였으며 실제 적용한 내용은 다음과 같습니다.


auth_id

paramters (after)

5171

+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

5172

+proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

5173

+proj=tmerc +lat_0=38 +lon_0=125.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

5174

+proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

5175

+proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0=200000 +y_0=550000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

5176

+proj=tmerc +lat_0=38 +lon_0=129.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

5177

+proj=tmerc +lat_0=38 +lon_0=131.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

5178

+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs



2096

+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

2097

+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

2098

+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

4162

+proj=longlat +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +no_defs

5167

+proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

5168

+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=550000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

5169

+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs

5170

+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs


단,  QGIS3에서 영역 표시하는 지도가 경량화된 것으로 추측되는 지도이지만 이때 울릉도 정보가 누락되었는지 5167, 5177 두개의 좌표계(울릉도 좌표계)는 지도상에 아무런 내용이 나타나지 않아 진위 식별이 불가능합니다. 이는 지도의 문제라고 해야 하겠으나 어찌 되었건 수정한 정보의 정확성을 파악하는데에는 주의가 필요합니다.


2018.06.10.

OSGEO KR 서울1팀 (김재영, 류대완, 박송원, 손형수. 이상 가나다순)



Posted by 뚜또리