在網上搜了好多關於MRT批處理的內容,基本是處理16d數據的,作為編程小白,搗鼓了兩天才能順利進行批處理,以此記錄自己的處理過程。
感謝https://www.cnblogs.com/orchidLan/p/7210448.html博主的文章,解救了我
1.批量拼接
將所有要拼接的數據放到一個文件夾下,新建一個TXT文件,將下面這段代碼復制粘貼進去,改名為modis.bat,參數修改后點擊保存后雙擊modis.bat運行,在該文件夾下再新建一個result文件夾,結果將保存到result中。需注意的是MRT安裝路徑里不要有空格,綠色的地方是需要修改,MRTDATADIR改為自己的安裝路徑,如果不知道的查看環境變量中的MRTDATADIR,時間添加改為1是因為每個月的生成天數間間隔不一致,如果為30或者31都容易漏掉。
set MRTDATADIR=D:\Tools\MRT\bin set /a DAY=2006001 set /a DEADLINE=2006336 :start if %DAY% leq %DEADLINE% (goto ORDER) else exit :ORDER dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT d:/Tools/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 set /a DAY= %DAY% + 1 goto start
2.批量轉投影及格式
在上述reult文件夾中,新建一個記事本文件,將下面的內容粘貼進去,需更改幾處。更改完畢之后,將記事本文件另存為“.bat”文件,假設為“modis.bat”;
在GUI界面中,設定一個HDF文件投影參數后,點擊“Save Parameter File…”保存自己設定的參數文件到result文件夾下,假設為head.prm;可先用GUI界面測試一個,點擊run運行后查看是否正確。
set MRT_DATA_DIR=d:\Tools\MRT\bin
for %%i in (*.hdf) do D:\Tools\MRT\bin\resample.exe -p head.prm -i %%i -o %%iout.tif pause
pause
第一行代碼里,把MRTDATADIR替換為你自己的MRTDATADIR名稱,MRTDATADIR名稱可以在環境變量中找到;
第二行代碼里,把head.prm替換為自己的投影參數文件;
第三行代碼為運行完成后保留bat運行窗口,如果出現錯誤,將安裝目錄下的datum.txt和spheroid.txt文件復制到DATA文件夾里;
雙擊modis.bat,便可看到命令窗口的批出理過程。