REMOTE SENSING

PyQGIS: MODIS 식생지수(EVI) 데이터에 비례인자 적용 후 저장

유병혁 2021. 1. 20. 12:32

안녕하세요? 이번 글은 PyQGIS를 통해 MODIS 식생지수(EVI) 데이터에 비례인자(Scale Factor)를 적용한 후, 새 파일로 저장하는 과정을 정리해 보겠습니다.

 

PyQGIS: MODIS 식생지수(EVI) 데이터의 좌표계 변환 후 저장

안녕하세요? 이번 글은 QGIS 파이썬 콘솔(PyQGIS)를 통해 MODIS 식생지수(EVI) 데이터의 좌표계를 변환 후 GeoTIFF 형식으로 저장해 보겠습니다. QGIS에서 MODIS 식생지수 데이터를 처리하는 일련의 과정을

blog.daum.net

현재 우리가 다루고 있는 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)