布尔非 (Spatial Analyst)

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

摘要

对此输入栅格的各像元值执行“布尔非”(求反)运算。

如果输入值为真(非零),则输出值为 0。 如果输入值为假(零),则输出值为 1。

了解有关“布尔数学”工具工作原理的详细信息

插图

“布尔非”图示
OutRas = BooleanNot(InRas1)

使用情况

  • 布尔数学工具会将输入值视为布尔值,其中非零值将视作“真”,零将视作“假”。

  • 要进行此布尔运算,仅需单个输入。

  • 如果输入值为浮点型,则它们将在执行运算前被转换为整型值 0 或 1。 如果输入值为浮点型值 0.0,则该值会被转换为整型值 0。 如果输入值为非 0.0 的任意值,则该值会被转换为整数值 1。 例如,浮点型输入值 0.6、32.22 和 -4.2 都将被视为 1。 输出值始终是整数。

  • 如果输入是多波段栅格,则输出也将为多波段栅格。 该工具将在输入中的每个波段上执行操作。

  • 如果输入是多维栅格数据,则将处理所有变量的所有切片。 输出将是 CRF 格式的多维栅格。

  • 在地图代数中,此工具的等价运算符为“~”(链接)。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

标注说明数据类型
输入栅格数据或常量值

布尔运算中要使用的输入数据。

要将数字用作该参数的输入,必须先设置像元大小和范围。

Raster Layer; Constant

返回值

标注说明数据类型
输出栅格

输出栅格。

输出像元值为 0 或 1。

Raster

BooleanNot(in_raster_or_constant)
名称说明数据类型
in_raster_or_constant

布尔运算中要使用的输入数据。

要将数字用作该参数的输入,必须先设置像元大小和范围。

Raster Layer; Constant

返回值

名称说明数据类型
out_raster

输出栅格。

输出像元值为 0 或 1。

Raster

代码示例

布尔非 (BooleanNot) 示例 1(Python 窗口)

本例对 Grid 栅格执行“布尔非”(求反)运算,并以 TIFF 栅格的形式输出结果。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outBooleanNot = BooleanNot("degs")
outBooleanNot.save("C:/sapyexamples/output/outboolnot.tif")
布尔非 (BooleanNot) 示例 2(独立脚本)

本例对 Grid 栅格执行“布尔非”(求反)运算。

# Name: BooleanNot_Ex_02.py
# Description: Performs a Boolean complement (NOT) operation on the
#              cell values of an input raster
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "degs"

# Execute BooleanNot
outBooleanNot = BooleanNot(inRaster)

# Save the output 
outBooleanNot.save("C:/sapyexamples/output/outboolnot")

许可信息

  • Basic: 需要 Spatial Analyst 或 Image Analyst
  • Standard: 需要 Spatial Analyst 或 Image Analyst
  • Advanced: 需要 Spatial Analyst 或 Image Analyst

相关主题