안녕하세요? 이번 글은 PyQGIS를 통해 MODIS 식생지수(EVI) 데이터에 비례인자(Scale Factor)를 적용한 후, 새 파일로 저장하는 과정을 정리해 보겠습니다.
현재 우리가 다루고 있는 EVI 값의 Valid Range(유효 범위)는 -2000부터 10000 사이인데요, 여기에 Scale Factor(비례인자) 0.0001을 곱하는 과정이 되겠습니다. 여기서는 GDAL 래스터 계산기를 통해 계산하고자 합니다.
알고리즘 도움말은 다음과 같이 질의하시면 됩니다.
# 알고리즘 도움말 보기
processing.algorithmHelp('gdal:rastercalculator')
먼저, 입력 레이어를 지정합니다.
# 입력 레이어 지정
import os
os.chdir('D:\GEODATA\outputRaster')
rasterFiles = os.listdir(os.getcwd()) # 디렉터리 내의 모든 파일 목록
print(rasterFiles[0])
input_layer = QgsRasterLayer(rasterFiles[0], 'raster')
파라미터를 지정하는데요, EVI에 비례인자(Scale Factor, SF)를 적용합니다.
parameters = {'INPUT_A': input_layer, 'BAND_A': 1, # 래스터 밴드
'FORMULA': 'A * 0.0001', # 래스터계산식
'RTYPE': 5, # 출력 래스터 유형은 Float32
'OUTPUT' : rasterFiles[0][:-4] + '_SF.tif'}
이제 위 파라미터로 래스터 계산기를 실행합니다. 결과를 확인해 볼까요?!
# 래스터 계산기 실행
processing.runAndLoadResults('gdal:rastercalculator', parameters)