GIS

QGIS 3.2: 범주 별 통계(Statistics by Categories) 계산하기

유병혁 2018. 9. 23. 23:23

이번 글에서는 QGIS 3.2에서 범주 별 통계(Statistics by Categories) 기능을 학습해 보도록 하겠습니다.

 

이전 글에서 우리나라 행정구역도(광역시도)와 국립공원 경계의 교차 영역을 계산했었는데요,

면적 계산을 위해 교차 영역과 행정구역도 레이어의 좌표계를 EPSG: 5181로 변경하였습니다.

QGIS 3.2: 벡터 중첩 시 유효하지 않은 객체(invalid geometry) 무시하기 | http://blog.daum.net/geoscience/1279 

 

교차 영역 레이어의 속성 테이블에는 NAME(국립공원 명칭)과 NAME_1(광역시도 명칭) 필드가 존재합니다.

여기에 각 피처의 면적을 계산하여 필드 추가한 후, 광역시도 별 국립공원 면적 통계를 계산해 보도록 하겠습니다.

 

먼저, 면적 필드를 추가해 볼까요?! '필드 계산기 열기' 버튼을 클릭하고,

 

'새 필드 생성'을 체크하여 십진수 (real) 유형의 AREA 필드를 생성하고, 표현식에 $area를 입력합니다.

 

아래와 같이 AREA 필드에 면적 값이 추가되었습니다.

 

이제 범주 별 통계를 실행해볼까요?! QGIS 좌측 하단에 위치한 로케이터 바(locator bar)에서 해당 기능을 검색합니다.

 

범주 별 통계 창에서 입력 벡터 레이어는 교차 영역을, 통계를 계산할 필드는 AREA를 선택합니다.  범주를 담고

있는 필드는 광역시도 명칭인 NAME_1 필드를, 범주 별 통계는 임시 레이어로 지정하고 알고리듬을 실행합니다.

 

레이어 패널에 '범주 별 통계' 레이어가 추가되었습니다. 한 번 열어볼까요?!

 

아래와 같이 광역시도 범주를 기준으로 AREA 필드값 통계치가 계산되어 필드로 추가되었습니다.

 

위의 값 중 일부를 행정구역도 레이어의 속성값으로 이동시켜 보겠습니다.

 

행정구역도 레이어 속성에서 '결합'을 선택하고,

 

아래 버튼을 클릭한 후,

 

Add Vector Join 창을 아래와 같이 설정합니다. 결합할 필드는 분석에 유의한 count과 sum만 선택하겠습니다.

 

결합한 결과는 아래와 같습니다. 마지막 필드 2개가 추가되었죠?!

 

행정구역도 레이어 속성에서 기호와 라벨을 아래와 같이 조정해 보겠습니다.

 

아래와 같이 범주 별 통계 기능을 이용하여 광역시도 별 국립공원 개수를 그려봤습니다.

다음 글에서는 이 데이터를 추가 처리하여 카토그램(cartogram)으로 표현해보겠습니다.