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

Disponible avec une licence Spatial Analyst.

Disponible avec une licence Image Analyst.

Résumé

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 bit à bit :

    • 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 sont des rasters monocanaux ou si l’une des deux entrées est une valeur constante, la sortie sera un raster monocanal.

  • Si les deux entrées sont des rasters multicanaux ou si l’une des deux entrées est une valeur constante, la sortie sera un raster multicanal. Le nombre de canaux de chaque entrée multicanale est identique.

  • L’outil réalisera l’opération sur chaque canal d’une entrée par rapport au canal correspondant de l’autre entrée. Si l’une des entrées est un raster multicanal et que l’autre entrée est une valeur constante, l’outil réalisera l’opération par rapport à la valeur constante de chaque canal dans le raster multicanal en entrée.

Syntaxe

BitwiseRightShift(in_raster_or_constant1, in_raster_or_constant2)
ParamètreExplicationType 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.ia import *
env.workspace = "C:/iapyexamples/data"
outBitwiseRShift = BitwiseRightShift("degs", "negs")
outBitwiseRShift.save("C:/iapyexamples/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: 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: Requiert Image Analyst or Spatial Analyst
  • Standard: Requiert Image Analyst or Spatial Analyst
  • Advanced: Requiert Image Analyst or Spatial Analyst

Rubriques connexes