본문 바로가기
국문 가이드/QGIS 중급

[QGIS 중급] Zonal Statistics (구역 통계) 기능 활용하기

by CaptainJ 2023. 2. 15.
반응형

안녕하세요,

이번 포스팅에서는 Zonal Statistics (구역 통계) 기능의 활용법을 알아보도록 하겠습니다.

Zonal Statistics 기능은 원하는 영역에 속한 정보값의 총계(sum), 평균(mean), 개수(count) 등을 계산하고자 할 때 사용 가능한 기능입니다.

 

예를 들어 1제곱 킬로미터 당 인구 수(000' number of people/1 square km) 정보로 구성된 대한민국 인구 raster file을 가지고 있을 때, 서울 광진구의 총 인구 수를 구하고 싶다면? 

 

국가 농산물 총 생산량을 담은 raster file을 활용해 에서 전라도 농산물의 총 생산량을 계산하고 싶다면?

 

이때 활용해야 할 기능이 Zonal statistics 입니다.

 

이를 위해서는 계산하고자 하는 정보값을 담은 "raster file"과 원하는 공간 정보를 담은 "vector file"이 준비되어 있어야 합니다.

 

그럼 실습을 통해 더욱 자세히 알아보도록 하겠습니다.

 

먼저, 대한민국 총 인구 수 지도(tif)를 아래 링크에서 다운받아주세요.

https://hub.worldpop.org/geodata/summary?id=37084 

 

WorldPop :: Population Counts

Privacy and Cookies Policy We use cookies to give you the best experience on our website. By continuing, you're agreeing to our use of cookies. Learn More

hub.worldpop.org

 

그리고 대한민국 행정지도 역시 아래 링크를 활용해 다운받아 줍니다.

http://openapi.nsdi.go.kr/nsdi/eios/OpenapiList.do?provOrg=NIA&gubun=F 

 

국가공간정보포털

토지임야정보 토지대장과 임야대장에 등록된 소유자 개인정보를 제외한 토지의 소재, 지번, 지목, 면적 등 토지(임야)정보 CSV 최근생성일 : 2023-02-15다운로드수 : 89166서비스유형 : 다운로드

openapi.nsdi.go.kr

 

위 페이지에 들어가시면 파일데이터>법정구역정보 중 가장 최신의 '전체데이터'를 다운받아주세요.

 

압축 해제 후 QGIS 창에 드롭다운합니다. 

위와 같이 세 가지 행정구역 지도가 들어온 것을 볼 수 있는데요.

(LIO) -> (EMD) -> (SIG) 로 올수록 다누이가 큰 행정구역으로 구분이 되어 있네요.

 

저는 편의상 (SIG) 파일만을 켜두고 해당 파일과 인구 tif file을 이용해 광진구 총 인구 수를 구해보도록 하겠습니다.

 

먼저 광진구 공간정보만을 추출하기 위해 레이어 창에서 (SIG) 파일 우클릭 후 속성 테이블 (Attribute table)을 열어주세요.

A2 열에서 "광진구"를 찾아 클릭해준 뒤 다시 QGIS 메인 화면으로 돌아옵니다.

 

그리고 다시 (SIG) 파일을 우클릭하시고

아래와 같이 Export > Save Selected Features As... 를 눌러주세요.

 

아래 창이 뜨면 

Format: ESRI Shapefile

File name: 우측 [...] browse 버튼 클릭 후 원하는 경로에 원하는 파일명으로 저장해주세요.

 

OK 버튼을 누르면 아래와 같이 저장하신 이름으로 새로운 파일이 추가됩니다.

 

다른 행정지역 지도는 모두 비활성화한 뒤 "광진구" layer와 인구 데이터만 활성화시켜 주시고 광진구 부근을 확대하면 아래와 같은 QGIS 메인 화면을 보실 수 있습니다.

 

그럼 이제 본격적으로 Zonal Statistics 기능을 활용해 볼텐데요.

 

Zonal Statistics 기능을 활성화하기 위해 우측 Processing Toolbox 에서 "zonal" 을 검색해주세요.

Raster analysis > Zonal statistics 를 더블 클릭해줍니다. 

아래와 같은 창이 뜨면

Input layer: 행정구역 지도 (광진구)

Raster layer: 대한민국 인구 지도를 선택해주세요.

 

그리고 "Statistics to calculate" 섹션 우측 하단에 위치한 [...] 버튼을 눌러주세요.

아래와 같은 창이 뜨면 "sum" 에만 체크하신 후 나머지는 체크를 해제해주시고 하단의 "Run" 버튼을 클릭합니다.

(우리는 광진구의 총 인구 수를 계산하기 때문에 총계를 알려주는 'sum'만 체크합니다.)

 

계산이 완료되었다는 메세지가 뜨면 해당 창을 종료해주세요.

그리고 QGIS 메인 화면으로 돌아오면 아래와 같이 레이어 창에 "Zonal Statistics"라는 이름의 임시 shapefile이 추가된 것을 확인할 수 있습니다. 

 

새로 추가된 shapefile을 우클릭하여 속성 테이블에 들어가보면 맨 오른쪽에 위치한 "sum"열에 표기되어 있는 광진구 총 인구 수를 확인하실 수 있습니다.

 

그럼 이상으로 Zonal Statistics 기능의 활용법에 관한 포스팅을 마치도록 하겠습니다.

감사합니다.

반응형

댓글