Décalage à droite bit à bit (Image Analyst)

Disponible avec une licence Spatial Analyst.

Disponible avec une licence Image Analyst.

Synthèse

Effectue une opération de décalage à droite bit à bit sur les valeurs binaires de deux rasters en entrée.

En savoir plus sur le fonctionnement des outils de mathématiques bit à bit

Illustration

Illustration de l’outil Décalage à droite bit à bit
OutRas = BitwiseRightShift(InRas1, 1)

Utilisation

  • Deux entrées sont nécessaires pour cette opération bit à bit.

  • L'ordre des entrées est important pour cet outil.

  • Si une entrée présente une virgule flottante, les valeurs sont converties en entiers par troncation avant l'opération bit à bit.

  • Dans les opérations bit à bit, les conditions suivantes s’appliquent :

    • Les valeurs binaires sont stockées dans deux compléments.
    • Les outils fonctionnent sur les nombres entiers 32 bits.
    • La position de bit la plus à gauche est réservée au signe (positif ou négatif) de la valeur. Si le nombre entier est positif, la position du bit est 0 ; s’il est négatif, la position du bit est 1.

  • L’opération Décalage à droite bit à bit n’effectue pas un décalage de bits circulaire. Le bit le plus à droite est supprimé.

  • Si les deux entrées désignent des rasters à canal unique, ou si l’une des entrées est une constante, la sortie sera un raster à canal unique.

  • Si les deux entrées sont des rasters multicanaux, l’outil effectue l’opération sur chaque canal d’une entrée et la sortie est un raster multicanal. Le nombre de canaux dans chaque entrée multi-canaux doit être identique.

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

  • Si les deux entrées correspondent à des données raster multidimensionnelles avec le même nombre de variables, l’outil effectue l’opération pour toutes les tranches qui possèdent la même valeur de dimension. La sortie est un raster multidimensionnel au format CRF. Les variables des entrées doivent posséder au moins une dimension en commun et une valeur dimensionnelle en commun à traiter par cet outil ; sinon, une erreur est générée.

    Si les deux entrées possèdent une variable, mais des noms différents, désélectionnez l’environnement de géotraitement Match Multidimensional Variable (Apparier la variable multidimensionnelle) (définissez arcpy.env.matchMultidimensionalVariable = False en Python) avant d’exécuter l’outil.

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

  • En algèbre spatiale, l’opérateur équivalent a le symbole ">>" (lien).

Paramètres

ÉtiquetteExplicationType de données
Raster ou valeur constante 1 en entrée

Entrée sur laquelle exécuter le décalage.

Un nombre peut être utilisé en entrée pour ce paramètre, à condition qu'un raster soit spécifié pour l'autre paramètre. Pour spécifier un nombre pour les deux entrées, la taille de cellule et l’étendue doivent être tout d’abord définies dans l’environnement.

Raster Layer; Constant
Raster ou valeur constante 2 en entrée

Entrée définissant le nombre de positions duquel déplacer les bits.

Un nombre peut être utilisé en entrée pour ce paramètre, à condition qu'un raster soit spécifié pour l'autre paramètre. Pour spécifier un nombre pour les deux entrées, la taille de cellule et l’étendue doivent être tout d’abord définies dans l’environnement.

Raster Layer; Constant

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster en sortie

Raster en sortie.

Valeurs de cellule correspondant au résultat de l’opération Décalage à droite bit à bit sur les entrées.

Raster

BitwiseRightShift(in_raster_or_constant1, in_raster_or_constant2)
NomExplicationType de données
in_raster_or_constant1

Entrée sur laquelle exécuter le décalage.

Un nombre peut être utilisé en entrée pour ce paramètre, à condition qu'un raster soit spécifié pour l'autre paramètre. Pour spécifier un nombre pour les deux entrées, la taille de cellule et l’étendue doivent être tout d’abord définies dans l’environnement.

Raster Layer; Constant
in_raster_or_constant2

Entrée définissant le nombre de positions duquel déplacer les bits.

Un nombre peut être utilisé en entrée pour ce paramètre, à condition qu'un raster soit spécifié pour l'autre paramètre. Pour spécifier un nombre pour les deux entrées, la taille de cellule et l’étendue doivent être tout d’abord définies dans l’environnement.

Raster Layer; Constant

Valeur renvoyée

NomExplicationType de données
out_raster

Raster en sortie.

Valeurs de cellule correspondant au résultat de l’opération Décalage à droite bit à bit sur les entrées.

Raster

Exemple de code

Exemple 1 d’utilisation de la fonction BitwiseRightShift (fenêtre Python)

Cet exemple décale vers la droite les valeurs de la première entrée par le nombre de bits défini par la seconde entrée et génère le résultat sous la forme d’un raster Grid.

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outBitwiseRShift = BitwiseRightShift("degs", "negs")
outBitwiseRShift.save("C:/iapyexamples/output/outbitrs")
Exemple 2 d’utilisation de la fonction BitwiseRightShift (script autonome)

Cet exemple décale vers la droite les valeurs de la première entrée par le nombre de bits défini par la seconde entrée et génère le résultat sous la forme d’un raster IMG.

# Name: BitwiseRightShift_Ex_02.py
# Description: Performs a Bitwise Right Shift operation on the binary
#              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 = "degs"
inRaster2 = "negs"

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute BitwiseRightShift
outBitwiseRShift = BitwiseRightShift(inRaster1, inRaster2)

# Save the output 
outBitwiseRShift.save("C:/iapyexamples/output/outbitrshift.img")

Informations de licence

  • Basic: Nécessite Image Analyst ou Spatial Analyst
  • Standard: Nécessite Image Analyst ou Spatial Analyst
  • Advanced: Nécessite Image Analyst ou Spatial Analyst

Rubriques connexes