运行环境

Windows 7、10(其它系统版本没有试过);
ArcGIS10.5自带Python 2.7.12(其它版本的python也可以,但是对于地理学工作者来说,ArcGIS应该是标配吧,所以就不用再安装python啦。不过ArcGIS安装的python未将python的安装路径(即python.exe文件所在的目录)添加到环境变量中,请自行添加环境变量);
NASA美国国家航空航天局出台使用的软件MRT(不过MRT不再更新了,NASA又推出了新的MODIS数据处理工具HEGTool);
以上请安装要求做好环境配置等相关工作,为接下来的使用做好铺垫

需求及目的

在官网上下载了覆盖整个新疆地区2013年4月-10月份的MOD11B1数据,需要其中的LST_Day_6km、LST_Night_6km两个数据。总计是1290个hdf文件。总计215天,每天6个瓦片数据。将这6个瓦片数据提取LST_Day_6km、LST_Night_6km并拼接为一幅hdf。生成的文件名为"A2013***.hdf"。如下图所示。

python拼接file name Python拼接modis_数据

具体过程

①MRT设置

python拼接file name Python拼接modis_数据_02

②Python代码实现批量拼接

打开在步骤①设置MRT中保存的.prm文件,在IDLE中打开编写的python脚本代码,对python脚本代码进行修改。修改内容如下:

python拼接file name Python拼接modis_数据_03

然后运行就OK了。需要注意的是:python代码中所有的路径名都需要是英文字符,不能存在中文字符,否则会出错!!!!!

一般不会有什么问题的,运行的界面如下:

python拼接file name Python拼接modis_python拼接file name_04

如果觉得每拼接一次都要调用cmd很麻烦,可以先修改好python代码,退出IDLE,然后直接双击.py文件就会在cmd下运行python程序。如下图所示:

python拼接file name Python拼接modis_MODIS_05

运行结果如下:

python拼接file name Python拼接modis_python_06

将hdf中的数据集转为tif格式文件

与MRT拼接类似,拼接使用的是MRT中的mrtmosaic.exe,而重采样(也可以转换为tif格式)使用的是MRT中的resample.exe。所以只需要在python代码中指定步骤①MRT设置保存的prm文件的路径就OK了。具体的设置如下图所示(OUTPUT_FILENAME 字段中也不能出现‘(04-10)’特殊字符,应该是“()”的问题):

python拼接file name Python拼接modis_python拼接file name_07

运行界面同拼接过程。

最终的结果如下:

python拼接file name Python拼接modis_MRT_08

接下来就可以进行其它处理和操作了!