husg2008的个人博客分享 http://blog.sciencenet.cn/u/husg2008

博文

栅格数据的批处理分类统计方法——MRT批处理与envi分类统计

已有 10729 次阅读 2013-7-3 15:25 |系统分类:科研笔记|关键词:学者| 分类统计

   一、MRT的批处理(引自http://wenku.baidu.com/view/585f51838762caaedd33d4d8.html

   

1.list的生成。

dir /b H:MODISDatanasa2000*A2000049*.hdf >> H:MODISDatanasa2000lt2000049.txt

本语句用于把你的所有的.HDF文件生成.txt的list。

*A2000049*.hdf 意思是含有“A2000049”字段的所有文件,用于合成。这里是200年第49天的数据为例。

其他隔天按照此格式重复。换掉“A2000049”就行。如第65天用“*A2000065*.hdf”

>>后面部分是存贮路径和名称,为了便于理解和记忆,建议按照天数存贮。

写完之后,保存为.bat文件。

以上书写在txt中进行。


2..prm的生成

点开MRT,opern input file,打开几景要合并的影像;available band,选择你要输出的波段,右边的是要输出的波段,不需要的送到左边;下面的坐标设置,打开文件后显示的是文件文件的坐标,你可以不修改,就是后面的输出合成的是所有影响数据;你也可以修改,例如你的研究区域比较小,远小于几张影像的合成区,你可修改四角坐标,这样数据处理里速度快一些,保存的的数据库量也小一些;specify output file设置输出路径和名称,记住一定要在名字后面加.tif什么的,这个表示输出格式;RESAMPL Type选择一个重采样的方法,一般选择nearest neighber;output projection type,选择一种投影方式,如果选择Albers Equal Area,那么在Edit projection parameters时STDPR1填25,STDPR2填47,CentMer填105,这个全中国一样;下面的Datum选择一个坐标系,如WGS84;output pixel size 输出栅格大小,可以默认,也可以修改,如MODIS16day数据网站标明250*250,实际是231*231,如果默认就是231*231,你也可以修改为500*500,直接填入500就可以了。然后run.之后save parameters file,这一步最重要了,哥们,做这么多,就是为了这一步。保存为一个你习惯的名字。当然你也可以自己写。但是对于变成能力差和对于投影变换头痛的我们大多数人而言,这种方法获取.prm文件显然是最容易的。

生成之后的文件可以直接用。

下面是我生成的,prm文件(我保存的文件名字为MOD16DAY.prm,后面MRT命令中可以看到)

The "INPUT_FILENAMES" field would be commented. If you want to load multiple input files please uncomment the "INPUT_FILENAMES" field and comment the"INPUT_FILENAME" field.

#Also the "ORIG_SPECTRAL_SUBSET" field needs to be uncommented and changed to "SPECTRAL_SUBSET". The initial "SPECTRAL_SUBSET" field should be deleted.



#INPUT_FILENAMES = ( H:MODISDatanasa2000MOD13Q1.A2000049.h26v05.005.2006269215315.hdf H:MODISDatanasa2000MOD13Q1.A2000049.h27v05.005.2006269214353.hdf )


INPUT_FILENAME = H:MODISDatanasa2000TmpMosaic.hdf


SPECTRAL_SUBSET = ( 1 )

#ORIG_SPECTRAL_SUBSET = ( 1 0 0 0 0 0 0 0 0 0 0 0 )


SPATIAL_SUBSET_TYPE = INPUT_LAT_LONG


SPATIAL_SUBSET_UL_CORNER = ( 39.6 107.1 )

SPATIAL_SUBSET_LR_CORNER = ( 34.8 111.3 )


OUTPUT_FILENAME = H:MODISDatanasa2000MOD13Q1.A2000049.h26v05.005.2006269215315.tif


RESAMPLING_TYPE = NEAREST_NEIGHBOR


OUTPUT_PROJECTION_TYPE = AEA


OUTPUT_PROJECTION_PARAMETERS = (

0.0 0.0 25.0

47.0 105.0 0.0

0.0 0.0 0.0

0.0 0.0 0.0

0.0 0.0 0.0 )


DATUM = WGS84



3.MRT命令的生成。(关键处理过程)

MRTMOSAIC -i H:MODISDatanasa2000lt2000049.txt -o C:tmpMOD_LST.HDF -s " 1 0 0 0 0 0 0 0 0 0 0 0 "

RESAMPLE -p H:MODISDatanasa2000MOD16DAY.prm -i C:tmpMOD_LST.HDF -o H:MODISDatanasa2000MOD13Q.2000049.tif

MRTMOSAIC 是合成命令,-i 是输入的意思, H:MODISDatanasa2000lt2000049.txt 是list的路径; -o 是输出的意思,C:tmpMOD_LST.HDF是输出的零时存储,是中间产品,处理完之后不会有任何保存,保证c盘下有tmp文件夹,也可以放其他的盘和文件夹,但是为例程序运行的速度,建议放C盘;-s " 1 0 0 0 0 0 0 0 0 0 0 0 " 是输出MODIS16day的第一波段,即NDVI数据。

RESAMPLE是重采样, -p H:MODISDatanasa2000MOD16DAY.prm 选择投影文件,MOD16DAY.prm第二步中保存下来的文件。

-i C:tmpMOD_LST.HDF 是输入MRTMOSAIC中合成的零时文件,进行处理。o H:MODISDatanasa2000MOD13Q.2000049.tif,输出保存路径和名字

这仍然是以2000年第49天数据为例,其他的数据重复就行,对应修改相应的天数。哥们,姐们,如何修改这么简单的事情,不许再罗嗦了吧。

完毕后保存为.bat文件

   二、ENVI下的分类统计

通常情况下,经过以上批处理过程,会得到一些不同时间段的全区域数据,我们往往需要的是这些时间序列特定区域的统计值,即分类统计数据。在arcgis中有个模块zonal statistic虽然也可以实现,但是需要一段一段的统计,而且计算的速度也很慢,当然如果用编程批处理的方法也可以实现,需要有一定的编程基础了。实际上,通过ENVI的stack集成多个时段为多波段的形式,并借助mask分类统计,也可以方便快捷的实现分类统计结果的。只不过需要将第一步的结果先stack成多波段栅格,然后将分区域的数据制作成相应的mask,就可以分类统计了。




https://m.sciencenet.cn/blog-287045-704910.html

上一篇:浮躁少点,专心多点
下一篇:科研感悟

0

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-18 08:57

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部