Bitwise Right Shift (Spatial Analyst)
Summary
Performs a Bitwise Right Shift operation on the binary values of two input rasters.
Illustration
Usage
Two inputs are necessary for this bitwise operation to take place.
-
The order of inputs is relevant for this tool.
If an input is floating-point, the values are converted to integer values through truncation before the bitwise operation is performed.
In bitwise operations:
- Binary values are stored in two's complement.
- The tools work on 32-bit integers.
- The leftmost bit position is reserved for the sign (positive or negative) of the value. If the integer is positive, the bit position is 0; if it's negative, the bit position is 1.
-
The Bitwise Right Shift operation does no wrapping of bits. The rightmost bit is dropped.
-
In Map Algebra, the equivalent operator symbol for this tool is ">>" (link).
Syntax
Parameter | Explanation | Data Type |
in_raster_or_constant1 | The input on which to perform the shift. A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To be able to specify a number for both inputs, the cell size and extent must first be set in the environment. | Raster Layer | Constant |
in_raster_or_constant2 |
The input defining the number of positions to shift the bits. A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To be able to specify a number for both inputs, the cell size and extent must first be set in the environment. | Raster Layer | Constant |
Return Value
Name | Explanation | Data Type |
out_raster |
The output raster. The cell values are the result of a Bitwise Right Shift operation on the inputs. | Raster |
Code Sample
This example right-shifts the values of the first input by the number of bits defined by the second input, and outputs the result as a GRID raster.
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")
This example right-shifts the values of the first input by the number of bits defined by the second input, and outputs the result as an IMG raster.
# Name: BitwiseRightShift_Ex_02.py # Description: Performs a Bitwise Right Shift operation on the binary # values of two input rasters # Requirements: Spatial Analyst Extension # Author: ESRI # 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" # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute BitwiseRightShift outBitwiseRShift = BitwiseRightShift(inRaster1, inRaster2) # Save the output outBitwiseRShift.save("C:/sapyexamples/output/outbitrshift.img")