ArcGIS for Desktop

  • Документация
  • Стоимость
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS for Desktop

Полноценная профессиональная ГИС

ArcGIS for Server

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Стоимость
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcGIS Help

  • Главная
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительно...

Работа с операторами в Алгебре карт

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

  • Правила операторов
  • Приоритет выражения в скобках

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

В целом, операторы помещаются между двумя входными значениями данных (операндами) для выполнения математической операции (например, outVar = 3 + 7). В Алгебре карт операндами могут являться растры или числа. Чтобы использовать оператор вместе с растром, растр должен являться растровым объектом.

Приведенная ниже таблица может служить кратким справочником по реализации текущих операторов Алгебры карт в отношении операторов Python и операторов Алгебры карт в предыдущих версиях 9.x.

ОперацияОператор PythonОператор Алгебры картОператор Алгебры карт версии 9.x *Инструмент Spatial Analyst GP
Арифметическая (Arithmetic)

Добавление

+

+

+

Сложить (Plus)

Деление

/

/

/, div

Разделить (Divide)

Целочисленное деление

//

//

недоступно

недоступно

По модулю (Modulo)

%

%

Остаток (Mod)

Остаток (Mod)

Умножение

*

*

*

Умножить (Times)

Степень (Power)

**

**

недоступно

Инструмент Степень (Power)

Вычитание

-

-

-

Минус (Minus)

Унарный минус

-

-

-

Изменить знак (Negate)

Унарный плюс

+

+

недоступно

недоступно

Логический

Булев оператор And (И)

недоступно

&

&, and

Булев оператор «And» (Boolean And)

Логическое дополнение

недоступно

~

^, not

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

Логический исключающий оператор Or

недоступно

^

!, xor

Булев оператор «XOr» (Boolean XOr)

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

недоступно

|

|, or

Булев оператор «Or» (Boolean Or)

Отношение

Равно (Equal To)

==

==

==, eq

Равно (Equal To)

Больше

>

>

>, gt

Больше чем (Greater Than)

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

>=

>=

>=, ge

Больше или равно (Greater Than Equal)

Меньше

<

<

<, lt

Оператор Меньше чем (Less Than)

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

<=

<=

<=, le

Меньше или равно (Less Than Equal)

Не равно

!=

!=

^=, <>, ne

Не равно (Not Equal)

Побитовые (Bitwise)

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

&

недоступно

&&

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

Побитовое дополнение

~

недоступно

^^

Побитовый оператор Not (Bitwise Not)

Побитовый исключающий оператор Or

^

недоступно

!!

Побитовый оператор "XOr" (Bitwise XOr)

Побитовый оператор Left Shift (Сдвиг влево)

<<

<<

<<

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

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

|

недоступно

||

Побитовый оператор Or (Bitwise Or)

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

>>

>>

>>

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

* Оператор в Алгебре карт относится к символу оператора, который будет использоваться в инструменте Однорезультативная алгебра карт или Калькулятор растра на панели инструментов Spatial Analyst в версиях ArcGIS 9.x и более ранних.

Правила операторов

  • При использовании операторов только с числами, результатом будет являться число.
    # outVar will be assigned 10
    outVar = 3 + 7
    
  • При использовании операторов с растрами, результатом будет являться растровый объект.
    outRas = Raster("inraster1") + Raster("inraster2")
    
  • При использовании растра в качестве операнда, результатом будет являться растровый объект.
    # In the following statement, 4 is added to each cell value in inraster1
    outRas = Raster("inraster1") + 4  
    outRas2 = Raster("inraster") + math.pi
    

    В приведенном выше выражении pi берется из модуля math в Python. Модуль math также включает основание натурального логарифма math.e, который также может быть использован в выражении Алгебры карт.

  • Некоторые операторы могут предваряться растровым объектом или числом.
    outRas = -Raster("inraster")
    
  • Логические операторы (~, &, ^, |) служат для выполнения логической операции, если один или несколько входных объектов (операндов) является растром. Если оба входных объекта (операнда) являются числами, то эти операторы приводят к выполнению побитовых операций.

Подсказка:

Пробелы между операторами не являются необходимыми, но рекомендуются для удобства читаемости.

Инструменты и операторы могут вкладываться для создания сложных выражений.

  • Более подробно о построении сложных выражений

Приоритет выражения в скобках

Значение приоритета определяет порядок выполнения операторов. Оператор с более высоким значением приоритета будет обрабатываться первым. Если два оператора имеют одинаковое значение приоритета, они обрабатываются в выражении слева направо.

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

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

Оператор Алгебры картЛитература

<, <=, >, >=, ==, !=

Меньше, Меньше или равно, Больше, Больше или равно, Равно, Не равно

|

Булев оператор «Or» (Boolean Or)

^

Булев оператор «XOr» (Boolean XOr)

&

Булев оператор «And» (Boolean And)

<<, >>

Побитовый оператор Left Shift (Сдвиг влево), Побитовый оператор Right Shift (Сдвиг вправо)

+, -

Добавление, Вычитание

*, /, //, %

Умножение, Деление, Целочисленное деление, По модулю

+, -, ~

Унарный плюс, Изменить знак, Логическое Not

**

Инструмент Степень (Power)

Связанные темы

  • Обзор правил Алгебры карт
  • Обзор операторов Алгебры карт (Map Algebra Operators)
  • Построение сложных выражений
Отзыв по этому разделу?

ArcGIS for Desktop

  • На главную
  • Документация
  • Стоимость
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Конфиденциальность | Правовая информация