需要 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")