본문 바로가기
QGIS

[QGIS] 토지피복도 면적 산정 및 통계 추출 방법

by dong-eia 2026. 1. 26.

1. 토지피복도 다운로드 방법 및 스타일 지정

토지피복도 다운로드 방법은 환경공간정보서비스에서 자료신청을 통해 받을 수 있다.

이전에 포스팅했던 아래링크를 통해 토지피복도 SHP 파일을 다운로드 방법, 토지피복도 스타일 지정을 참고하자.

 

https://dong-eia.tistory.com/4

 

[QGIS] 토지피복도 shp 파일 다운로드 방법

1. 토지피복도: 토지피복도는 지표면의 현상을 가장 잘 반영하기 때문에 지표면의 투수율에 의한 비점오염원 부하량 산정, 비오톱 지도작성에 의한 도시계획, 수문 방류 시 하류지역 수몰피해

dong-eia.tistory.com

https://dong-eia.tistory.com/12

 

[QGIS] 토지피복도 qml 파일을 통한 빠른 스타일 적용

1. 토지피복도 shp 파일 다운로드하는 법토지피복도는 환경공간서비스에서 제공하고 있으며, 대분류, 중분류, 세분류로 나누어 제공하고 있다.대분류(7개), 중분류(22개) 세분류(41개)의 속성을 담

dong-eia.tistory.com

 

2. 토지피복도 좌표계 확인

토지피복도 면적산정에 앞서 정확한 투영 좌표계를 지정해주어야만 면적을 산출할 수 있다. 

토지피복도의 좌표계를 확인하는 방법은 두 가지 방법이 있다.

2-1 좌표계 확인 방법_환경공간정보서비스

환경공간정보서비스 홈페이지 상단 게시판에서 공지사항에 들어가면 '환경공간정보서비스 지도 좌표계 입니다' 라는 제목으로 제공파일에 대한 지도 좌표계를 명시하고 있다. 데이터 분류, 제작 시기에 맞는 해당 좌표계(EPSG코드) 내용을 확인할 수 있다.

아래 표로 간단히 정리해 보았다.

데이터 분류  제작 시기 해당 좌표계 (EPSG 코드)
세분류/중분류 2013년 이후 ~ 현재 EPSG:5186 (Korea 2000 / Central Belt)
중분류 2007년 ~ 2009년 EPSG:5181 (Korea 2000 / Central Belt)
대분류/중분류 2000년 ~ 2004년 EPSG:5174 (Korean 1985 / Modified Central Belt)

 

2-2 좌표계 확인 방법_다운로드한 prj 파일 확인

환경공간정보서비스에서 제공받은 토지피복도의 압출파일을 풀게 되면, 5가지의 파일이 담겨 있는 것을 확인할 수 있다.

5가지 파일은 cpg, dbf, prj, shp, shx 파일인 것을 볼 수 있다.

(그림 2-2-1)

 

다섯 가지 파일 중 prj 파일을 메모장 열기를 통해 열어보면 해당파일의 좌표계가 어떻게 설정되어 있는지 확인이 가능한다.

해당파일은 'Korea_2000_Korea_Central_Belt_2010'로 지정되어 있는 것을 확인할 수 있다. 

(그림 2-1-2)

 


3. QGIS 내에서 작업하기

3-1 원하는 구역만 추출하기

해당토지피복도는 환경공간정보서비스에서 자료신청을 통해 다운로드한 유성 367103의 중분류 토지피복도이고, 유성구에 위치한 장대동 행정구역을 통해 장대동에 위치한 토지피복도만 자르기(클립) 기능을 사용하여 장대동의 토지피복도를 추출할 것이다.

(그림 3-1-1)

브이월드(vworld)에서 제공하는 대전광역시 읍면동 행정구역을 다운로드하였으며, (그림 3-1-2)와 같이 읍면동 행정구역이 나누어져 있는 것을 볼 수 있다. 해당 행정구역 중 대전광역시 유성구의 장대동의 행정구역만 따로 shp파일로 저장하는 방법은 (그림 3-1-3)~ (그림 3-1-3)과 같다.

