Подпись | Описание | Тип данных |
Выражение Алгебры карт | Выражение Алгебры карт, которое будет выполняться. Создайте выражение, указав входные данные, значения, операторы и инструменты, которые будут использоваться. Вы можете набрать выражение вручную или использовать элементы управления для его создания.
| Raster Calculator Expression |
Выходной растр | Выходной растр, полученный из выражения алгебры карт. | Raster Dataset |
Доступно с лицензией Spatial Analyst.
Доступно с лицензией Image Analyst.
Краткая информация
Выполняет выражение алгебры карт, построенное с помощью синтаксиса Python.
Иллюстрация
Использование
Инструмент Калькулятор растра позволяет создать и выполнить выражение алгебры карт, результатом которого будет создание выходного растра.
Используйте список Растры для выбора наборов данных и переменных, которые будут использоваться в выражении. В списке Инструменты содержится перечень часто используемых условных и математических инструментов, позволяющий добавлять их в выражение. Числовые значения (и символы математических операторов) можно добавлять непосредственно в выражение.
Полные пути к данным или данные, существующие в заданном параметре среды текущей рабочей области можно ввести в кавычках (""). Числа и масштабы можно ввести прямо в выражение.
Поддерживаемые операторы перечислены в таблице ниже:
Многие инструменты и операции геообработки могут быть созданы как выражение алгебры карт с использованием стандартного синтаксиса 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) перед запуском инструмента.
Если входные данные представлены многомерным растром и константой, инструмент выполнит операцию для всех срезов для всех переменных с постоянным значением, и на выходе будет многомерный растр.
Примечание:
Инструмент Калькулятор растра доступен в приложении только в панели Геообработка или в ModelBuilder. Он не предназначен для использования в скриптах и не доступен в модуле ArcPy Spatial Analyst.
Параметры
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