使用MRT批量处理MODIS数据?

时间:2012-05-15 03:24:08

标签: batch-file satellite-image

我想使用MRT-MODIS重投影工具批量拼接MODIS MCD15A2数据,这是我的脚本:

set  MRTDATADIR = D:/mrt/data
set /a DAY=2011009   
set /a DEADLINE=2011017  
:start
if %DAY% leq %DEADLINE% (goto ORDER) else exit
:ORDER
dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT
d:/mrt/bin/mrtmosaic.exe -i MOSAICINPUT.TXT -s "0 1 0 0 0 0" -o MOSAIC_TMP_%DAY%.hdf 
copy MOSAIC_TMP_%DAY%.hdf  Result & del MOSAIC_TMP_%DAY%.hdf
del *%DAY%.*.hdf
set /a DAY= %DAY% + 8 
goto start

它没有用,我得到了 “警告:CheckMosaicArgs:一般处理      :处理来自(MOSAICINPUT.TXT)的镶嵌工具“

的input_filenames时出错

我该如何解决这个问题?我正在使用windows7.Thanks!

1 个答案:

答案 0 :(得分:2)

尝试逐步调试BAT文件。

不要运行BAT文件,而是执行命令行中的每个命令

  1. 开始
    dir *2011009.*.hdf /a /b /s
    

    研究命令的输出。确保dir命令产生您期望的结果,返回您希望处理的文件。

  2. 将dir命令重定向到MOSAICINPUT.TXT文件。确保输入文件列表MOSAICINPUT.TXT确实具有mrtmosaic的适当格式。确保mrtmosaic接受文件列表作为输入文件。在子目录内容和文件名的格式中要特别注意,查找空格或其他特殊字符,以后可能不会被mrtmosaic吞没。可能是mrtmosaic不喜欢反斜杠或空白或......

  3. 执行

    d:/mrt/bin/mrtmosaic.exe -i MOSAICINPUT.TXT -s "0 1 0 0 0 0" -o MOSAIC_TMP_2011009.hdf
    

    仔细阅读错误消息。一次纠正一个问题,再次运行命令。