地图代数语法和组成部分

需要 Spatial Analyst 许可。

与所有语言一样,地图代数采用特定的规则来组合各种语言组成部分。

地图代数语句的一般结构是用赋值运算符 (=) 将右侧的操作与左侧的输出(栅格对象)名称分隔开。 语句采用以下代数形式:

Output_Name = Action

地图代数组成部分

地图代数表达式由五个部分组成:工具和函数、运算符、输入、工具参数和输出数据。

工具和函数

在地图代数表达式中,可使用地理处理工具和函数(如 Sin坡度重分类)。

例如,要计算栅格中每个像元的坡向,可使用坡向工具:

outRas = Aspect("C:/Data/inraster.tif")

运算符

运算符是用于表示对输入所应用的数学运算的符号。

例如,以下语句用于将两个栅格相加:

outRas = Raster("inraster1.tif") + Raster("inraster2.tif")

许多运算符会同时用于地图代数和 Python;运算符会被重载。 将运算符应用到栅格数据集时,必须使用 Raster 转换数据集,如上面的语句所示。 转换栅格表示该运算需应用于栅格,因此会调用该运算符的 Spatial Analyst 实现,从而生成输出栅格对象。

如果在语句中仅输入数字,则将使用运算符的 Python 实现,生成输出数字。 请参阅以下示例:

# In the following statement outVar will be set to 15
outVar = 6 + 9

有关 Spatial Analyst 的可用运算符的完整列表,请参阅地图代数运算符概述

输入元素

输入元素(例如栅格、要素、数字、常量、对象和变量)是应用语句的组件。

例如,使用以下语句可将正弦计算应用到输入栅格中的每个像元:

outRas = Sin("inraster.tif")

工具参数

工具参数可定义如何运行工具。 每个工具均具有一组唯一的参数。 一些参数是必需的;它们必须具有值,工具才能运行。 其他参数是可选的,这意味着您可以将其留空或接受其默认值。

例如,要计算栅格的坡度,请使用 PERCENT_RISE 关键字设置可选的输出测量参数:

outRas = Slope("inraster.tif", "PERCENT_RISE")

输出数据

地图代数表达式的输出是引用临时栅格数据的 Raster 对象。

例如,以下语句将坡度计算的结果存储为名为 outRasRaster 对象:

outRas = Slope("inraster.tif")
注:

与所有地理处理工具相同,地图代数语句也支持环境设置和所选集。

Python 一致,每个输入参数之间需要添加逗号。 可选择在参数之间添加空格,但为了提高可读性,建议使用空格。 您可以使用以井号 (#) 为开头的行来向脚本添加注释:

# The following statement takes the slope of the input elevation in degrees.
outRas = Slope("elevation.tif", "DEGREE", 0.3043)

相关主题


在本主题中
  1. 地图代数组成部分