python_MOD13A3_NDVI 最大合成
如图,输入的文件路径下存放NDVI数据和 EVI数据,因此需要用到正则表达式匹配文件名。
import arcpy
from arcpy import env
from arcpy.sa import *
import re
arcpy.CheckOutExtension("spatial") #检查模块许可
# Set environment settings
env.workspace = r"G:\MOD13A3_NDVI\Extract_Tarim" #NDVI数据存放目录
outpath=r'G:\MOD13A3_NDVI\MaxMonth_NDVI\2002_MaxNDVI.tif' # 年最大合成NDVI数据文件名
list_raster=[] #空LIST 用于存放全部用于合成的月NDVI
re_info=r'[2][0][0][2][.a-zA-Z0-9_]{16}[N][D][V][I].tif$' #正则表达式匹配字符串 用于匹配2002年12个月NDVI数据,文件后缀为tif
for file1 in arcpy.ListFiles("*.tif"): #循环列出数据存放目录.tif文件
s=file1
if re.findall(re_info,s): #使用re.findall 匹配2002年的月数据,用于合成2002年最大合成NDVI
print s
list_raster.append(s) #将符合文件命名要求的2002年月数据名称放入列表
print list_raster
### Execute CellStatistics
outCellStatistics = CellStatistics(list_raster, "MAXIMUM", "DATA") # 合成2002年12个月的NDVI数据,方法为 MAXIMUM , 无数据的地方以有数据的最大值为准DATA
### Save the output
outCellStatistics.save(outpath) #保存数据
print'success'
输出文件示例
转载自:https://blog.csdn.net/u012131430/article/details/82756363