码迷,mamicode.com
首页 > 编程语言 > 详细

ArcGIS Python实现Modis NDVI月最大合成

时间:2014-08-29 14:46:28      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:style   os   io   ar   for   文件   数据   2014   art   

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

ArcGIS Python实现Modis NDVI月最大合成

标签:style   os   io   ar   for   文件   数据   2014   art   

原文地址:http://blog.csdn.net/lucky51222/article/details/38922853

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!