最大合成法(MVC)能够在Envi中的Band Math中进行,式子是B1>B2,可是无法批量化。本文实如今ArcGIS中利用Python代码批量进行,例如以下:
用到的Modis NDVI数据是在MRT中进行拼接与转投影后的月数据,一个月有两期,数据格式是.tif,文件名称的格式如:20040101.1_km_16_days_NDVI.tif。20040102.1_km_16_days_NDVI.tif代表2004年1月份的两期数据。本次处理的为2004-2013年的10年的数据。
Python代码例如以下:
import arcpy import time arcpy.CheckOutExtension("spatial") time1=time.strftime(‘%y-%m-%d-%H:%M:%S‘) Sname1="F:\\Modis_16\\1Moasic\\" Sname2=".1_km_16_days_NDVI.tif" for i in range(2004,2014): for j in range(1,13): if j>9: Year= str(i)+str(j)+"0" else: Year= str(i)+"0"+str(j)+"0" print Sname1+Year+"1"+Sname2 print Sname1+Year+"2"+Sname2 out="F:\\Modis_16\\2MVC\\"+Year[0:6] print out +" is being ........." arcpy.gp.CellStatistics_sa((Sname1+Year+"1"+Sname2,Sname1+Year+"2"+Sname2) ,out, "MAXIMUM", "DATA") print out +" has done.........." print "-------------------------------------------------------" print "<----------All are done !!!---------->" print "Start time : "+time1 print "End time : "+time.strftime(‘%y-%m-%d-%H:%M:%S‘)
领悟:本次处理的核心部分是拼凑文件名称字符串。
时间: 2024-11-04 21:18:52