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

You may also like...