~ (Boolean Not) operator

Disponible avec une licence Spatial Analyst.

Disponible avec une licence Image Analyst.

Résumé

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 sur la priorité des opérateurs, consultez la rubrique Table de priorité des opérateurs. 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 rubrique Règles 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 est également un raster multicanal. L’opérateur effectue l’opération sur chaque canal de l’entrée.

Syntaxe

~ in_raster_or_constant
OpérandeExplicationType de données
in_raster_or_constant

The input to use in the Boolean Not operation.

Raster Layer | Constant

Valeur renvoyée

NomExplicationType de données
out_raster

Objet raster en sortie.

Les valeurs en sortie sont 0 ou 1.

Raster

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