& (Boolean And) (arcpy.sa)
Resumen
Performs a Boolean And operation on the cell values of two input rasters.
Ilustración
Debate
The & operator will perform a Boolean And operation when one or more input (operand) is a raster. If both inputs (operands) are numbers, then the & operator will perform Bitwise And 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 And 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 And 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 And 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 And operation on two input rasters.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outBooleanAnd = Raster("degs") & Raster("negs")
outBooleanAnd.save("C:/sapyexamples/output/outbooland.img")
This sample performs a Boolean And operation on two input rasters.
# Name: Op_BooleanAnd_Ex_02.py
# Description: Performs a Boolean And 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 BooleanAnd
outBooleanAnd = inRaster1 & inRaster2
# Save the output
outBooleanAnd.save("C:/sapyexamples/output/outbooland")