Howto: 自动将栅格的Null值像元设定成0

文章编号 : 39517
软件: 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
已邀请:

EsriSupport

赞同来自:

摘要: 脚本用于将栅格数据中的NoData像元赋值为0。
许多空间分析都需要对栅格数据中的NoData像元进行分析。由于Nodata像元会在分析中被忽略,因此只有对Nodata像元进行赋值才能对其分析。
下面脚本展示了如何使用地图代数来对指定目录下栅格数据的Noda进行赋值。

内容:
#导入模块
import arcpy, sys, os
from arcpy import env
from arcpy.sa import *

arcpy.CheckOutExtension("spatial")
env.workspace = arcpy.GetParameterAsText(0)

#建立栅格文件存放路径
ras_dir = "{0}/ras_dir".format(env.workspace)

if not os.path.exists(ras_dir):
os.mkdir(ras_dir)

rasterList = arcpy.ListRasters("*") #, "GRID")

#将栅格中Null值设定为0
for raster in rasterList:
arcpy.AddMessage("Reading {0}".format(raster))
outras = Con(IsNull(raster),0,raster)
arcpy.AddMessage("Setting null for {0}".format(raster))
outras.save("{0}/{1}".format(ras_dir, raster))
arcpy.AddMessage("Saving {0}".format(raster))






创建时间:2011-11-04
最近更新: 2012-01-27


原文链接
http://support.esrichina.com.c ... .html

要回复问题请先登录注册