利用Python(ArcGIS环境下的ArcPy)批量将hdf数据特定波段输出为tif格式

最近需要用到MCD12Q1数据,且需要大范围大数据量的拼接操作。但是MRT崩了,只能分步处理,先hdf→tif,再Mosaic。

1. 格式转换参考博文:(六)arcpy开发&利用arcpy在arcgis中批量将hdf数据转tif数据(python文件的变量,数据转换) - yGIS - CSDN博客  https://blog.csdn.net/u010608964/article/details/83963614,在这里向原作者表示感谢。

本文对其代码进行部分修改,以便提取需要的波段:

import os
import arcpy
arcpy.env.overwriteOutput = 1
arcpy.CheckOutExtension("Spatial")
inPath='H:/Troc/Downloads/'
outPath='H:/Troc/Output_tif/'
arcpy.env.workspace = inPath
arcpy.env.scratchWorkspace = inPath
hdfList = arcpy.ListRasters('*','HDF')
for hdf in hdfList:
	for number in range(0,5): #注意角标。hdf文件角标由0开始,相应波段与ArcGIS中显示一致。
		eviName="LC_Type0" + str(number) + "_" + hdf[8:16] + hdf[17:23] + ".tif"
		data1=arcpy.ExtractSubDataset_management(hdf,outPath + eviName, number)	
print "完成"

2. 图像拼接打算使用ModelBuilder进行批处理,这里不再赘述。

注意:

建议在ArcCatalog中进行相关操作,避免巨量运算结果的自动加载显示,蹦系统。 

你可能感兴趣的:(MODIS,Python)