^ (Boolean XOr)
Resumen
Performs a Boolean Exclusive Or operation on the cell values of two input rasters.
Ilustración
Debate
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.
Cuando se utilizan varios operadores en una expresión, no necesariamente se ejecutan en orden de izquierda a derecha. El operador con el valor de jerarquía más alta se ejecutará primero. Para obtener más información sobre la jerarquía del operador, consulte la tabla jerarquía del operador. Puede utilizar paréntesis para controlar el orden de ejecución.
Los operadores booleanos (~, &, ^, |) tienen un nivel de jerarquía mayor que los operadores relacionales (<, <=, >, >=, ==, !=). Por lo tanto, cuando los operadores booleanos se utilizan en la misma expresión como los operadores relacionales, los operadores booleanos se ejecutan primero. Para cambiar el orden de la ejecución, utilice paréntesis.
Cuando varios operadores relacionales o booleanos se utilizan consecutivamente en una expresión simple, en algunos casos no se podrá ejecutar. Para evitar este posible problema, utilice los paréntesis apropiados en la expresión, de manera que el orden de ejecución de los operadores esté explícitamente definido. Para obtener más información, consulte Reglas de declaraciones complejas.
Se necesitan dos entradas para que ocurra la evaluación booleana.
El orden de entrada no es importante para este operador.
Si los valores de entrada son puntos flotantes, se convierten en valores enteros mediante el truncamiento antes de que se realice la operación booleana. Los valores de salida siempre son enteros.
Another way to perform the Boolean XOr operation is a ^= b, which is an alternative way to write a = a ^ b.
Sintaxis
Operando | Explicación | Tipo de datos |
in_raster_or_constant1 |
The first input to use in the Boolean XOr operation. Si una de las entradas es un ráster y la otra es un escalar, se crea un ráster de salida con la evaluación que realiza cada celda en el ráster de entrada. | Raster Layer | Constant |
in_raster_or_constant2 |
The second input to use in the Boolean XOr operation. Si una de las entradas es un ráster y la otra es un escalar, se crea un ráster de salida con la evaluación que realiza cada celda en el ráster de entrada. | Raster Layer | Constant |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_raster |
El objeto ráster de salida. Los valores de salida serán 0 o 1. | Raster |
Ejemplo de código
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")