Bitwise Left Shift (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Mit der Image Analyst-Lizenz verfügbar.

Zusammenfassung

Eine bitweise LEFT SHIFT-Operation für die binären Werte von zwei Eingabe-Rastern durchführen.

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.

  • In bitweisen Vorgängen 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 oder wenn eine der Eingaben eine Konstante ist, dann ist die Ausgabe ein Multiband-Raster. Die Anzahl an Bändern in jeder Multiband-Eingabe muss identisch sein.

  • Das Werkzeug führt den Vorgang für jedes Band aus einer Eingabe mit dem entsprechenden Band aus der anderen Eingabe durch. 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.

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

  • Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Syntax

BitwiseLeftShift(in_raster_or_constant1, in_raster_or_constant2)
ParameterErklärungDatentyp
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. Um eine Zahl für beide Eingaben anzugeben, 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. Um eine Zahl für beide Eingaben anzugeben, müssen Sie zunächst in der Umgebung die Zellengröße und die Ausdehnung festlegen.

Raster Layer; Constant

Rückgabewert

NameErklärungDatentyp
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.sa import *
env.workspace = "C:/sapyexamples/data"
outBitwiseLS = BitwiseLeftShift("degs", "negs")
outBitwiseLS.save("C:/sapyexamples/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: 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 BitwiseLeftShift
outBitwiseLShift = BitwiseLeftShift(inRaster1, inRaster2)

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

Lizenzinformationen

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

Verwandte Themen