在地图代数中运行工具

需要 Spatial Analyst 许可。

地图代数提供了一套丰富的工具,可用于执行基于栅格的综合空间分析和建模。 地图代数表达式可以由单个工具或运算符组成,但也可以由多个工具和运算符组成。 复杂的地图代数表达式可以由 Spatial Analyst 工具组成,但也可以包含来自其他工具箱的工具。

运行工具的规则

以下是在地图代数中成功运行 Spatial Analyst 工具的一些常规规则。

简单表达式

用于运行单个工具的简单地图代数表达式包括工具名称(后跟输入数据集)和括号内的工具参数。

使用坡度工具的示例:

outRas = Slope("elevation.tif", "PERCENT_RISE", 3)

使用具有两个输入栅格的分区统计工具的示例:

outRas = ZonalStatistics("inzoneraster.tif", "Value", 
                         "invalueraster.tif", "MEAN")

工具名称和大小写

工具名称区分大小写。 错误的大小写将导致错误情况。

使用正确大小写的示例:

# The following tools have correct capitalization
#  and spelling, and are valid.
outRas = Square("inraster.tif")
outRas2 = GreaterThan("inraster.tif", "inraster2.tif")

错误大小写的示例:

# The following is invalid because the tool name starts with a capital letter.
outRas = square("inraster")

# The following is invalid because the tool name is capitalized incorrectly.
outRas2 = Greaterthan("inraster", "inraster2")
注:

Python 窗口中的所有工具一样,如果您在自动完成选择列表中选择工具名称,则自动完成将更正工具名称的大小写。

复杂表达式

您可以在另一个工具中嵌入一个工具来创建复杂的表达式。 复杂的表达式可以包含多个 Spatial Analyst 工具,但也可以包含来自其他工具箱的工具。

使用两个 Spatial Analyst 工具的示例:

# Complex expression using two Spatial Analyst tools
outRas = Slice(Slope("C:/Data/elevation.tif"), 10)

使用 Spatial Analyst 工具和非 Spatial Analyst 工具的示例:

# The Result object output from the Buffer tool
#  is used as the zone input for the Zonal Statistics tool  
outRas = ZonalStatistics(arcpy.Buffer_analysis("C:/Data/schools.shp", "#", 500),
                         "OBJECTID", "C:/Data/pop1990.tif", "SUM")

相关主题


在本主题中
  1. 运行工具的规则