ArcGIS Python實現(xiàn)Modis NDVI批量化月最大合成
來源:程序員人生 發(fā)布時間:2014-09-26 16:01:46 閱讀次數(shù):3045次
最大合成法(MVC)可以在Envi中的Band Math中進(jìn)行,式子是B1>B2,但是無法批量化;本文實現(xiàn)在ArcGIS中利用Python代碼批量進(jìn)行,如下:
用到的Modis NDVI數(shù)據(jù)是在MRT中進(jìn)行拼接與轉(zhuǎn)投影后的月數(shù)據(jù),一個月有兩期,數(shù)據(jù)格式是.tif,文件名的格式如:20040101.1_km_16_days_NDVI.tif,20040102.1_km_16_days_NDVI.tif代表2004年1月份的兩期數(shù)據(jù)。本次處理的為2004-2013年的10年的數(shù)據(jù)。
Python代碼如下:
import arcpy
import time
arcpy.CheckOutExtension("spatial")
time1=time.strftime('%y-%m-%d-%H:%M:%S')
Sname1="F:Modis_161Moasic"
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_162MVC"+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')
領(lǐng)悟:本次處理的核心部分是拼湊文件名字符串。
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