~ (Boolean Not) operator

Disponible avec une licence Spatial Analyst.

Disponible avec une licence Image Analyst.

Synthèse

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

Illustration

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

Discussion

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.

Si plusieurs opérateurs sont utilisés dans une expression, ils ne sont pas nécessairement exécutés de gauche à droite. L'opérateur doté de la valeur de priorité la plus élevée est exécuté en premier. Pour plus d’informations, reportez-vous au tableau de priorité des opérateurs dans la rubrique Utiliser des opérateurs en algèbre spatiale. Vous pouvez utiliser des parenthèses pour contrôler l'ordre d'exécution.

Les opérateurs booléens (~, &, ^, |) ont une priorité supérieure aux opérateurs relationnels (<, <=, >, >=, ==, !=). Par conséquent, si des opérateurs booléens sont utilisés dans la même expression que des opérateurs relationnels, les opérateurs booléens sont exécutés en premier. Pour modifier l'ordre d'exécution, utilisez des parenthèses.

Si plusieurs opérateurs relationnels et/ou booléens sont utilisés consécutivement dans une expression individuelle, dans certains cas, elle peut ne pas s’exécuter. Pour éviter ce problème éventuel, utilisez des parenthèses appropriées dans l'expression afin de définir explicitement l'ordre d'exécution des opérateurs. Pour plus d’informations, reportez-vous à la section relative aux règles des instructions complexes dans la rubrique Créer des instructions complexes.

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

Si les valeurs en entrée sont à virgule flottante, elles sont converties en valeurs entières par troncation avant l'opération booléenne. Les valeurs en sortie sont toujours de type entier.

Si l’entrée est un raster multicanal, la sortie sera également un raster multicanal. L’opérateur effectue l’opération sur chaque canal de l’entrée.

Si l’entrée est un raster multidimensionnel, toutes les tranches de toutes les variables sont traitées et la sortie est un raster multidimensionnel.

Paramètres

OpérandeExplicationType de données
in_raster_or_constant

The input to use in the Boolean Not operation.

Raster Layer | Constant

Exemple de code

~ (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")

Rubriques connexes