Побитовый оператор Left Shift (Spatial Analyst)

Доступно с лицензией Spatial Analyst.

Доступно с лицензией Image Analyst.

Краткая информация

Выполняет операцию побитового сдвига влево над двоичными значениями двух исходных растров.

Более подробно о работе побитовых математических инструментов

Иллюстрация

Рисунок для побитового оператора Left Shift
OutRas = BitwiseLeftShift(InRas1, 1)

Использование

  • Для выполнения этой побитовой операции необходимо наличие двух входных файлов.

  • Порядок входных данных имеет значение для этого инструмента.

  • Если входными данными служат значения с плавающей точкой, они преобразуются в целые числа путем округления до выполнения побитовой операции.

  • У всех побитовых операций верно следующее:

    • Бинарные значения хранятся в виде поразрядного дополнения до двух.
    • Инструменты работают с 32-битовыми целыми числами.
    • Крайняя левая битовая позиция резервируется для знака значения (положительного или отрицательного). Если целое число положительное, битовая позиция равна нулю; если оно отрицательное, битовая позиция равна единице.

  • Побитовая операция сдвига влево не выполняет свертывания бит. Крайний левый бит отбрасывается.

  • Если оба входных растра одноканальные либо одни из входных данных представлены константой, выходной растр будет одноканальным.

  • Если оба входных растра являются многоканальными, инструмент будет выполнять операцию над каждым из входных каналов, а выходной растр будет многоканальным. Количество каналов в каждом входном многоканальном растре должно быть одинаковым.

  • Если один из входных растров многоканальный, а другие входные данные являются константой, инструмент выполнит операцию со значением константы для каждого канала многоканального растра, а результатом будет многоканальный растр.

  • В ArcPy если все входные данные являются многомерными растрами с одинаковым количеством переменных, инструмент выполнит операцию для всех срезов с одинаковым значением измерения, а на выходе будет многомерный растр. Переменные во входных данных должны иметь одинаковую размерность или общую размерность, но никаких нетипичных измерений.

    Если в обоих входных наборах данных есть одна переменная, но разные названия, задайте переменную геообработки matchMultidimensionalVariable как False, чтобы выполнить операцию.

    В ArcPy если входные данные представлены многомерным растром и константой, инструмент выполнит операцию для всех срезов для всех переменных с постоянным значением, и на выходе будет многомерный растр.

  • В Алгебре карт эквивалентным символом оператора для этого инструмента является "<<" (ссылка).

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

ПодписьОписаниеТип данных
Входной растр или постоянное значение 1

Входной растр, для которого будет выполнен сдвиг.

В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды.

Raster Layer; Constant
Входной растр или постоянное значение 2

Входной растр, определяющий число позиций для сдвига бит.

В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды.

Raster Layer; Constant

Возвращаемое значение

ПодписьОписаниеТип данных
Выходной растр

Выходной растр.

Значения ячеек являются результатом побитовой операции сдвига влево на входных данных.

Raster

BitwiseLeftShift(in_raster_or_constant1, in_raster_or_constant2)
ИмяОписаниеТип данных
in_raster_or_constant1

Входной растр, для которого будет выполнен сдвиг.

В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды.

Raster Layer; Constant
in_raster_or_constant2

Входной растр, определяющий число позиций для сдвига бит.

В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды.

Raster Layer; Constant

Возвращаемое значение

ИмяОписаниеТип данных
out_raster

Выходной растр.

Значения ячеек являются результатом побитовой операции сдвига влево на входных данных.

Raster

Пример кода

BitwiseLeftShift, пример 1 (окно Python)

В этом примере значения первых входных данных сдвигаются влево на количество битов, определенное вторыми входными данными, в результате чего получается растр 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")
BitwiseLeftShift, пример 2 (автономный скрипт)

В этом примере значения первых входных данных сдвигаются влево на количество битов, определенное вторыми входными данными.

# 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")

Информация о лицензиях

  • Basic: Обязательно Spatial Analyst или Image Analyst
  • Standard: Обязательно Spatial Analyst или Image Analyst
  • Advanced: Обязательно Spatial Analyst или Image Analyst

Связанные разделы