우리나라 지도 SHP


우리나라 지도 SHP
지도 SHP 파일 다운로드 받은 뒤에 지도 좌표계를 WGS84 으로 SHP 좌표 변환 방법을 알려드립니다.
QGIS 설치 방법부터 QGIS 좌표계 변환까지 QGIS 사용법을 함께 우리나라 지도 SHP 파일을 사용하여 설명드리도록 하겠습니다.

SHP 지도 다운로드

우리나라 행정구역 SHP 파일을 다운로드 받도록 하겠습니다. 아래의 페이지에 방문하시면, 우리나라 SHP 파일 전자지도를 다운받으실 수 있습니다. 도로명주소 전자지도의 경우 신청 후 다운받을 수 있지만 그외의 지도는 신청없이 바로 다운 받으실 수 있습니다. 이번 글에서는 우리나라 행정구역 지도인 기초구역도를 다운 받고, 설명드리도록 하겠습니다.

http://www.juso.go.kr/addrlink/addressBuildDevNew.do?menu=mainJusoLayer

http://www.juso.go.kr/addrlink/addressBuildDevNew.do?menu=bsin

지도 SHP 파일

위에서 다운받은 전국 지도 SHP 파일은 레어이가 Polygon 형태로 구성되어 있으며, 좌표계는 GRS80 UTM-K(한국형 UTM좌표계)로 제공 되고 있습니다. 우편번호로 활용되고 있는 우리나라 행정구역 SHP 파일이 전국 기초구역번호 정보를 전자지도(SHAPE) 형식으로 제공합니다.

첫번째 제주특별자치도 디렉터리 안에 존재하는 TL_KODIS_BAS_50.shp 파일의 첫 번째 shape의 Record 값의 내용은 다음과 같습니다. 좌표 부분은 일부 값을 생략하였지만, 값이 높은 것을 알 수 있습니다.

{
  "type": "FeatureCollection", 
  "features": [
    {
      "geometry": {
        "type": "Polygon", 
        "coordinates": [
          [
            [
              909843.9213686102, 
              1501354.1689585096
            ]
          ]
        ]
      }, 
      "type": "Feature", 
      "properties": {
        "SIG_CD": "50110", 
        "BAS_AR": 0.108359531, 
        "CTP_KOR_NM": "제주특별자치도", 
        "MVMN_RESN": "국가기초구역 최초생성", 
        "OPERT_DE": "20121221000000", 
        "BAS_ID": "63207", 
        "SIG_KOR_NM": "제주시", 
        "BAS_MGT_SN": "5011000307", 
        "NTFC_DE": "20121221", 
        "MVMN_DE": "20121221"
      }
    }
  ]
}

QGIS라는 프로그램을 사용하여 GRS80 UTM-K 좌표계를 WGS84 위경도 좌표로 변환해 보도록 하겠습니다. SHP 파일을 분석하기 위한 자세한 내용은 다음 글을 참고해 주시기 바랍니다.

SHP 파일 구조

QGIS 설치

SHP 좌표 변환을 위해서는 QGIS 라는 프로그램이 필요합니다. QGIS 는 공개된 지리정보쳬계(GIS)으로 윈도우와 리눅스등의 다양한 운영체제를 지원하면서 데이터 뷰, 편집, 분석등의 기능을 제공합니다.

우분투 등의 데비안 계열 운영체제일 경우 아래의 명령어를 이용하여, QGIS 프로그램을 설치 하실 수 있고, 윈도우 사용자일 경우 다음 페이지에 방문하여 프로그램을 설치 할 수 있습니다.

$ sudo apt install qgis

https://www.qgis.org/ko/site/forusers/download.html

QGIS 좌표계 변환

위에서 다운로드 받은 지도 SHP 파일은 GRS80 UTM-K(한국형 UTM좌표계) 으로 사용하기 때문에, 포털에서 제공되는 지도 API 에서 바로 사용되기 어렵습니다. 따라서 WGS84 좌표계 으로 변환해 보도록 하겠습니다.

먼저 다운받은 디렉터리에서 GRS80_UTMK.prj 파일을 시/도 디렉터리 안에 존재하는 파일명에 맞춰서 복사합니다. 만약 제주특별자치도 디렉터리안에 복사할 경우 다음과 같은 구조가 될 것입니다.

제주특별자치도/
├── TL_KODIS_BAS_50.dbf
├── TL_KODIS_BAS_50.prj
├── TL_KODIS_BAS_50.shp
└── TL_KODIS_BAS_50.shx

QGIS Desktop 프로그램을 실행하여, [Layer] – [Add Layer] – [Add Vector Layer]를 선택하여 TL_KODIS_BAS_50.shp 파일을 선택합니다.

SHP 파일의 벡터 레이어가 추가되면 다음 그림 처럼 지도 정보가 나타날 것입니다.

다음은 좌측 레이어 화면에서 추가된 레이어를 선택하시고, 아래의 이미지 처럼 마우스 오른쪽 버튼을 클릭하여 나타난 팝업 메뉴에서 [Save as]을 선택합니다.

생성된 팝업 윈도우에서 [CSR] 부분에 현재 선택된 좌표계 대신 WGS84 좌표계를 선택하고, 파일명을 입력 후 [OK] 버튼을 클릭합니다.

저장된 SHP 파일을 확인하면, 아래의 내용처럼 좌표 정보가 수정 된 것을 알 수 있습니다.

{
  "type": "FeatureCollection", 
  "features": [
    {
      "geometry": {
        "type": "Polygon", 
        "coordinates": [
          [
            [
              126.52939890878392, 
              33.50025674796677
            ]
          ]
        ]
      }, 
      "type": "Feature", 
      "properties": {
        "SIG_CD": "50110", 
        "BAS_AR": 0.108359531, 
        "CTP_KOR_NM": "제주특별자치도", 
        "MVMN_RESN": "국가기초구역 최초생성", 
        "OPERT_DE": "20121221000000", 
        "BAS_ID": "63207", 
        "SIG_KOR_NM": "제주시", 
        "BAS_MGT_SN": "5011000307", 
        "NTFC_DE": "20121221", 
        "MVMN_DE": "20121221"
      }
    }
  ]
}

위에서 저장된 SHP 파일을 GeoJSON 형태로 변환하기 위해서는 다음글을 참고해 주시기 바랍니다.

SHP GeoJSON 변환

( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)