Décalage à droite bit à bit (Spatial 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.

Pour 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 au niveau du 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 ne fait aucun retour à la ligne automatique de bits. Le bit le plus à droite est supprimé.

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

  • 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 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’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 multicanal.

  • Si les deux entrées sont 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 sera 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 ont une variable, mais des noms différents, désélectionnez l’environnement de géotraitement Apparier la variable multidimensionnelle (définissez arcpy.env.matchMultidimensionalVariable = False dans 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).

  • Pour plus d’informations sur les environnements de géotraitement qui s’appliquent à cet outil, reportez-vous à la rubrique Environnements d’analyse et Spatial Analyst.

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 d’abord être 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 d’abord être 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 d’abord être 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 d’abord être 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 l'outil 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.sa import *
env.workspace = "C:/sapyexamples/data"
outBitwiseRShift = BitwiseRightShift("degs", "negs")
outBitwiseRShift.save("C:/sapyexamples/output/outbitrs")
Exemple 2 d'utilisation de l'outil 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: 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 = "degs"
inRaster2 = "negs"

# Execute BitwiseRightShift
outBitwiseRShift = BitwiseRightShift(inRaster1, inRaster2)

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

Informations de licence

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

Rubriques connexes