Побитовый оператор Left Shift (Сдвиг влево) (Spatial Analyst)
Резюме
Выполняет побитовую операцию смещения влево для бинарных значений двух входных растров.
Более подробно о работе побитовых математических инструментов (группа Bitwise Math)
Рисунок
Использование
Для выполнения этой побитовой операции необходимо наличие двух входных файлов.
-
Порядок входных данных имеет значение для этого инструмента.
Если входными данными служат значения с плавающей точкой, они преобразуются в целые числа путем округления до выполнения побитовой операции.
В побитовых операциях:
- Бинарные значения хранятся в виде поразрядного дополнения до двух.
- Инструменты работают с 32-битовыми целыми числами.
- Крайняя левая битовая позиция резервируется для знака значения (положительного или отрицательного). Если целое число положительное, битовая позиция равна нулю; если оно отрицательное, битовая позиция равна единице.
-
Побитовая операция смещения слева не выполняет свертывания бит (wrapping of bits). Крайний левый бит отбрасывается.
-
В инструменте Алгебра карт (Map Algebra) символов эквивалентного этому инструменту оператора является «<<» (ссылка).
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster_or_constant1 | Входной растр, для которого будет выполнен сдвиг. В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы можно было задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды. | Raster Layer | Constant |
in_raster_or_constant2 | Входной растр, определяющий число позиций для сдвига бит. В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы можно было задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды. | Raster Layer | Constant |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр. Значения ячеек являются результатом побитовой операции «Left Shift» на входных данных. | Raster |
Пример кода
В этом примере значения первых входных данных сдвигаются влево на количество битов, определенное вторыми входными данными, в результате чего получается растр TIFF.
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")
В этом примере значения первых входных данных сдвигаются влево на количество битов, определенное вторыми входными данными.
# 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"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute BitwiseLeftShift
outBitwiseLShift = BitwiseLeftShift(inRaster1, inRaster2)
# Save the output
outBitwiseLShift.save("C:/sapyexamples/output/outlshift")