MODIS MRT安装、影像批处理投影及拼接

 注:本文是作者上学期间科研工作需要所总结,原文发表在QQ个人空间,因工作若干年后还有同学需要做类似工作,公开至此处,便于更多人检索到。

 

 作者:Sinsonglew 出处:http://www.cnblogs.com/sinsonglew 欢迎转载,也请保留这段声明。thanks :)

 

1  MRT工具的安装

检查自己的电脑上是否已安装java.exe(搜索java.exe即可,当然也可不检查,重新安装一份),在WINDOWS平台下,JAVA.虚拟机的安装路径及MRT的安装路径不宜包含空格。

WINDOWS平台下的安装过程中,输入路径名注意斜杠“\”应改为“/”,比如 c:\Modis must be entered as c:/Modis.

安装MRT之前需要先安装JAVA虚拟机,因为安装MRT的过程中会提示输入java.exe的路径。

 

2  MRT工具的使用及批处理操作

2.1 界面操作

安装完毕之后,打开MRT的安装路径文件夹,打开bin文件夹,找到ModisTool.bat,创建该文件的快捷方式到桌面,双击快捷方式便进入MRTGUI界面(见Fig.1)。

Fig.1中,对MODIS  MYD13Q1数据,选择输出EVI NDVI两个数据,指定输出路径输出文件格式为GEOTIFF,采样方式为最近邻,投影类型为UTM,输出像元大小为250m,然后直接点击run就可以了。

  

                         Fig.1  MRT GUI界面 

 

2.2 批处理投影

Fig.1中红色椭圆圈定部分,设定一个HDF文件投影变换的参数后,点击“Save Parameter File…”保存自己设定的参数文件,假设为head.prm

新建一个记事本文件,将下面的内容粘贴进去,需更改几处。更改完毕之后,将记事本文件另存为“.bat”文件,假设为“modis.bat”。

 

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

 

rem **********************************************************

rem

rem   replace "c:\Modis\data" to your own MRTDATADIR setuped"

rem   please refer to "ModisTool.bat",right key and choose "Edit" and you'll get "MRTDATADIR"

rem ***********************************************************

 

set MRTDATADIR=c:\Modis\data

 

rem **********************************************************

rem

rem   change head.prm to your own .prm file, then it's ok!

rem   if somethings wrong, change resample to full path. i.e.

rem   " for %%i in (*.hdf) do resample -p head.prm -i %%i  -o  %%iout.tif "

rem   to "for %%i in (*.hdf) do C:\Modis\bin\resample.exe -p head.prm -i %%i  -o  %%iout.tif"

rem

rem ***********************************************************

 

for %%i in (*.hdf) do resample -p head.prm -i %%i  -o  %%iout.tif

 

以上内容可粘贴到自己的记事本文件中,注意红色字体部分为需要改动部分。蓝色字体部分为注意内容。REM为注释的意思,其后所注内容可删去。

新建一个文件夹,假设起名为DATA,,将head.prmmodis.bat, 所有MODIS HDF数据放在该文件夹下,双击modis.bat,便可看到命令窗口的批出理过程,如发生异常,参见该节中蓝色内容

 

2.3 批处理拼接

 

  备注:该操作数据及BAT文件须放在一个文件夹(文件夹起名请用英文,MRT对中文路径数据会打不开)下。

 

  操作步骤:

  1:新建一个DATA文件夹,将HDF数据拷到DATA文件夹下;

  2:在DATA文件夹下再新建个Result文件夹(存放拼接后数据);

  3:将以下代码内容粘到一个TXT文件中(下文代码绿色字体内容为代码注释内容,请删去),更改TXT文件扩展名为BAT即可,假设你命名该BAT文件名为MOSAIC.BAT;

  4:点击MOSAIC.BAT,即可进行拼接操作,如有问题,请参见"2.2 批处理投影"中提示的注意内容。

  PS: 以下代码未考虑中间天数间断的情况,比如对MODIS时间分辨率为16天的数据,在一个应连续的等差数列中间有数据缺失,存在相差32天的情况,可能会报错,请注意。

set MRTDATADIR=c:\Modis\data

set /a DAY=2009257        rem ***开始日期***

set /a DEADLINE=2009273  rem ***结束日期***

:start

if %DAY% leq %DEADLINE% (goto ORDER) else exit

:ORDER

rem **将当天的图幅数据文件名放在一个TXT文件中**

dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT

rem **拼接HDF12种数据中的第一种**

c:/Modis/bin/mrtmosaic.exe -i MOSAICINPUT.TXT -s "1 0 0 0 0 0 0 0 0 0 0 0" -o MOSAIC_TMP_%DAY%.hdf 

rem **将拼接后数据复制到已建Result 文件夹中并删除当天的数据**

copy MOSAIC_TMP_%DAY%.hdf  Result & del MOSAIC_TMP_%DAY%.hdf

del *%DAY%.*.hdf

set /a DAY= %DAY% + 16   rem ***拼接下一个时相的数据***

goto start

 

posted @ 2015-07-24 23:50  walle搬砖  阅读(9653)  评论(3编辑  收藏  举报