一、安装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,并按提示完成安装。
二、使用MRT(MODIS Reprojection Tool)
(一)GUI界面操作
安装完成后,打开MRT的安装路径文件夹,打开bin文件夹,双击ModisTool.bat或者ModisTool.jar即可进 入MRT的GUI界面。
输入MODIS数据,选择输出NDVI和EV,指定输出路径输出文件格式为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天的情况,可能会报错,请注意。
1 set MRTDATADIR=f:\MOD_HDE_SOURCE 2 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中运行看是否报错)或见上一段的注意事项。