ArcGIS Python实现Modis NDVI批量化月最大合成

来源:互联网 发布:出差日历行程软件 编辑:程序博客网 时间:2024/06/05 18:53

    最大合成法(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 arcpyimport timearcpy.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 : "+time1print "End   time : "+time.strftime('%y-%m-%d-%H:%M:%S')
    领悟:本次处理的核心部分是拼凑文件名字符串。

8 0