REMOTE SENSING

QGIS Semi-Automatic Classification Plugin (2) - 밴드 연산(Band calc) 툴 사용하기

유병혁 2015. 8. 5. 19:11

QGIS Semi-Automatic Classification Plugin(줄여서 SCP)에서 밴드 연산(Band calc) 툴을 사용해 보도록 하겠습니다.

본 글은 이 플러그인 개발자 루카 콘지도(Luca Congedo)님의 아래 튜토리얼을 문서로 재현한 것입니다. 

 

이전 글 | QGIS Semi-Automatic Classification Plugin (1) - Landsat 위성영상 다운로드 방법
http://blog.daum.net/geoscience/807

 

Band calc 툴은 'SCP > Band calc'에 위치하고 있는데요,

 

실행 창은 아래와 같습니다. 일단 연산을 위한 밴드들을 추가해볼까요?!

 

'래스터 레이어 추가' 버튼을 클릭하고,

 

이전 글에서 내려받은 Landsat 8호 위성영상 중 BQA 밴드를 추가하겠습니다.

 

BQA는 Landsat 8호 영상에서 제공하고 있는 품질평가(Quality Assessment) 밴드인데요,

구름, 권운, 식생, 수체 등 분석 알고리듬을 통해 탐지 가능한 정보들을 압축하여 제공하고 있습니다.

공식 홈페이지: http://landsat.usgs.gov/L8QualityAssessmentBand.php

 

다음으로 DOS1 대기보정을 거친 반사율 영상에서 4, 5번 밴드를 추가하도록 하겠습니다.

Landsat 8호 위성영상의 4, 5번은 이전 Landsat 시리즈 위성영상의 3, 4번과 상응하는 파장대입니다.

 

자, 이렇게 BQA 밴드와 4, 5번 밴드를 추가하였습니다.

 

이제 Band calc 툴을 통해 두 가지 실습을 하도록 하겠습니다.

 

첫 번째는 BQA 밴드를 통해 4, 5번 밴드 영상에서 구름(cloud) 영역을 마스킹하고,

두 번째로 마스킹한 4, 5번 영상으로 정규식생지수인 NDVI 영상을 생성해 보도록 하겠습니다.

 

아래 그림과 같이 Band list에서 Reflesh list를 클릭하면 QGIS 내에 등록되어 있는 래스터 레이어 목록을 가져옵니다.

 

아래는 BQA 밴드 화소값의 분류표인데요, 여기서는 53248(Cloud) 값을 이용해 보겠습니다.

 

아래와 같이 넘파이(NumPy) 수식을 입력했는데요, BQA 밴드에서 화소값이 53248과 같으면 0,

아니면 해당 밴드 화소값을 유지하는 조건식입니다. 이제 Calculate를 클릭하면 수식 2줄이 처리되겠습니다.

 

수식 처리결과를 저장할 폴더와 파일명(여기서는 masked로 정의)을 입력하면,

 

아래와 같이 지정한 파일명 뒤에 _1, _2로 명명된 처리결과 영상이 생성됩니다.

 

이번에는 NDVI 영상을 계산해 보겠습니다. 수식은 아래와 같고, 파일명은 NDVI로 지정해 보겠습니다.

 

NDVI 처리결과는 아래와 같습니다. 이제 스타일을 지정해 보겠습니다.

 

레이어명에서 우클릭 > 속성을 선택하고,

 

스타일 탭에서,

 

렌더(Render) 유형을 '단일 밴드 가상색채'로 변경하겠습니다.

 

'최소/최대값 불러오기'에서 '평균 +/- 표준편차 * 2'를 지정하고 '불러오기' 버튼을 클릭합니다.

'새 색상표 작성' 탭에서 최소값, 최대값이 이에 맞게 조정되는데요, 색상표를 선택하고 '분류' 버튼을 클릭합니다.

 

아래와 같이 NDVI 영상 스타일이 지정되었습니다. 어렵지 않죠?!

 

태안해안국립공원 인근을 확대해 본 결과입니다.