Обзор операторов алгебры карт

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

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

Алгебра карт поддерживает ряд операторов. Операторы разделяются на следующие категории: Арифметические, Побитовые, Булевы (Boolean) и Относительные. Операторы Map Algebra доступны с лицензией модуля ArcGIS Spatial Analyst и лицензией модуля ArcGIS Image Analyst.

Операторы перегружены, поскольку они существуют в модулях Spatial Analyst ArcPy и Image Analyst ArcPy и как стандартные операторы в Python. Чтобы отличить на входе растр от скалярной переменной, входной растр необходимо преобразовать, используя класс Raster: Raster("inRas"). Доступные операторы приведены в таблице ниже.

Если оператор принимает два входных операнда, и оба они – скаляры, используется оператор Python, работающий со скалярами. Если один или оба входных операнда являются растрами (преобразованными с помощью класса Raster), используется оператор ArcPy, который будет применен к каждой ячейке растров. В случае операторов с единственным входным операндом будет использоваться оператор Python для скаляра и оператор ArcPy для растра.

Операторы по категориям

Доступные операторы перечислены по категориям в таблице ниже:

Оператор Алгебры картОписаниеИнструмент геообработки Spatial Analyst

Арифметическая

+ (Сложение)

Добавляет (суммирует) значения двух входных операндов.

Плюс

+ (Унарный плюс)

Умножает значение каждого входного операнда на 1.

Н/Д

- (Вычитание)

Вычитается значения одного входного операнда из первого.

Минус

- (Сменить знак)

Меняет знак значений входных операндов, умножая их на -1.

Изменить знак

* (Умножение)

Перемножает значения двух входных операндов.

Умножить

** (Степень)

Возводит значения одного входного операнда в степень значений другого входного операнда.

Степень

/ (Деление)

Делит значения двух входных операндов.

Разделить

// (Целочисленное деление)

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

Н/Д

% (Остаток от деления)

Вычисляет остаток (по модулю) первого входного операнда при делении на второй.

Остаток

Побитовые

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

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

Побитовый оператор Left Shift

>> (Побитовый оператор Right Shift)

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

Побитовый оператор Right Shift

Boolean

& (Булев And)

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

Булев оператор And

~ (Булев оператор Not)

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

Булев оператор Not

| (Булев Or)

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

Булев оператор Or

^ (Булев XOr)

Выполняет логическую операцию Исключающее Or на входных операндах.

Булев оператор XOr

Относительный

== (Равно)

Выполняет относительную операцию Равно на входных операндах.

Равно

> (Больше)

Выполняет относительную операцию Больше на входных операндах.

Больше

>= (Больше или равно)

Выполняет относительную операцию Больше или равно на входных операндах.

Больше или равно

< (Меньше)

Выполняет относительную операцию Меньше на входных операндах.

Меньше

<= (Меньше или равно)

Выполняет относительную операцию Меньше или равно на входных операндах.

Меньше или равно

!= (Не равно)

Выполняет относительную операцию Не равно на входных операндах.

Не равно

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