Калькулятор растра (Spatial Analyst)

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

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

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

Выполняет выражение алгебры карт, построенное с помощью синтаксиса Python.

Более подробно о работе инструмента Калькулятор растра

Иллюстрация

Инструмент Калькулятор растра в панели геообработки
Инструмент Калькулятор растра в панели геообработки с простым выражением

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

    Примечание:

    Инструмент Калькулятор растра доступен в приложении только в панели Геообработка или в ModelBuilder. Он не предназначен для использования в скриптах и не доступен в модуле ArcPy Spatial Analyst.

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

  • Используйте список Растры для выбора наборов данных и переменных, которые будут использоваться в выражении. В списке Инструменты содержится перечень часто используемых условных и математических инструментов, позволяющий добавлять их в выражение. Числовые значения (и символы математических операторов) можно добавлять непосредственно в выражение.

  • Полные пути к данным или данные, существующие в заданном параметре среды текущей рабочей области можно ввести в кавычках (""). Числа и масштабы можно ввести прямо в выражение.

  • Поддерживаемые операторы перечислены в таблице ниже:

  • Многие инструменты и операции геообработки могут быть созданы как выражение алгебры карт с использованием стандартного синтаксиса Python.

    Внимание:

    При вводе имен инструментов убедитесь, что синтаксис имен корректный. Если регистр букв неверен, выражение будет недействительно, и его не удастся выполнить, так как Python чувствителен к регистру.

    Пример общего формата выражения алгебры карт с использованием инструментов геообработки:

    Con(IsNull("streams"), 0, "streams")

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

    • Вам не нужно включать выходное имя растра или знак равенства (=) в выражение, т.к. выходное имя указывается в параметре Выходной растр.
    • Не нужно оценивать входные данные как объект Raster при использовании операторов.

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

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

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

  • У булевых операторов (~, &, ^, |) уровень приоритет более высокий, чем у операторов сравнения (<, <=, >, >=, ==, !=). Поэтому если булевы операторы используются в выражении вместе с операторами сравнения, логические операторы будут выполняться первыми. Для изменения порядка выполнения операторов используйте скобки.

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

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

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

  • Инструмент Калькулятор растра может быть использован в ModelBuilder, но помните следующее:

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

    • Имена слоев будут заключены в двойные кавычки ("").

      Пример: "inlayer"

    • Типы переменных длинное целое, двойной точности или Булево будут заключены в знаки процента (%%). Они не должны быть в кавычках.

      Пример: %scale_factor%

    • Переменные, представляющие имена или строки набора данных должны быть заключены в двойные кавычки и знаки процента ("%%").

      Например, inraster в выражении будет выглядеть как "%inraster%".

    В ModelBuilder, следующие типы переменных являются корректными входными данными для выражения:

    • String
    • Логические
    • Числовые (двойной точности и длинное целое)
    • Данные (набор растровых данных, растровый слой, канал растра, файла слоя .lyr)

    Инструмент Калькулятор растра, как правило, придерживается стандартного поведения связности моделей в ModelBuilder, отдельные исключения обусловлены требованиями к формулированию допустимого выражения алгебры карт. К ним относятся:

    • Переменные связаны с инструментом Калькулятор растров, если они выбираются из перечня переменных. Все переменные автоматически перечислены в списке Переменные этого инструмента.
    • Если в выражении используется набор данных или переменная, будет создана связь между переменной и инструментом. Если вы удалите переменную из выражения, связь между переменной и инструментом также будет удалена.
    • Если вы удалите связь с переменной, переменная не удалится из выражения.
    • Не следует переименовывать переменную, соединенную с инструментом, т.к. переменная не будет переименована в выражении. Если вы переименуете ее, выражение будет некорректным.
  • Конкретные Параметры среды хранения растра могут применяться к этому инструменту, если форматом входных растровых данных является не Esri Grid.

    • Для параметров среды Статистика растра (Raster statistics) поддерживается только задание значения параметра Вычислить статистику (Calculate Statistics).
    • В параметрах среды Сжатие поддерживается только тип Сжатия. Параметры среды применяются только для выходных целочисленных данных. Сжатие не поддерживается растрами с плавающей точкой, поэтому данный параметр применим только для выходных целочисленных данных.
    • Параметр среды Размер листа поддерживается только для выходных растров в следующих форматах: TIFF, файловая база геоданных или многопользовательская база геоданных.
  • Если все входные данные представляют собой многомерные растровые данные с одинаковым количеством переменных, инструмент выполнит операцию для всех срезов с одинаковым значением измерения. Результатом будет многомерный растр в формате CRF. Переменные во входных данных должны иметь по крайней мере одно общее измерение и одно общее значение измерения для обработки этим инструментом, в противном случае произойдет ошибка.

    Если все входные содержат одну переменную, но с разными именами, отключите опцию среды геообработки Сопоставить многомерную переменную (задайте arcpy.env.matchMultidimensionalVariable = False в Python) перед запуском инструмента.

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

Параметры

ПодписьОписаниеТип данных
Выражение Алгебры карт

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

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

  • Список Растры определяет наборы данных, доступные для использования в выражении алгебры карт.
  • Список Инструменты содержит стандартные инструменты, которые вы можете использовать.
Raster Calculator Expression
Выходной растр

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

Raster Dataset

RasterCalculator(expression, output_raster)
ИмяОписаниеТип данных
expression
Примечание:

В Python создайте и запустите выражение алгебры карт, используя Spatial Analyst, который является дополнительным модулем пакета ArcPy Python.

См. Алгебра карт для информации о выполнении анализа в Python.

Raster Calculator Expression
output_raster
Примечание:

См. Создание выходных данных для информации о результате выражения алгебры карт в Python.

Raster Dataset

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

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

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