1. 程式人生 > >MODIS系列之NDVI(MOD13Q1)四:MRT單次及批次處理資料

MODIS系列之NDVI(MOD13Q1)四:MRT單次及批次處理資料

前言:

本篇文章的出發點是因為之前接觸過相關研究,困囧於該系列資料匱乏,想做一個系列。個人道行太淺,不足之處還請見諒。願與諸君共勉。

資料準備:

MODIS資料產品MOD13Q1—以2010年河南省3、4、5三個月為例:

 一、MRT單次資料操作

(1).進入GUI介面操作

 

 1.將所需處理的一個.hdf原始資料載入進來

2.通過左右選項選擇所需波段(MOD13Q1已將NDVI提供,只需保留選擇就行)

(若用的資料比如MOD12Q1計算NDVI,則Modis演算法如公式:NDVI=(Band2-Band1)/(Band2+Band1)。那麼就需要將Band2和Band1波段提取出來)

3.Spatial Subset(空間子集):選擇Input Lat/Long (輸入緯度/經度)

                                                  input line/sample (輸入行/樣本)

                                                  output projection (X/Y輸出投影X / Y)

4和5在一起

4.選擇檔案儲存路徑:

5.輸出資料型別:  如我儲存的路徑(必須同原始資料也就是.hdf在同一資料夾下)就是F:\MODIS\.tif   (注意,直接在MODIS資料夾後加\.tif就行。生成的.tif檔名直接等同於在同一個資料夾下.hdf檔案同名(建議相同操作,通常資料多,命名易辨且重要))

6.輸出檔案型別:GEOTIFF(我們要的就是.tif資料檔案)

7.Resampling(重取樣型別):選擇Nearest Neighbor(最近領域)

8.Output Projection type(輸出投影型別):選擇原則是下載的MODIS資料(.hdf)是什麼投影就選什麼投影(百度)

                                                                  本文選用MOD13Q1,應當採用Sinusoidal投影方式。但大部分研究選用的都是Albers Equal Area。終究道行太淺,本文也不能免俗。

9.Edit Projection Parameters(編輯主動引數):

上圖的一些引數STDPR1和2不太清楚,參考同是研究區為河南省的研究輸入的

centmer為中央經線(研究區中央經線)

大方框裡的可以什麼都不輸入,預設就行。但WGS84一定要選,點選ok

10.Output Pixel Size(輸出畫素大小):畫素範圍越小,精度越高。但輸出的.tif檔案就越大,會達到1-2個G。選擇建議:看自己選擇的MODIS產品是什麼畫素範圍。

11.點選Run即可

 

二、MRT多批次資料操作(重點)

注意:無論你有多少期資料。在進行多批量處理時。用到MRT檔案時只輸如一個.hdr檔案。不用擔心,之所以輸入一個.hdr檔案,是因為在進行多批量處理時,用到MRT工具只是通過一個.hdr檔案來建立一個.prm檔案作為模板。用CMD來批處理

(1).MRT戰場

 1-10同上文一致(只輸入一個.hdr檔案)

11.點選SaveParameter File

在資料夾內將會出現.prm檔案。那麼接下來咱們轉移戰場。將MAT給Exit關掉

(2)CMD戰場

以下所提及的功能都可以在MRT批量進行,通過基於Dos系統的批處理指令碼(字尾.bat)來實現。將待處理的MODIS資料(.hdf)、MRT引數設定檔案(.prm)、批處理指令碼(.bat)放置在一個資料夾中。執行.bat後,系統就會根據指令碼的命令批量執行MRT中的各個功能,從而實現將.hdf檔案按設定轉換為.tif檔案

1.F:\MODIS\.tif 檔案路徑下就生成了.prm檔案

 

 

 2.用Notepad++開啟或記事本開啟MOD13Q1NDVI.prm

INPUT_FILENAME = F:\MODIS\MOD13Q1.A2010049.h26v05.006.2015200022349.hdf

SPECTRAL_SUBSET = ( 1 0 0 0 0 0 0 0 0 0 0 0 )  //該MODIS資料產品有12個波段1代表選,0代表不選該波段

SPATIAL_SUBSET_TYPE = INPUT_LAT_LONG

SPATIAL_SUBSET_UL_CORNER = ( 39.999999996 104.432583132 )
SPATIAL_SUBSET_LR_CORNER = ( 29.999999997 103.923048442 )

OUTPUT_FILENAME = F:\MODIS\.tif    //輸出路徑(F:\MODIS\.tif) 以及輸出的資料型別(. tif)


RESAMPLING_TYPE = NEAREST_NEIGHBOR //重取樣型別選擇最鄰近法

OUTPUT_PROJECTION_TYPE = AEA    //輸出投影型別選擇墨卡託(AEA)

OUTPUT_PROJECTION_PARAMETERS = ( 
 0.0 0.0 25.0
 47.0 105.0 0.0
 0.0 0.0 0.0
 0.0 0.0 0.0
 0.0 0.0 0.0 )               //輸出投影引數建議為預設

DATUM = WGS84               //基準面為WCG84.


UTM_ZONE = 49               //平面投影為49N


OUTPUT_PIXEL_SIZE = 250   //像元大小為500*500

生成好後的.prm可以通過Notepad++或記事本檢視,不動

3.通過Notepad++或記事本另存為一個modis.bat檔案(.hdr .tif .bat .prm檔案都是在同一個資料夾下)

 

modis.bat檔案程式碼如下

 

 

 

set MRT_DATA_DIR=C:\MRT\data

for %%i in (*.hdf) do resample -p MOD13Q1NDVI.prm -i %%i  -o  %%iout.tif

pause 

 第1行:MODIS批量重投影指令碼程式碼參考上圖,使用時需要設定MRT的安裝路徑(C:/MRT/data)。安裝路徑請檢視自己電腦高階設定裡的環境變數。

 第3行:檔案.prm檔名替換自己的.prm檔名,如果執行出錯的話,可以把resample替換為其完整的路徑,如D:\software_install\MRT\bin\resample.exe;

4.另存為一個modis.bat檔案放在同一個資料夾下。如果出現錯誤,可參見bat視窗的提示,將安裝目錄下的datum.txt和spheroid.txt檔案複製到DATA資料夾裡;

5.雙擊modis.bat檔案。執行完即可。如果執行錯誤,因為雙擊modis.bat檔案資訊一閃而逝,不能看到錯誤資訊。建議開啟該目錄資料夾下將modis.bat輸入

 

 

 

批處理執行過程如下:

 

執行後關閉即