Howto: 批量计算NDVI指数
文章编号 : 39511
软件: ArcGIS - ArcEditor 9.3, 9.3.1, 10 ArcGIS - ArcInfo 9.3, 9.3.1, 10 ArcGIS - ArcView 9.3, 9.3.1, 10
操作系统: N/A
软件: ArcGIS - ArcEditor 9.3, 9.3.1, 10 ArcGIS - ArcInfo 9.3, 9.3.1, 10 ArcGIS - ArcView 9.3, 9.3.1, 10
操作系统: N/A
1 个回复
EsriSupport
赞同来自:
下面脚本提供了自动批量计算NDVI指数的方法。
内容:
# 导入系统模块
import sys, arcgisscripting
# 创建Geoprocessor对象
gp = arcgisscripting.create(9.3)
# 检查许可
gp.CheckOutExtension("spatial")
gp.OverWriteOutput = 1
#设置工作空间
gp.workspace = sys.argv[1]
gp.scratchWorkspace = sys.argv[2]
rdList = gp.ListRasters("*.tif")
#对栅格数据循环
for rd in rdList:
NDVI = "{0}/{1}_NDVI.tif".format(sys.argv[3], rd[:-4])
NIR = r"{0}\Band_4".format(rd)
Red = r"{0}\Band_1".format(rd)
InExp = "float({0} - {1})/float({0} + {1})".format(NIR, Red)
# 使用GP工具:Single Output Map Algebra
gp.SingleOutputMapAlgebra_sa(InExp, NDVI)
gp.AddMessage("NDVI processed for {0}".format(NDVI))
创建时间:2011-11-04
最近更新: 2012-01-19
【原文链接】
http://support.esrichina.com.c ... .html
要回复问题请先登录或注册