(그림 3-1-2)

 

행정구역 경계 레이어를 우클릭하여 속성 테이블에 들어가 준다.

(그림 3-1-3)

 

속성테이블 상단에 위치한 표현식을 이용해 피처 선택 아이콘을 눌러준다.

(그림 3-1-4)

속성테이블의 속성을 살펴보면 셀의 행의 "EN_NAME" 이 행정구역의 읍면동을 나타내는 것을 확인 후, 표현식을 이용하여 원하는 구역인 "장대동"만 선택할 수 있다.

표현식은  "EMD_NM" LIKE'% 장대동%'이다. 

 

EX) "속성테이블의 행 이름" LIKE '%원하는 구역의 이름%'

(그림 3-1-5)

 

피처를 선택하게 되면 장대동 행정구역이 노란색으로 표시된 것을 확인할 수 있다.

(그림 3-1-6)

 

내보내기를 > 선택한 피처를 다른 이름으로 저장을 통해 선택한 피처만 따로 저장해 준다.

(그림 3-1-7)

 

선택한 피처만 따로 저장 시에 좌표계를 해당 좌표계로 설정해 주고, 인코딩은 한글이 깨지 않게 cp949 또는 window-949로 설정하여 속성테이블의 한글이 깨지지 않게 해 준다.

(그림 3-1-8)

 

장대동 행정구역만 (그림 3-1-9)와 같이 표시되는 것을 확인할 수 있다.

(그림 3-1-9)

3-2 clip 기능을 통한 토지피복도 자르기

QGIS 상단에 위치한 공간툴박스 아이콘을 눌러 오른쪽에 공간 처리 툴박사를 나타내준다.

검색창에 잘라내기 CLIP를 검색해 준다.

(그림 3-2-1)

 

입력레이어에는 토지피복도를 선택해 주고 중첩 레이어에는 선택 피처를 통해 따로 저장한 장대동 행정구역을 올려준다.

(그림 3-2-2)

 

장대동 행정구역 내의 용도별 토지피복도를 확대해 보면 다음과 같이 나타나는 것을 확인할 수 있다.

(그림 3-2-3)

 

3-3 필드 계산기를 통한 면적 추가

clip 한 장대동 토지피복도의 속성 테이블에 들어가 준다. 속성테이블 상단에 필드 계산기 열기 아이콘을 눌러준다.

(그림 3-3-1)
(그림 3-3-2)

 

필드 계산기에 가상 필드 생성을 체크해 주고

산출 필드 이름 : area

산출 필드 유형 : 십진수

표현식 : area($geometry)  

(그림 3-3-3)

 

area라는 필드가 생겼고 면적이 산출된 것을 확인할 수 있다.

(그림 3-3-4)

 

3-4 엑셀(excel)을 통한 용도별 면적 산정

위에서 area라는 필드를 만들어 면적을 추가해 주었고 다시 shp  파일로 저장하여 excel로 용도별 면적을 구할 수 있다.

(그림 3-4-1)

 

포맷을 esri 세이프 파일로 지정해 주고 저장경로를 지정해 준다. 또한 인코딩은 CP 949 또는  windows-949로 설정해 주어 한글이 깨지지 않게 해 준다.

(그림 3-4-2)

엑셀에 불러올 파일은 shp 파일 중 dbf 파일이다.

(그림 3-4-3)

 

엑셀에 파일 열기를 통해 dbf파일 불러오면 qgis의 속성테이블을 불러올 수 있다.

이를 통해 용도별 면적산정을 필터 도구 또는 수식을 통해 구해주면 된다.

(그림 3-4-4)

 

4. 결과

면적을 산출하는 과정 중 생길 수 있는 오류는 인코딩 문제 또는 좌표계를 제대로 설정하지 않아 면적(area)을 생성할 수 없는 경우가 있다. 

인코딩 문제는 위에서 말했듯이 CP949 또는 window-949

면적(area) 생성 문제는 좌표계를 맞히지 않아 생기는 문제이니 정확한 좌표계를 확인 후 작업해 보자. 

 

 

 

궁금한 점이 있으면 댓글 부탁드려요