댕국쓰 공부/SW 사용법 & 리뷰

QGIS 사용법 - SHP 속성정보 조인하기 / 시군구 데이터에 시도 정보가 필요하다면?

댕국쓰 2023. 9. 27. 10:17
728x90
반응형

SHP 데이터를 사용하다보면 서로 다른 속성정보를 갖는 데이터를 하나로 합쳐야 할 때가 있다.

예를들어 행정경계 데이터를 구글링해서 찾아보면, 시도, 시군구, 읍면동, 리 단위로 구분해서 찾게될 것이다.

사용하는 사람 입장에서 행정경계는 시군구 데이터가 필요한데, 여기에 시도 정보가 같이 필요한 경우도 있다.

그래서 시도 및 시군구 shp 데이터를 이용해 속성정보를 조인하는 방법을 정리해봤다.

먼저 시도 및 시군구 행정경계에 대한 shp 형상은 다음 그림과 같다.

 

시도(좌) 및 시군구(우) 행정경계 shp

각각의 행정경계 shp의 속성정보를 보면, 코드, 영문명, 국문명으로 정리되어 있는 것을 알 수 있다.

시도(좌) 및 시군구(우) 행정경계 shp의 속성정보

여기서 코드는 우리나라 행정지역을 구분하기 위해 정의된 것으로 숫자로 구분되어 있다.

총 10자리 숫자로 구성되어 있는데, 시도, 시군구, 읍면동, 리 순으로 작성된다.

이때 행정동과 법정동으로 비교할 때, 리에 해당하는 맨 마지막 2자리를 제외하고는 모두 동일하다.

우리나라 행정동코드 구성

내가 찾은 시군구 shp 데이터의 속성정보를 보면 5자리로 구성되어 있다.

앞에 2자리는 시도, 뒤에 3자리는 시군구 코드가 입력되어 있는 것을 알 수 있다.

시군구 shp 속성정보에서 행정동 코드

따라서 행정동 코드를 이용해 시도 shp에 해당하는 속성정보를 조인 시켜보려고 한다.

QGIS에서 행정동 shp의 속성테이블을 열고, 필드계산기 버튼을 눌러준다.

속성테이블에서 필드 계산기 열기

새 필드를 생성을 체크하고, 필드명을 입력한다. 필드 유형은 정수형으로 입력될 것이기 때문에 integer로 설정한다.

시군구 행정동 코드의 앞 2자리 숫자가 입력되도록 표현식을 입력한다.

 

left("SIG_CD",2)

 

left 함수를 사용하고 기준이 되는 필드인 SIG_CD를 입력, 앞에서부터 2자리 라는 표현식이다. 이때 엑셀 함수를 생각하면 쉽다.  결과화면은 아래 그림 우측에 해당된다.

필드계산기 이용해 시도 코드가 입력된 필드 생성하기

이제 시군구 행정경계 shp에 시도 shp의 속성정보를 결합시킬 준비가 되었다.

시군구 shp 속성에서 결합 메뉴를 통해 진행할 수 있다.

시군구 행정경계 속성정보 결합하기

아래 그림처럼 결합레이어, 결합 필드, 대상필드를 지정해 주면 되는데,

결합 레이어는 시도 shp을 선택하면 된다. 

결합 필드는 시도 shp에서 어떤 필드를 기준으로 할 것인지 선택하는 것이다.

대상 필드는 시군구 shp에서 실도 shp과 동일한 값을 갖는 필드는 선택하는 것이기 때문에, 앞에서 새로 생성했던 필드를 선택하면 된다.

시군구 shp에 시도 shp 속성정보 결합하기

모두 완료되면, 시군구 shp의 속성테이블을 확인해보자. 아래 그림처럼 시군구 속성정보와 함께 시도 속성정보가 같이 보일 것이다.

시군구 shp에 시도 속성정보 결합 결과

이와 같이 속성정보 결합이 완료되면, 아래 그림처럼 시군구 행정경계를 이용해 시도에 해당하는 정보를 표현할 수 있다.

시도 및 시군구 shp의 속성정보 결함을 통한 분류값 구분

 

728x90
반응형