YF2015的个人博客分享 http://blog.sciencenet.cn/u/YF2015

博文

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

已有 7994 次阅读 2016-4-14 21:10 |个人分类:遥感|系统分类:科研笔记| Python, ArcGIS, 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代码如下:  

[python] view plain copy
  1. import arcpy  

  2. import time  

  3. arcpy.CheckOutExtension("spatial")  

  4. time1=time.strftime('%y-%m-%d-%H:%M:%S')  

  5. Sname1="F:\Modis_16\1Moasic\"  

  6. Sname2=".1_km_16_days_NDVI.tif"  

  7. for  i in range(2004,2014):  

  8.    for j in range(1,13):  

  9.        if j>9:  

  10.            Year= str(i)+str(j)+"0"  

  11.        else:  

  12.            Year= str(i)+"0"+str(j)+"0"  

  13.        print Sname1+Year+"1"+Sname2  

  14.        print Sname1+Year+"2"+Sname2  

  15.        out="F:\Modis_16\2MVC\"+Year[0:6]  

  16.        print out +" is being ........."  

  17.        arcpy.gp.CellStatistics_sa((Sname1+Year+"1"+Sname2,Sname1+Year+"2"+Sname2) ,out, "MAXIMUM", "DATA")  

  18.        print out +" has done.........."  

  19.        print "-------------------------------------------------------"  

  20. print "<----------All are done !!!---------->"  

  21. print "Start time : "+time1  

  22. print "End   time : "+time.strftime('%y-%m-%d-%H:%M:%S')  

   领悟:本次处理的核心部分是拼凑文件名字符串。

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



https://blog.sciencenet.cn/blog-2637373-970141.html

上一篇:GIS开源软件大全
下一篇:多期NDVI图像合成一期图像操作过程
收藏 IP: 117.140.192.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (3 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-21 00:10

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部