& (Boolean And) (arcpy.sa)

Resumen

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

Ilustración

Boolean And illustration
OutRas = Raster("InRas1") & Raster("InRas2")

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

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

NombreExplicaciónTipo de datos
out_raster

El objeto ráster de salida.

Los valores de salida serán 0 o 1.

Raster

Ejemplo de código

& (Boolean And) example 1 (Python window)

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")
& (Boolean And) example 2 (stand-alone script)

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

Entornos

Temas relacionados

9/12/2013