REMOTE SENSING

QGIS: Burn Severity(산불피해 심각도) 분석 (3) - 피해면적 산정

유병혁 2022. 4. 6. 19:32

안녕하세요? 이번 글은 Burn Severity(산불피해 심각도) 분석 실습 시리즈 세번째 글로 dNBR로부터 산불피해 면적을 산출해 보겠습니다. 이전 글은 아래 링크를 참고하시기 바랍니다.

 

QGIS: Burn Severity(산불피해 심각도) 분석 (2) - 처리 단계

안녕하세요? 이번 글은 Burn Severity(산불피해 심각도) 분석 실습 시리즈 두번째 글로 NBR 계산, dNBR 계산, 영상 잘라내기 처리 단계를 정리해 보겠습니다. 첫번째 글은 아래 링크를

blog.daum.net

참고로, 산불 피해면적 산정방법은 '산림청 산불관리통합규정 [별표 3] 산불발생 및 피해보고 요령(제33조제1항 관련)'에 정의되어 있습니다: "피해면적 산정은 현장에서 목측 또는 실측에 의하고 목측 또는 실측이 어려울 경우 항공사진 또는 축척 2만5천분의 1 지형도에 의하여 피해지 경계를 표시하고 구적기 또는 격자판을 이용하여 피해면적을 ha단위로 산정하되 소수점 두자리까지만 산정한다".

이번 실습에서는 Landsat 8호 위성영상 데이터로부터 추출한 dNBR로부터 피해면적을 산정해 보겠습니다. 앞서 추출한 dNBR은 아래와 같습니다.

먼저 아래 USGS 분류 스타일 표를 참고하여 dNBR 범위를 스케일링해 보겠습니다.

'래스터 > 래스터 계산기'를 실행합니다.

래스터 계산기 표현식에 아래와 같이 입력합니다:

"dNBR@1" * 1000

'레이어를 디스크에 쓰는 대신 동적 래스터 생성'을 체크하고 실행합니다.

다음으로 USGS 분류 스타일에 맞게 아래 테이블을 작성합니다.

RCLS.dNBR.xlsx
0.01MB

'공간 처리 툴박스 > 래스터 분석 > 레이어로 재분류'를 실행합니다.

래스터 레이어, 밴드 번호, 급간을 포함하고 있는 레이어, 최소 급간 값 필드, 최대 급간 값 필드, 산출 값 필드를 아래와 같이 지정합니다.

범위 경계는 '최소 <= 값 <= 최대'를 선택하고 '값과 일치하는 범위가 없을 때 NODATA 사용'을 체크해 주겠습니다. 산출 데이터형은 Int16을 선택합니다. Int16값 형식은 -32768에서 +32767 사이의 값을 가진 부호 있는 정수를 나타냅니다.

결과는 다음과 같습니다.

다음으로는 Majority Filter(최대빈도 필터)를 적용해서 산불피해 경계는 비교적 잘 보전하면서 잡음화소를 효과적으로 제거해 주겠습니다. Majority Filter는 커널 내 각 화소 값들의 빈도를 계산해서 가장 많은 빈도수를 보이는 화소 값을 중앙에 위치한 화소의 화소 값으로 결정하는 필터입니다.

이미지 출처:&nbsp;https://github.com/mapbiomas-brazil/mapbiomas-training/issues/3

'공간 처리 툴박스 > SAGA > Raster - Filter > Majority/Minority Filter'를 실행합니다.

참고로 SAGA 툴박스 경고 메시지는 아래 글을 참고하시기 바랍니다.

 

QGIS: 'SAGA 7.8.2 버전을 공식적으로 지원하지 않습니다' 비활성화

안녕하세요? 최근에 QGIS 3.22.2 버전을 설치하고 나서 SAGA 툴박스에서 다음과 같은 경고 메시지를 경험했습니다. 해당 내용을 QGIS 깃허브에 제보(https://github.com/qgis/QGIS/issues/46837)하고 여러 감사한..

blog.daum.net

Majority 필터는 아래와 같이 설정합니다. Kernel Type(커널 유형)은 Circle(원형), Radius(반경)은 2화소를 지정했고 Threshold(임계치)는 별도로 지정하지 않았습니다.

Majority 필터 전, 후 결과는 아래와 같습니다.

참고로 SAGA 툴박스 결과물이 현재 좌표계가 정의되어 있지 않습니다. 좌표계를 정의해 줍니다.

여기서는 EPSG:5186을 지정합니다.

이제 면적을 산출해 봅니다. '공간 처리 툴박스 > 래스터 분석 > 래스터 레이어 유일 값 보고'를 클릭합니다.

실행 창에서 유일 값 보고는 *.html, 유일 값 테이블은 *.xlsx 등을 지정할 수 있습니다.

결과는 아래와 같습니다. -1은 산불 후 재성장, 0은 산불피해 없음, 1 이상은 산불피해 심각도(1: 낮음, 2: 보통-낮음, 3: 보통-높음)를 나타냅니다.

기사로 전달된 산불피해 면적은 강릉 1900㏊, 동해 2100㏊입니다. 현재는 보다 정확한 피해면적이 산출되었을 것으로 추정합니다. Landsat 8호 위성영상으로부터 추출된 산불피해 면적은 2107ha입니다. 

Majority Filter를 적용하기 전 산불피해 면적을 산출해 보니 2327ha가 산출됩니다.

스타일 적용 결과는 아래와 같습니다. 여기까지 dNBR로부터 산불피해 면적을 산출하는 과정을 정리해 봤습니다. 다음 글에서는 임상도를 활용해 산불피해 통계를 산출해 보겠습니다.

dNR_RCLS_MAJ.qml
0.00MB