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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘)
    领悟:本次处理的核心部分是拼凑文件名称字符串。

以上是关于ArcGIS Python实现Modis NDVI批量化月最大合成的主要内容,如果未能解决你的问题,请参考以下文章

MODIS系列之NDVI(MOD13Q1)七:时间序列S-G滤波之Python

MODIS系列之NDVI(MOD13Q1)九:单一土地类型NDVI及时序图(以耕地类型为例)

MODIS系列之NDVI(MOD13Q1)九:单一土地类型NDVI及时序图(以耕地类型为例)

在ENVI里处理完影像,计算完NDVI,转成tif在arcgis里打开值域不是1到-1

ArcGIS风暴根据海拔范围分级统计GIMMS 3g NDVI平均值案例教程——以甘肃省为例

ArcGIS风暴根据海拔范围分级统计GIMMS 3g NDVI平均值案例教程——以甘肃省为例