~ (Boolean Not) (arcpy.sa)

Récapitulatif

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.

Lorsque 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 précédence la plus élevée est exécuté en premier. Pour plus d'informations sur la précédence des opérateurs, consultez la rubrique Table de précédence des opérateurs. Vous pouvez utiliser des parenthèses pour contrôler l'ordre d'exécution.

Les opérateurs booléens (~, &, ^, |) ont un niveau de précédence supérieur à celui des opérateurs relationnels (<, <=, >, >=, ==, !=). Par conséquent, lorsque 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.

Lorsque 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.

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

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute BooleanNot
outBooleanNot = ~ inRaster

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

Environnements

Thèmes connexes

4/26/2014