Bitwise Left Shift (Image Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Mit der Image Analyst-Lizenz verfügbar.

Zusammenfassung

Führt eine bitweise LEFT SHIFT-Operation für die binären Werte von zwei Eingabe-Rastern aus.

Weitere Informationen zur Funktionsweise von bitweisen mathematischen Werkzeugen

Abbildung

Abbildung "Bitwise Left Shift"
OutRas = BitwiseLeftShift(InRas1, 1)

Verwendung

  • Zwei Eingaben sind notwendig, damit dieser bitweise Vorgang stattfindet.

  • Für dieses Werkzeug ist die Reihenfolge der Eingaben relevant.

  • Wenn eine Eingabe ein Gleitkommawert ist, wird dieser durch Kürzung in einen ganzzahligen Wert konvertiert, bevor der bitweise Vorgang ausgeführt wird.

  • Für bitweise Vorgänge gilt Folgendes:

    • Binäre Werte werden in Zweierkomplementen gespeichert.
    • Die Werkzeuge können ganzzahlige 32-Bit-Werte verarbeiten.
    • Die Bitposition links außen ist für das Vorzeichen (positiv oder negativ) des Wertes reserviert. Wenn der ganzzahlige Wert positiv ist, ist die Bitposition 0. Ist er negativ, ist die Bitposition 1.

  • Bei der Operation mit "Bitwise Left Shift" erfolgt kein Umbruch von Bits. Das am weitesten links stehende Bit wird gelöscht.

  • Wenn beide Eingaben Einzelband-Raster sind oder wenn eine der Eingaben eine Konstante ist, dann ist die Ausgabe ein Einzelband-Raster.

  • Wenn beide Eingaben Multiband-Raster sind, führt das Werkzeug den Vorgang für jedes Band aus einer Eingabe durch, und die Ausgabe ist ein Multiband-Raster. Die Anzahl an Bändern in jeder Multiband-Eingabe muss identisch sein.

  • Wenn eine der Eingaben ein Multiband-Raster und die andere Eingabe eine Konstante ist, führt das Werkzeug den Vorgang für jedes Band in der Multiband-Eingabe mit dem konstanten Wert durch. Die Ausgabe ist in diesem Fall ein Multiband-Raster.

  • Wenn beide Eingaben multidimensionale Raster-Daten mit derselben Anzahl an Variablen sind, führt das Werkzeug den Vorgang für alle Ausschnitte mit demselben Dimensionswert durch. Die Ausgabe ist ein multidimensionales Raster im CRF-Format. Die Variablen in den Eingaben müssen mindestens eine gemeinsame Dimension und einen gemeinsamen Dimensionswert enthalten, die von diesem Werkzeug verarbeitet werden sollen. Andernfalls tritt ein Fehler auf.

    Wenn beide Eingaben eine Variable, aber unterschiedliche Namen aufweisen, deaktivieren Sie vor dem Ausführen des Werkzeugs die Geoverarbeitungsumgebung Multidimensionale Variable abgleichen (durch Festlegen von arcpy.env.matchMultidimensionalVariable = False in Python).

    Wenn eine der Eingaben ein multidimensionales Raster und die andere Eingabe eine Konstante ist, führt das Werkzeug den Vorgang für alle Ausschnitte sämtlicher Variablen mit dem konstanten Wert durch, und die Ausgabe ist ein multidimensionales Raster.

  • In Map Algebra ist das entsprechende Operator-Symbol für dieses Werkzeug "<<" (Link).

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Raster oder konstanter Wert 1

Die Eingabe, auf die die Verschiebung angewendet werden soll.

Für diesen Parameter kann eine Zahl als Eingabe verwendet werden, vorausgesetzt für den anderen Parameter wird ein Raster angegeben. Wenn Sie für beide Eingaben eine Zahl angeben möchten, müssen Sie zunächst in der Umgebung die Zellengröße und die Ausdehnung festlegen.

Raster Layer; Constant
Eingabe-Raster oder konstanter Wert 2

Die Eingabe, die die Anzahl der Positionen definiert, um die die Bits verschoben werden.

Für diesen Parameter kann eine Zahl als Eingabe verwendet werden, vorausgesetzt für den anderen Parameter wird ein Raster angegeben. Wenn Sie für beide Eingaben eine Zahl angeben möchten, müssen Sie zunächst in der Umgebung die Zellengröße und die Ausdehnung festlegen.

Raster Layer; Constant

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Raster

Das Ausgabe-Raster.

Die Zellenwerte sind das Ergebnis einer Operation mit "Bitwise Left Shift" für die Eingaben.

Raster

BitwiseLeftShift(in_raster_or_constant1, in_raster_or_constant2)
NameErläuterungDatentyp
in_raster_or_constant1

Die Eingabe, auf die die Verschiebung angewendet werden soll.

Für diesen Parameter kann eine Zahl als Eingabe verwendet werden, vorausgesetzt für den anderen Parameter wird ein Raster angegeben. Wenn Sie für beide Eingaben eine Zahl angeben möchten, müssen Sie zunächst in der Umgebung die Zellengröße und die Ausdehnung festlegen.

Raster Layer; Constant
in_raster_or_constant2

Die Eingabe, die die Anzahl der Positionen definiert, um die die Bits verschoben werden.

Für diesen Parameter kann eine Zahl als Eingabe verwendet werden, vorausgesetzt für den anderen Parameter wird ein Raster angegeben. Wenn Sie für beide Eingaben eine Zahl angeben möchten, müssen Sie zunächst in der Umgebung die Zellengröße und die Ausdehnung festlegen.

Raster Layer; Constant

Rückgabewert

NameErläuterungDatentyp
out_raster

Das Ausgabe-Raster.

Die Zellenwerte sind das Ergebnis einer Operation mit "Bitwise Left Shift" für die Eingaben.

Raster

Codebeispiel

BitwiseLeftShift: Beispiel 1 (Python-Fenster)

In diesem Beispiel werden die Werte der ersten Eingabe um die Anzahl der Bits, die von der zweiten Eingabe definiert wurde, nach links verschoben und das Ergebnis als TIFF-Raster ausgegeben.

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outBitwiseLS = BitwiseLeftShift("degs", "negs")
outBitwiseLS.save("C:/iapyexamples/output/outbitls.tif")
BitwiseLeftShift: Beispiel 2 (eigenständiges Skript)

In diesem Beispiel werden die Werte der ersten Eingabe um die Anzahl der Bits, die von der zweiten Eingabe definiert wurde, nach links verschoben.

# Name: BitwiseLeftShift_Ex_02.py
# Description: Performs a Bitwise Left 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 BitwiseLeftShift
outBitwiseLShift = BitwiseLeftShift(inRaster1, inRaster2)

# Save the output 
outBitwiseLShift.save("C:/iapyexamples/output/outlshift")

Lizenzinformationen

  • Basic: Erfordert Image Analyst oder Spatial Analyst
  • Standard: Erfordert Image Analyst oder Spatial Analyst
  • Advanced: Erfordert Image Analyst oder Spatial Analyst

Verwandte Themen