MRT(MODIS Reprojection Tool)安裝、影像批量拼接、重投影和格式轉換
一、安裝MRT(MODIS Reprojection Tool)
安裝準備:檢查是否安裝java.exe。Java版本至少為Java 2 Runtime Environment version 1.5或者是Java 2 SDK version 1.5或者更高的版本。在Windows平臺中可以通過開始/搜尋並輸入java.exe來檢查自己的電腦是否安裝有java,也可以不檢查直接重新安裝一份。
解壓安裝包MRT_download_<platform>.zip。包含四個檔案:mrt_install.bat,MRT_<platform>.zip,reg_set.exe, 以及unzip.exe。
雙擊mrt_install.bat,並按提示完成安裝。
注:下載地址為https://lpdaac.usgs.gov/tools/modis_reprojection_tool,要先註冊賬號才能下載,註冊的時候最好用國外郵箱,如雅虎什麼的,反正QQ,163郵箱收不到驗證連結。
二、使用MRT(MODIS Reprojection Tool)
(一)GUI介面操作
安裝完成後,開啟MRT的安裝路徑資料夾,開啟bin資料夾,雙擊ModisTool.bat或者ModisTool.jar即可進 入MRT的GUI介面。
輸入MODIS資料,選擇輸出NDVI和EVI,指定輸出路徑輸出檔案格式為GEOTIFF,取樣方式為最近鄰,投影型別為Albers Equal Erea,輸出像元大小為250m,然後直接點選run就可以了。其中,投影引數設定見下圖(STDPR1第一條標準緯線27,STDPR2第二條標準緯線為45,CentMer中央經線為105,datum基準面WGS84):
(二)批處理拼接之一年以內的資料
備註:該操作資料及BAT檔案須放在一個資料夾下(資料夾起名請用英文,MRT對中文路徑資料會打不開)。
操作步驟:
1.新建一個DATA資料夾,將HDF資料拷到DATA資料夾下;
2.在DATA資料夾下再新建個Result資料夾(存放拼接後資料);
3.將以下程式碼內容粘到一個TXT檔案中,更改TXT副檔名為BAT即可,假設你命名該BAT檔名為MOSAIC.BAT;
4:點選MOSAIC.BAT,即可進行拼接操作。
注意:第一行程式碼裡,把MRTDATADIR替換為你自己的MRTDATADIR名稱,MRTDATADIR名稱可以在安裝目錄裡,找到ModisTool.bat,然後右鍵選擇編輯中檢視;
此外以下程式碼未考慮中間天數間斷的情況,比如對MODIS時間解析度為16天的資料,在一個應連續的等差數列中間有資料缺失,存在相差32天的情況,可能會報錯,請注意。
set MRTDATADIR=f:\MOD_HDE_SOURCE
set /a DAY=2000049 rem ***開始日期***
set /a DEADLINE=2000353 rem ***結束日期***
:start
if %DAY% leq %DEADLINE% (goto ORDER) else exit
:ORDER
rem **將當天的圖幅資料檔名放在一個TXT檔案中**
dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT
rem **拼接HDF12種資料中的第一種**
d:/software_install/MRT/bin/mrtmosaic.exe -i MOSAICINPUT.TXT -s "1 0 0 0 0 0 0 0 0 0 0 0" -o MOSAIC_TMP_%DAY%.hdf
rem **將拼接後資料複製到已建Result 資料夾中並刪除當天的資料**
copy MOSAIC_TMP_%DAY%.hdf Result & del MOSAIC_TMP_%DAY%.hdf
del *%DAY%.*.hdf
set /a DAY= %DAY% + 16 rem ***拼接下一個時相的資料***
goto start
(三)批處理拼接之多年的資料
以上程式碼只能處理一年之內或者每隔一年的資料,如果要一次性處理多年的資料,則參見以下的程式碼
set MRT_DATA_DIR=f:\MOD_HDF_SOURCE
set /a DAY=2015337
set /a DAY1=337
set /a DEADLINE=2016353
:start
if %DAY% leq %DEADLINE% (goto ORDER1) else exit
:ORDER1
if %DAY1% leq 353 (goto ORDER)
:ORDER
dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT
d:/software_install/MRT/bin/mrtmosaic.exe -i MOSAICINPUT.TXT -s "1 0 0 0 0 0 0 0 0 0 0 0" -o MOSAIC_TMP_%DAY%.hdf
copy MOSAIC_TMP_%DAY%.hdf Result & del MOSAIC_TMP_%DAY%.hdf
del *%DAY%.*.hdf
set /a DAY1= %DAY1% + 16
set /a DAY= %DAY% + 16
if %DAY1% GTR 357 (goto ORDER2)
pause
goto start
:ORDER2
set /a DAY=%DAY% + 1000 - 368
set /a DAY1=1
pause
goto start
(四)批處理重投影及格式轉換
新建一個資料夾,假設起名為DATA,把所有要處理的MODIS HDF檔案放到該資料夾下;
在GUI介面中,設定一個HDF檔案投影引數後,點選“Save Parameter File…”儲存自己設定的引數檔案到DATA資料夾下,假設為test.prm;
在DATA資料夾裡,新建一個記事本檔案,將下面的內容貼上進去,需更改幾處。更改完畢之後,將記事本檔案另存為“.bat”檔案,假設為“modis.bat”;
set MRT_DATA_DIR=f:\MOD13Q1_REPROJECTION
for %%i in (*.hdf) do resample.exe -p albers_equal_area_orchid.prm -i %%i -o %%iout.tif
pause
其中,
第一行程式碼裡,把MRT_DATA_DIR替換為你自己的MRT_DATA_DIR名稱,MRT_DATA_DIR名稱可以在安裝目錄裡,找到ModisTool.bat,然後右鍵選擇編輯中找到;
第二行程式碼裡,把test.prm替換為自己的投影引數檔案,如果執行出錯的話,可以把resample替換為其完整的路徑,如D:\software_install\MRT\bin\resample.exe;
第三行程式碼為執行完成後保留bat執行視窗,如果出現錯誤,可參見bat視窗的提示,將安裝目錄下的datum.txt和spheroid.txt檔案複製到DATA資料夾裡;
雙擊modis.bat,便可看到命令視窗的批出理過程,如發生異常,檢查prm的引數是否設定正確(可在GUI中執行看是否報錯)或見上一段的注意事項。