REMOTE SENSING

QGIS: Sentinel-2 위성영상 Burn Severity(산불피해 심각도) 분석

유병혁 2023. 5. 1. 08:56

안녕하세요? 이번 글은 Sentinel-2 위성영상을 사용하여 Burn Severity(산불피해 심각도) 분석 과정을 정리해 보겠습니다. 이전 글은 아래 링크를 참고하시면 됩니다.

이번 글은 UN-SPIDER Knowledge Portal의 'Step by Step: Burn Severity Mapping' 글을 참고하여 재작성한 콘텐츠입니다.

 

QGIS: Sentinel-2 위성영상 다운로드 및 RGB 합성 방법 소개(강릉 산불지역)

안녕하세요? 이번 글은 'Copernicus Open Access Hub'에서 Sentinel-2 위성영상을 다운로드 받은 후, RGB Composite를 만드는 과정을 정리해 보겠습니다. 실습 데이터는 지난 4월 11일 발생한 강릉 산불지역을 대

foss4g.tistory.com

실습 데이터는 지난 4월 11일 발생한 강릉 산불지역을 대상으로 합니다. 4월 9일과 19일 데이터를 가지고 산불피해 심각도를 계산해 보겠습니다. 앞서 실습한 내용에 따라 4월 9일 데이터를 내려받아 RGB 합성해 봅니다.

산불 전 영상을 가지고 'Normalized Burn Ratio (NBR, 정규산불피해비율)'을 계산해 보겠습니다.

Normalized Burn Ratio (NBR, 정규산불피해비율)

NBR은 대형 산불 지역에서 산불피해 지역을 강조하기 위해 고안된 지수입니다. 공식은 근적외선(NIR)과 단파장 적외선(SWIR) 파장을 모두 사용한다는 점을 제외하고는 NDVI와 유사합니다.

 

건강한 식생(healthy vegetation)은 NIR에서 매우 높은 반사율을 나타내고 스펙트럼의 SWIR 부분에서 낮은 반사율을 나타냅니다. 이는 산불로 황폐된 지역에서 볼 수 있는 것과 반대입니다. 최근 산불피해 지역(burned areas)은 NIR에서 낮은 반사율과 SWIR에서 높은 반사율을 보여줍니다.

이미지 출처: U.S. Forest Service(미국 산림청)

 

스펙트럼 차이의 크기를 활용하기 위해 NBR은 아래 공식에 따라 NIR 대역과 SWIR 대역 간의 비율을 사용합니다. 높은 NBR 값은 건강한 식생을 나타내고 낮은 값은 나지와 최근 산불피해 지역을 나타냅니다. 산불피해를 입지 않은 지역은 일반적으로 0에 가까운 값으로 기인합니다.

그렇다면 Sentinel-2 위성영상에서 NIR 대역과 SWIR 대역에 해당하는 밴드를 위 공식에 적용하면 될 텐데요, NBR 공식에 사용되는 밴드는 Band 8a (865 nm)와 Band 12 (2190 nm)입니다.

산불 전 영상에서 Band 8a와 Band 12 밴드를 추가해 보겠습니다.

T52SDG_20230409T020651_B8A_20m.jp2입니다. 건강한 식생은 NIR에서 매우 높은 반사율을 나타냅니다.

T52SDG_20230409T020651_B12_20m.jp2입니다. 건강한 식생은 SWIR 부분에서 낮은 반사율을 나타냅니다.

이제 NBR을 계산해 보겠습니다. 참고로 Landsat-8과 Sentinel-2의 NBR 공식은 다음과 같습니다.

  • NBR = (NIR - SWIR) / (NIR + SWIR)
Landsat-8 Sentinel-2
NBR = (B5 - B7) / (B5 + B7) NBR = (B8A - B12) / (B8A + B12)

NBR 공식 적용을 위해 'SCP > Band calc'을 실행합니다. 

Expression에 (B8A - B12) / (B8A + B12)을 붙여넣은 후, B8A와 B12에 해당하는 Band name을 넣어주시면 됩니다.

공식이 적용되었으면 'Run' 버튼을 클릭합니다.

산불 전 NBR(파일명: Pre_NBR.tif)이 생성되었습니다. 높은 NBR 값은 건강한 식생을 나타냅니다.

산불 후 영상에서 Band 8a와 Band 12 밴드를 추가해 보겠습니다.

