^ (Boolean XOr) operator

Disponible con una licencia de Spatial Analyst.

Disponible con licencia de Image Analyst.

Resumen

Performs a Boolean Exclusive Or operation on the cell values of two input rasters.

Ilustración

Boolean XOr illustration
OutRas = Raster("InRas1") ^ Raster("InRas2")

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 por orden de izquierda a derecha. El operador con el valor de jerarquía más alto será el que se ejecute primero. Para obtener más información sobre la jerarquía del operador, consulte la tabla de jerarquía del operador. Puede utilizar paréntesis para controlar el orden de ejecución.

Los operadores booleanos (~, &, ^, |) tienen un nivel más alto en la jerarquía que los operadores relacionales (<, <=, >, >=, ==, !=). Por consiguiente, los operadores booleanos se utilizan en la misma expresión que los operadores relacionales, pero los booleanos se ejecutan primero. Para cambiar el orden de la ejecución, utilice paréntesis.

Cuando se utilizan varios operadores booleanos y/o relacionales en una sola expresión, en algunos casos puede producirse un error de ejecución. Para evitar este posible problema, utilice paréntesis adecuados en la expresión para definir de manera explícita el orden de ejecución de los operadores. 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 de punto flotante, se convierten en valores enteros mediante 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.

Si ambas entradas son rásteres de una banda o una de las entradas es una constante, la salida será un ráster de una única banda.

Si ambas entradas son rásteres multibanda o una de las entradas es una constante, la salida será un ráster multibanda. El número de bandas en cada entrada multibanda debe ser el mismo.

El operador realizará la operación en cada banda de una entrada con respecto a la banda correspondiente de la otra entrada. Si una de las entradas es un ráster multibanda y la otra entrada es una constante, el operador realizará la operación con respecto al valor constante de cada banda de la entrada multibanda.

Sintaxis

in_raster_or_constant1 ^ in_raster_or_constant2
OperandoExplicaciónTipo 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

NombreExplicaciónTipo de datos
out_raster

El objeto ráster de salida.

Los valores de salida serán 0 ó 1.

Raster

Muestra de código

^ (Boolean XOr) example 1 (Python window)

This sample performs a Boolean XOr operation on two input rasters.

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outBooleanXOr = Raster("degs") ^ Raster("negs")
outBooleanXOr.save("C:/iapyexamples/output/outboolxor.tif")
^ (Boolean XOr) example 2 (stand-alone script)

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: Image Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *

# Set environment settings
env.workspace = "C:/iapyexamples/data"

# Set local variables
inRaster1 = Raster("degs")
inRaster2 = Raster("negs")

# Execute BooleanXOr
outBooleanXOr = inRaster1 ^ inRaster2

# Save the output 
outBooleanXOr.save("C:/iapyexamples/output/outboolxor")

Temas relacionados