在“地图代数”中使用运算符

在“地图代数”中,运算符对输入栅格和数字应用数学运算。

通常将运算符放置到两个输入(操作数)之间以执行一项数学运算(例如,outVar = 3 + 7)。在“地图代数”中,操作数可以是栅格或者数字。要对栅格使用运算符,栅格必须是栅格对象

下表提供了一份快速参考,指明了相对于 Python 运算符和之前 9.x 版本的“地图代数”运算符而言,如何实现最新的“地图代数”运算符。

操作

Python 运算符

地图代数运算符

9.x 版本地图代数运算符 *

Spatial Analyst GP 工具

算术

+

+

+

/

/

/, div

整除

//

//

N/A

N/A

%

%

求模

求模

乘法

*

*

*

**

**

N/A

-

-

-

一元减号

-

-

-

取反

一元加号

+

+

N/A

N/A

布尔

布尔与

N/A

&

&, and

布尔与

布尔求反

N/A

~

^, not

布尔非

布尔异或

N/A

^

!, xor

布尔异或

布尔或

N/A

|

|, or

布尔或

关系

等于

==

==

==, eq

等于

大于

>

>

>, gt

大于

大于等于

>=

>=

>=, ge

大于等于

小于

<

<

<, lt

小于

小于等于

<=

<=

<=, le

小于等于

不等于

!=

!=

^=, <>, ne

不等于

按位

按位与

&

N/A

&&

按位与

按位补码

~

N/A

^^

按位非

按位异或

^

N/A

!!

按位异或

按位左移

<<

<<

<<

按位左移

按位或

|

N/A

||

按位或

按位右移

>>

>>

>>

按位右移

* 9.x 版本地图代数运算符是指在 9.x 以及更早的 ArcGIS 版本中的“单输出地图代数”工具或者 Spatial Analyst 工具条中的“栅格计算器”中使用的运算符符号。

运算符规则

提示提示:

运算符之间可以不加空格,但是为了增加可读性,建议您加上空格。

工具和运算符可以嵌套以创建复杂的语句。

运算符优先级

优先级值确定运算符的执行顺序。首先处理优先级更高的运算符。如果两个运算符的优先级值相同,则按表达式中从左到右的顺序来处理它们。

可以使用括号限定优先级,不管指定的是什么运算符,总是首先处理最底层括号中的运算。

下表按优先级从低到高的顺序列出了所有“地图代数”运算符。同一行中的运算符具有相同的优先级。

地图代数运算符

参考书目

<, <=, >, >=, ==, !=

小于小于等于大于大于等于相等不相等

|

布尔或

^

布尔异或

&

布尔与

<<, >>

按位左移按位右移

+, -

*, /, //, %

整除

+, -, ~

一元加号取反布尔非

**

相关主题

5/10/2014