T52SDG_20230419T020651_B8A_20m.jp2입니다. 건강한 식생은 NIR에서 매우 높은 반사율을 나타냅니다. 최근 산불피해 지역은 NIR에서 낮은 반사율을 보여줍니다.

T52SDG_20230419T020651_B12_20m.jp2입니다. 건강한 식생은 SWIR 부분에서 낮은 반사율을 나타냅니다. 최근 산불피해 지역은 SWIR에서 높은 반사율을 보여줍니다.

산불 후 NBR(파일명: Post_NBR.tif)이 생성되었습니다. 높은 NBR 값은 건강한 식생을 나타내고 낮은 값은 나지와 최근 산불피해 지역을 나타냅니다.

Burn Severity (산불피해 심각도)

이제 산불 전 NBR과 산불 후 NBR의 차이로 델타 NBR(dNBR 또는 ∆NBR)을 계산합니다. dNBR은 산불피해 심각도(burn severity)를 추정하는 데 사용할 수 있습니다. dNBR 값이 높을수록 더 심각한 손상을 나타내는 반면 dNBR 값이 음수인 영역은 산불 후 재성장(regrowth)을 나타낼 수 있습니다. dNBR을 계산하는 데 사용되는 공식은 다음과 같습니다:

결과는 다음과 같습니다.

해당 지역의 이해도를 높이기 위해 XYZ Tiles에서 VworldHybrid 레이어를 추가해 보겠습니다.

dNBR 값은 경우에 따라 다를 수 있으므로 가능하면 특정 사례의 해석 또한 현장 평가를 통해 수행해야 최상의 결과를 얻을 수 있습니다. 그러나 미국 지질조사국(U.S. Geological Survey, USGS)은 아래와 같이 산불피해 심각도를 해석하기 위해 분류표를 제안했습니다. 다음 분류표를 dNBR에 스타일 적용해 보겠습니다.

dNBR의 레이어 속성 창을 실행하고 심볼 탭을 클릭합니다.

렌더링 유형을 '단일 밴드 유사색상'으로 변경합니다.

보간은 '이산'을 선택합니다. 이렇게 하면 'Severity Level(심각도 수준)'에 따라 색상이 다르게 적용됩니다.

라벨 정밀도는 '3'을 선택합니다. 라벨 값을 소수점 이하 셋째 자리까지 설정합니다.

모드는 '등간격'을, 분류는 '5'를 선택합니다. dNBR Range를 5가지로 분류하기 위함입니다.

이제 분류표를 참고하여 값, 색상, 라벨을 설정해 주면 되겠습니다.

먼저 값부터 설정합니다.

색상 선택은 이 블로그 글에 포함된 분류표 색상을 샘플링하시면 됩니다. 색상 선택 창에서 '샘플 색상'을 클릭하고, 이 블로그 글의 분류표 색상에 커서를 위치하고 스페이스 바를 누르시면 됩니다.

다음과 같이 dNBR에 분류표 색상이 적용되었습니다. Unburned 분류 색상을 투명하게 적용하고 배경 지도로 VworldSatellite 레이어를 추가해 봤습니다. 이제 dNBR을 기준으로 산불피해 심각도 면적 등 분석이 가능할 텐데요, 해당 실습은 이전에 작성한 아래 글을 참고하시면 되겠습니다.

 

QGIS: Burn Severity(산불피해 심각도) 분석 - 실습 시리즈 소개

안녕하세요? Burn Severity(산불피해 심각도) 분석 실습 시리즈를 작성했습니다. 이번 실습 시리즈는 UN-SPIDER(United Nations Platform for Space-based Information for Disaster Management and Emergency Response, 재난관리 및

foss4g.tistory.com

참고로 Sentinel-2 위성영상은 MSK_CLDPRB(cloud probability map, 구름 확률 지도) 레이어를 제공합니다. 현재 우리는 관심지역에 대하여 구름이 없는 영상을 사용했지만, 구름을 처리해야 할 경우도 적잖을 것입니다. 그럴 때에는 다음 레이어를 참고하시면 좋겠습니다. 

다음과 같이 MSK_CLDPRB 레이어를 통해 구름을 탐지하실 수 있습니다. 여기까지 Sentinel-2 위성영상을 사용한 Burn Severity(산불피해 심각도) 분석 과정을 정리해 봤습니다.