利用MRT批处理MOD13A3数据

在网上搜了好多关于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,便可看到命令窗口的批出理过程。

 

posted @ 2020-03-18 11:13  xuyanqin1992  阅读(2415)  评论(0)    收藏  举报