본문 바로가기
FrontEnd

[QGIS] shp 파일의 좌표계 변환하기

by 푸고배 2020. 10. 16.

 Data 준비하기 

도로명주소 관련 DB 구축이 필요해서 개발자센터에서 전자지도를 다운받았다.

파일은 아래 사진과 같이 행정구역별로 폴더가 구분되어있으며, 각 제공 데이터 별로 dbf, shp, shx으로 3개의 파일이 존재한다. (각각이 의미하는 정보는 데이터 다운 시 pdf 파일로 자세히 나와있음)

 

 

 

전자지도 파일 포맷인 shapefile은 아래와 같은 구조를 가진다. (참고자료:위키피디아)

 

 필수 파일 

  • .shp-모양 형식; 특징 기하학 자체

  • .shx— 모양 색인 형식; 신속하게 앞뒤로 검색 할 수있는 기능 지오메트리의 위치 색인

  • .dbf— 속성 형식; dBase IV 형식 의 각 도형에 대한 열 속성

 

 다른 파일들 

  • .prj 좌표 참조 시스템  잘 알려진 텍스트 표현을 사용하는 투영 설명 

  • .sbn그리고 .sbx— 기능의 공간 인덱스 

  • .fbn그리고 .fbx— 읽기 전용 기능의 공간 인덱스

  • .ain그리고 .aih— 테이블 에서 활성 필드의 속성 인덱스

  • .ixs — 읽기-쓰기 데이터 세트에 대한 지오 코딩 색인

  • .mxs — 읽기-쓰기 데이터 세트에 대한 지오 코딩 색인 (ODB 형식)

  • .atx (ArcGIS 8 이상)  형식  .dbf파일 속성 색인shapefile.columnname.atxx-gis/x-shapefile

  • .shp.xml ISO 19115 또는 기타 XML 스키마  과 같은 XML 형식의 지리 공간 메타 데이터

  • .cpg— 사용할 문자 인코딩  식별하기 위한 코드 페이지 (에만 해당 .dbf)를 지정하는 데 사용됩니다. text/plainx-gis/x-shapefile

  • .qix MapServer  GDAL / OGR 소프트웨어에서 사용 하는 대체 쿼드 트리 공간 인덱스 

의 각 .shp, .shx 및 .dbf 파일에서 각 파일의 모양은 순서대로 서로 일치한다. (즉, .shp 파일의 첫 번째 레코드는 .shx 및 .dbf 파일의 첫 번째 레코드에 해당한다._ .shp 및 .shx 파일에는 엔디안이 다른 다양한 필드가 있으므로 파일 형식 구현자는 각 필드의 엔디안을 존중하고 적절하게 취급하도록 매우 주의해야 한다.

 

 좌표계 변경하기(UTM-K -> WGS84) 

1-1. 지도 Load하기 : OpenLayer Plugin

 

DB에 데이터를 저장하기 위해서 전자지도 공공데이터의 기초구역(TL_KODIS_BAS) DB 레이아웃과 polygon좌표(해당 기초구역의 위치좌표)를 json 형태로 변환이 필요했다. 따라서 QGIS Desktop이라는 프로그램을 이용한다. 

먼저 프로젝트>새로 생성(Ctrl+N)을 통해서 새로운 프로젝트를 생성하며 탐색기의 XYZ Tiles>OpenStreetMap을 실행해서 지도를 켠다. (없을 시 플러그인 관리 및 설치를 통해 OpenLayer Plugin을 설치한다.)

 

 

 

1-2. 지도 Load하기 : Google Tile Map

 

OpenLayer Plugin을 이용하는 방법보다 더 간단한 방법이 있다. 

XYZ Tiles를 이용하는 방법으로 탐색기의 XYZ Tiles > 새 연결... 을 통해 사용가능하다. 

이름URL을 변경해준다. (URL : www.google.com/maps/vt?lyrs=s@189&gl=cn&x= )

 

공공데이터 포탈에서 다운받은 shp 파일을 레이어로 옮긴 다음 좌표계 변환을 위해서 마우스 우클릭 후 좌표계 설정>레이어 좌표계 설정을 선택한다.

 

1-1, 1-2에서 셋팅한 지도의 기본 좌표계는 WGS 84 / Pseudo-Mercator(EPSG:3857)이다.

 

 

 

 

 

변경할 좌표계를 선택하여 p 파일을 레이어로 옮긴 다음(레이어 > 레이어 추가 > 백터 레이어 추가) 좌표계 변환을 위해서 마우스 우클릭 후 좌표계 설정>레이어 좌표계 설정을 선택한다.

 

 

도로명 주소 전자지도의 경우(ex.TL_SPBD_BULD) 좌표계가 아래와 같다.

Korea 2000 / Unified CS(EPSG:5179)

 

혹시나, 지도의 모양이 틀어졌거나 로드된 shp 파일이 보이지 않는다면, 오른쪽 하단의 좌표계가 EPSG:3857인지 확인해본다.

 

geojson으로 변환

 

좌표계 설정을 마쳤다면 프로젝트의 레이어를 다시 우클릭 한 후 내보내기>객체를 다른 이름으로 저장을 통해 geojson으로 변경해본다. 파일 이름과 좌표계 설정을 원하는 값으로 변경 후, 공간범위를 체크해줘야 내보내는 파일에 공간정보가 함께 담긴다.

 

 

 

변환된 파일의 예시는 아래와 같다.

 

 

 

 

 

반응형

댓글