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

论坛 期权论坛 脚本     
匿名网站用户   2020-12-20 09:24   118   0

最大合成法(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')
领悟:本次处理的核心部分是拼凑文件名字符串。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP