1、安裝MRT(MODIS Reprojection Tool)java
安裝準備:檢查是否安裝java.exe。Java版本至少爲Java 2 Runtime Environment version 1.5或者是Java 2 SDK version 1.5或者更高的版本。在Windows平臺中能夠經過開始/搜索並輸入java.exe來檢查本身的電腦是否安裝有java,也能夠不檢查直接從新安裝一份。spa
解壓安裝包MRT_download_<platform>.zip。包含四個文件:mrt_install.bat,MRT_<platform>.zip,reg_set.exe, 以及unzip.exe。code
雙擊mrt_install.bat,並按提示完成安裝。orm
注:下載地址爲https://lpdaac.usgs.gov/tools/modis_reprojection_tool,要先註冊帳號才能下載,註冊的時候最好用國外郵箱,如雅虎什麼的,反正QQ,163郵箱收不到驗證連接。blog
2、使用MRT(MODIS Reprojection Tool)ip
(一)GUI界面操做 rem
安裝完成後,打開MRT的安裝路徑文件夾,打開bin文件夾,雙擊ModisTool.bat或者ModisTool.jar便可進 入MRT的GUI界面。it
輸入MODIS數據,選擇輸出NDVI和EVI,指定輸出路徑輸出文件格式爲GEOTIFF,採樣方式爲最近鄰,投影類型爲Albers Equal Erea,輸出像元大小爲250m,而後直接點擊run就能夠了。其中,投影參數設置見下圖(STDPR1第一條標準緯線25,STDPR2第二條標準緯線爲47,CentMer中央經線爲105,datum基準面WGS84):io
(二)批處理拼接之一年之內的數據form
備註:該操做數據及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天的狀況,可能會報錯,請注意。
1 set MRTDATADIR=f:\MOD_HDE_SOURCE 3 set /a DAY=2000049 rem ***開始日期*** 4 5 set /a DEADLINE=2000353 rem ***結束日期*** 6 7 :start 8 9 if %DAY% leq %DEADLINE% (goto ORDER) else exit 10 11 :ORDER 12 13 rem **將當天的圖幅數據文件名放在一個TXT文件中** 14 15 dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT 16 17 rem **拼接HDF12種數據中的第一種** 18 19 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 20 21 rem **將拼接後數據複製到已建Result 文件夾中並刪除當天的數據** 22 23 copy MOSAIC_TMP_%DAY%.hdf Result & del MOSAIC_TMP_%DAY%.hdf 24 25 del *%DAY%.*.hdf 26 27 set /a DAY= %DAY% + 16 rem ***拼接下一個時相的數據*** 28 29 goto start
(三)批處理拼接之多年的數據
以上代碼只能處理一年以內或者每隔一年的數據,若是要一次性處理多年的數據,則參見如下的代碼
1 set MRT_DATA_DIR=f:\MOD_HDF_SOURCE 2 3 set /a DAY=2015337 4 5 set /a DAY1=337 6 7 set /a DEADLINE=2016353 8 9 :start 10 11 if %DAY% leq %DEADLINE% (goto ORDER1) else exit 12 13 :ORDER1 14 15 if %DAY1% leq 353 (goto ORDER) 16 17 :ORDER 18 19 dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT 20 21 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 22 23 copy MOSAIC_TMP_%DAY%.hdf Result & del MOSAIC_TMP_%DAY%.hdf 24 25 del *%DAY%.*.hdf 26 27 set /a DAY1= %DAY1% + 16 28 29 set /a DAY= %DAY% + 16 30 31 if %DAY1% GTR 357 (goto ORDER2) 32 35 goto start 36 38 :ORDER2 39 41 set /a DAY=%DAY% + 1000 - 368 42 43 set /a DAY1=1 44 45 pause 46 47 goto start
(四)批處理重投影及格式轉換
新建一個文件夾,假設起名爲DATA,把全部要處理的MODIS HDF文件放到該文件夾下;
在GUI界面中,設定一個HDF文件投影參數後,點擊「Save Parameter File…」保存本身設定的參數文件到DATA文件夾下,假設爲test.prm;
在DATA文件夾裏,新建一個記事本文件,將下面的內容粘貼進去,需更改幾處。更改完畢以後,將記事本文件另存爲「.bat」文件,假設爲「modis.bat」;
1 set MRT_DATA_DIR=f:\MOD13Q1_REPROJECTION 2 3 for %%i in (*.hdf) do resample.exe -p test.prm -i %%i -o %%iout.tif 4 5 pause
其中,
第一行代碼裏,把MRTDATADIR替換爲你本身的MRTDATADIR名稱,MRTDATADIR名稱能夠在安裝目錄裏,找到ModisTool.bat,而後右鍵選擇編輯中找到;
第二行代碼裏,把test.prm替換爲本身的投影參數文件,若是運行出錯的話,能夠把resample替換爲其完整的路徑,如D:\software_install\MRT\bin\resample.exe;
第三行代碼爲運行完成後保留bat運行窗口,若是出現錯誤,可參見bat窗口的提示,將安裝目錄下的datum.txt和spheroid.txt文件複製到DATA文件夾裏;
雙擊modis.bat,即可看到命令窗口的批出理過程,如發生異常,檢查prm的參數是否設置正確(可在GUI中運行看是否報錯)或見上一段的注意事項。