MRT和MST的批处理问题
来源:互联网 发布:sd卡数据恢复工具免费 编辑:程序博客网 时间:2024/05/19 13:09
之前使用MODIS数据的时候,一直使用的是二级以上产品,总是使用MRT来进行拼接,当时对于遥感一知半解,安装MRT的时候,还需要Java的环境,看网上的安装步骤,感觉非常繁琐,很复杂,现在想来,还是水平太菜了,根本不了解程序的开发已经安装环境。如果对于程序的开发,已经运行环境有了解的,这些根本就不是很什么问题。
首先还是介绍下MRT和MST的区别,NASA开发的这两个工具一个是针对MODIS的一级数据,一个是针对二级及以上数据来做处理的。MST是针对MOD02数据即MODIS的原始数据来做处理的,在处理过程中需要用到MOD03数据作为地理信息辅助,在处理的过程中,只能针对单景影像来进行处理,如MOD02和对应的MOD03来做处理,而对应用同一天的MOD02数据,但是对于不同的获取时间数据并不能进行拼接这些操作。对于MODIS的命名格式如下:
MRT对二级及以上数据做处理,可以进行拼接及重采样操作。处理数据的时候需要看清是哪级数据,选择不同的处理工具。
在网上搜索批处理的时候,大部分都是使用的Cygwin这个工具,实质上就是在windows系统下,使用了一个unix的虚拟环境,写了一个bash文件。如果你能看懂这种脚本语言的话,会发现最重要的一个语句是调用了MRT安装路径下的BIN文件夹之中的两个exe,mrtmosaic.exe和resample.exe,如果你有耐心看MRT或者MST的说明的话,就会发现,这个工具就是靠这一两个exe来运行的。Java的安装只是为了给软件提供一个GUI界面而已。
如果你会其他的语言,也可以自己写一个批处理的代码,例如用python,C/C++等等,只要你明白MST里面的swath2grid.exe和MRT里面的mrtmosaic.exe和resample.exe是如何工作的。
最近用DOS命令写了两个BAT文件来做批处理,相对于Cygwin来说,步骤要简单的多。下面就简单介绍下思路吧
1、首先假设要处理的数据是连续一年的影像,并且存放在同一个文件夹下,给程序指定扫描的文件夹。
2、因为MODIS的数据命名都是按照一定的格式的,这样对于要处理的文件就方便多了,对读取的文件的日期设定一个起始,扫描一个当前日期的影像,存放进一个临时txt之中,调用MRT中的EXE来进行处理,处理完后对天数进行自增,进行下一个循环。下面给出一个例子吧
set MRTDATADIR=D:/MRT/dataset /a DAY=2012001 rem **batch data start time**set /a DEADLINE=2012361 rem **batch data end time**set workdir= "F:/modis/":startif %DAY% leq %DEADLINE% (goto ORDER) else exit:ORDER:: **save the file name into a notepad**dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT:: **execute mosaic **:: Set the mrtmosaic.exe directory.D:/MRT/bin/mrtmosaic.exe -i MOSAICINPUT.TXT -s "1 1" -o MOSAIC_TMP_%DAY%.hdfD:/MRT/bin/resample.exe -p mod.prm -i MOSAIC_TMP_%DAY%.hdf -o MOD010A2_%DAY%.tif:: **copy the result to a file and delete the input data**move *.tif F:\MOD\Resultdel MOSAIC_TMP_%DAY%.hdfset /a DAY= %DAY% + 8 goto startcmd.exe
上面这个只是针对MRT来进行的处理,针对自己的数据进行下响应的修改就可以使用了。对于MST来说,主要的修改就是一个MOD03数据的读取,并且swath2grid.exe的输入参数只需要prm文件,其他都参数都可以直接写在prm文件中。针对MST和MRT的prm文件编写,网上也有很多介绍,可以自行搜索下。
- MRT和MST的批处理问题
- IDL调用MRT批处理MODIS
- 批处理的问题
- MST的Prim算法和Kruskal算法
- codevs 1700 MST和树的重心
- jdbc百万数据批处理遇到的问题和处理
- IE问题修复的批处理
- hibernate的一个批处理问题!
- 批处理解决环境变量的问题
- Ado执行批处理的问题
- 编译批处理 -d. 的问题
- 蓝桥杯 MST 和 搜索
- 拷贝和删除的批处理
- MST性质的证明
- MST性质的证明
- 研究批处理脚本遇到的一些问题
- 执行executeBatch批处理遇到的问题
- U3D批处理的静态与动态问题
- 详解Python正则表达式之: (?P<name>…) named group 带命名的组
- x264码率控制
- vb.net更改列的抬头
- 千分之一
- 祝贺C博客 越办越好
- MRT和MST的批处理问题
- C语言选择排序demo
- java垃圾回收机制
- 使用U盘启动安装U盘内linux6.1
- 详解Python正则表达式之: (?P=name) match earlier named group 匹配前面已命名的组
- C++的日志宏
- TextView控件文字下划线
- Tomcat启用https访问
- 关于CSS