MRT批量处理MODIS数据(包括提取NDVI、裁剪矩形范围、hdf转tif、投影转换、重采样)
kkkza君
编辑于 2023年11月01日 23:47

1.打开需要的hdf文件。我选用的是MOD13A1 500m数据。

(1)选择输入太多文件会运行不出,我用3年共选89个hdf,运行不出,提示error但是选择2年的hdf,运行出来是3年89个tif文件。

(2)MOD13C1 0.05deg这种全球的不需要处理的数据会显示error:missing。。,放不进MRT,这种文件看到有个视频说得直接用gis处理,所以我用500m分辨率的数据,后面转换投影、重采样为deg的地理坐标系也就可以了。

2.(选择所需要的影像波段数据)选中不需要的波段数据,放到左边格子。选中后,点击<<;我只需要提取ndvi波段,所以只留下NDVI数据。

 

 3.(裁剪所需要的范围)直接裁剪所需要的矩形范围,将所需范围输入,这样可以避免运行时候花费长时间,之前没有修改这个范围(运行了1h以上还没完成)。如果需要拼接几张影像数据就不用裁剪。

 4.文件输出路径,输出的文件名后缀写上.tif(如图)。

5.(转换投影和重采样)我选择的是Georaphic,地理坐标系(单位:deg);下面可以选择所需要的分辨率,填入0.05即输出的分辨率为0.05deg。  

 拓展一下:如果需要转换成wgs84 utm的可以选utm,点击edit proj…,datum选wgs84,utm zone选自己需要的区域。条带号如下图。例如我研究的区域在114E-120E之间,我的utm zone就填50;此时output size是米,也是自己填需要转换的分辨率,我填入1000即输出的分辨率为1000m。

6.(最重要的一步)按照以上步骤批量处理所选的hdf文件。

如果直接点run只会处理一个hdf文件(只生成1个tif)。

(1)点击save parameter file,创建一个my.prm(放到需要输入的hdf文件的文件夹里面)。

(2)创建一个txt文件,将以下3行代码输入后,改名为modis.dat(同样是要放到输入的hdf文件的文件夹里面);我安装的MRT放在D盘,实际代码中的路径要根据安装的MRT中data文件夹以及resample.exe的路径进行修改。(代码中标注颜色的要以实际路径修改)

rem Set the MRTDATADIR environmental var to the MRT data directory.

set MRTDATADIR= D:\MRT\data

for %%i in (*.hdf) do D:\MRT\bin\resample.exe -p my.prm -i%%i -o %%iout.tif

注意hdf文件、bat文件、my.prm文件要放在同一个文件夹!

7.双击modis.dat,就会批量生成tif到所选的输出文件夹中。