^ (Boolean XOr)
Récapitulatif
Performs a Boolean Exclusive Or operation on the cell values of two input rasters.
Illustration
Discussion
The ^ operator will perform a Boolean XOr operation when one or more input (operand) is a raster. If both inputs (operands) are numbers, then the ^ operator will perform a Bitwise XOr operation. For more information on how to work with operators, see 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.
Deux entrées sont nécessaires pour l'évaluation booléenne.
L'ordre de saisie est sans importance pour cet opérateur.
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.
Another way to perform the Boolean XOr operation is a ^= b, which is an alternative way to write a = a ^ b.
Syntaxe
Opérande | Explication | Type de données |
in_raster_or_constant1 |
The first input to use in the Boolean XOr operation. Si l'une des entrées est un raster et l'autre un scalaire, un raster en sortie est créé et une évaluation est effectuée pour chaque cellule du raster en entrée. | Raster Layer | Constant |
in_raster_or_constant2 |
The second input to use in the Boolean XOr operation. Si l'une des entrées est un raster et l'autre un scalaire, un raster en sortie est créé et une évaluation est effectuée pour chaque cellule du raster en entrée. | Raster Layer | Constant |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster |
Objet raster en sortie. Les valeurs en sortie sont 0 ou 1. | Raster |
Exemple de code
This sample performs a Boolean XOr operation on two input rasters.
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" outBooleanXOr = Raster("degs") ^ Raster("negs") outBooleanXOr.save("C:/sapyexamples/output/outboolxor.tif")
This sample performs a Boolean XOr operation on two input rasters.
# Name: Op_BooleanXOr_Ex_02.py # Description: Performs a Boolean Exclusive Or operation on the # cell values of two input rasters # 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 inRaster1 = Raster("degs") inRaster2 = Raster("negs") # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute BooleanXOr outBooleanXOr = inRaster1 ^ inRaster2 # Save the output outBooleanXOr.save("C:/sapyexamples/output/outboolxor")