& (Boolean And) operator

Disponible avec une licence Spatial Analyst.

Disponible avec une licence Image Analyst.

Résumé

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

Illustration

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

Discussion

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.

Si 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 priorité la plus élevée est exécuté en premier. Pour plus d’informations, reportez-vous à la table de précédence des opérateurs dans la rubrique Utilisation d’opérateurs dans Algèbre spatiale. Vous pouvez utiliser des parenthèses pour contrôler l'ordre d'exécution.

Les opérateurs booléens (~, &, ^, |) ont une priorité supérieure aux opérateurs relationnels (<, <=, >, >=, ==, !=). Par conséquent, si 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.

Si 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 section relative aux règles des instructions complexes dans la rubrique Création d’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 And operation is a &= b which is an alternative way to write a = a & b.

Si les deux entrées correspondent à des rasters monocanaux ou que l’une des entrées est une constante, la sortie correspond à un raster monocanal.

Si les deux entrées sont des rasters multicanaux, l’opérateur effectue l’opération sur chaque canal d’une entrée et la sortie est un raster multicanal. Le nombre de canaux de chaque entrée multicanale est identique.

Si l’une des entrées correspond à un raster multicanal et que l’autre entrée est une constante, l’opérateur effectue l’opération par rapport à la valeur constante de chaque canal de l’entrée multicanal et la sortie est un raster mutlicanal.

Si les deux entrées sont des rasters multidimensionnels comportant le même nombre de variables, l’opérateur effectue l’opération pour toutes les tranches dotées de la même valeur de dimension et la sortie est un raster multidimensionnel. Les variables des entrées doivent avoir les mêmes dimensions ou une dimension commune.

Si les deux entrées possèdent une variable mais ont des noms différents, définissez l’environnement de géotraitement matchMultidimensionalVariable sur False pour effectuer l’opération.

Si l’une des entrées correspond à un raster multidimensionnel et que l’autre entrée est une constante, l’opérateur effectue l’opération pour toutes les tranches de toutes les variables par rapport à la valeur constante et la sortie est un raster multidimensionnel.

Paramètres

OpérandeExplicationType de données
in_raster_or_constant1

The first input to use in the Boolean And 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 And 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

Exemple de code

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

# Execute BooleanAnd
outBooleanAnd = inRaster1 & inRaster2

# Save the output 
outBooleanAnd.save("C:/sapyexamples/output/outbooland")

Rubriques connexes