ArcGIS Python實現Modis NDVI批量化月最大合成


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM