~ (Boolean Not) operator

Mit der Spatial Analyst-Lizenz verfügbar.

Mit der Image Analyst-Lizenz verfügbar.

Zusammenfassung

Performs a Boolean-complement (Not) operation on the cell values of the input raster.

Abbildung

Boolean Not illustration
OutRas = ~ Raster("InRas1")

Diskussion

The ~ operator will perform a Boolean Not operation when the input (operand) is a raster. If the input (operand) is a number, then the ~ operator will perform a Bitwise Not operation. For more information on how to work with operators, refer to Working with operators.

Wenn in einem Ausdruck mehrere Operatoren verwendet werden, werden sie nicht zwingend von links nach rechts ausgeführt. Vielmehr wird der Operator mit dem höchsten Vorrangswert zuerst ausgeführt. Weitere Informationen finden Sie in der Tabelle zur Operator-Priorität unter Arbeiten mit Operatoren in Map Algebra. Sie können die Reihenfolge der Ausführung jedoch mithilfe von Klammern steuern.

Boolesche Operatoren (~, &, ^, |) haben eine höhere Vorrangstufe als relationale Operatoren (<, <=, >, >=, ==, !=). Daher werden boolesche Operatoren zuerst ausgeführt, wenn sie im gleichen Ausdruck wie relationale Operatoren verwendet werden. Verwenden Sie Klammern, um die Reihenfolge der Ausführung zu ändern.

Wenn mehrere relationale und/oder boolesche Operatoren hintereinander in einem einzelnen Ausdruck verwendet werden, kann die Ausführung in Einzelfällen fehlschlagen. Um dieses potenzielle Problem zu vermeiden, verwenden Sie in dem Ausdruck geeignete Klammern, damit die Reihenfolge für die Ausführung der Operatoren explizit definiert ist. Weitere Informationen finden Sie im Abschnitt zu Regeln für komplexe Anweisungen unter Erstellen komplexer Anweisungen.

Only a single input is necessary for the Boolean evaluation to take place.

Wenn die Eingabewerte Gleitkommazahlen sind, werden sie durch Kürzung in einen Ganzzahlwert konvertiert, bevor der boolesche Vorgang ausgeführt wird. Die Ausgabewerte sind immer ganzzahlig.

Wenn die Eingabe ein Multiband-Raster ist, dann ist auch die Ausgabe ein Multiband-Raster. Der Operator führt den Vorgang für jedes Band in der Eingabe durch.

Wenn die Eingabe ein multidimensionales Raster ist, werden alle Ausschnitte sämtlicher Variablen verarbeitet, und die Ausgabe ist ein multidimensionales Raster.

Parameter

OperandErläuterungDatentyp
in_raster_or_constant

The input to use in the Boolean Not operation.

Raster Layer | Constant

Codebeispiel

~ (Boolean Not) example 1 (Python window)

This sample performs a Boolean Not (complement) operation on an input raster.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outBooleanNot = ~ Raster("degs")
outBooleanNot.save("C:/sapyexamples/output/outboolnot.tif")
~ (Boolean Not) example 2 (stand-alone script)

This sample performs a Boolean Not (complement) operation on an input raster.

# Name: Op_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 = Raster("degs")

# Execute BooleanNot
outBooleanNot = ~ inRaster

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

Verwandte Themen