Доступно с лицензией Spatial Analyst.
Краткая информация
Строит и выполняет выражение Алгебры карт с использованием синтаксиса Python в интерфейсе, подобном калькулятору.
Иллюстрация
Использование
Инструмент Калькулятор растров (Raster Calculator) позволяет создать и выполнить выражение Алгебра карт (Map Algebra), которое произведет вывод растра.
Используйте список Слои и переменные (Layers and variables) для выбора наборов данных и переменных, которые будут использоваться в выражении. В выражение можно добавить числовые значения и математические операторы, щелкнув соответствующие кнопки в диалоговом окне инструмента. Предоставляется перечень часто используемых условных и математических инструментов, позволяющий легко добавить их в выражение.
Полные пути к данным или данные, существующие в заданном параметре среды текущей рабочей области можно ввести в кавычках (""). Числа и масштабы можно ввести прямо в выражение.
Операторы диалогового окна инструмента Калькулятор растров (Raster Calculator):
Операторы Алгебры карт/
(Деление)
==
(Равно)
!=
(Не равно)
&
*
>
>=
|
-
<
<=
^
+
(Сложение)
~
Многие инструменты и операции геообработки могут быть созданы как выражение алгебры карт с использованием стандартного синтаксиса Python.
Пример общего формата выражения алгебры карт с использованием инструментов геообработки:
Con(IsNull("streams"), 0, "streams")
Этот инструмент поддерживает стандартный синтаксис алгебры карт, который используется в скриптах Python. Единственные отличия:
- Вам не нужно помещать выходное имя растра или знак = в выражение, т. к. выходное имя задано в параметре Выходной растр (Output raster).
- Не нужно оценивать входные данные как объект растра при использовании операторов.
Не составляет труда вырезать набор растровых данных, сформировав среду экстента и указав имя входного растра в выражении. extent environment ">extent environment and specifying the input raster name in the expression. При выполнении инструмента, выходные данные результирующего растра будут вырезаны на основе заданного экстента.
Чтобы создать растр с ячейками постоянного значения, укажите соответствующий экстент и параметры среды размер ячейки, и введите числовое значение в выражение.
Если в выражении используется несколько операторов, они не обязательно выполняются слева направо. Оператор с высшим значением приоритета будет выполнен первым. Более подробно о приоритете операторов см. в таблице приоритета операторов. Порядок выполнения можно изменить с помощью скобок.
Уровень приоритета Булевых операторов (~, &, ^, |) выше, чем у реляционных операторов (<, <=, >, >=, ==, !=). Поэтому, если в одном выражении используются Булевы и реляционные операторы, в первую очередь выполняются булевы операторы. Чтобы изменить порядок выполнения, используйте скобки.
Если Булевы и/или реляционные операторы последовательно используются в одном выражении, в некоторых случаях его выполнение может завершиться неудачей. Во избежание потенциальных проблем, используйте соответствующие скобки в выражении, чтобы четко определить порядок выполнения операторов. Для получения более подробной информации см. Правила комплексного оператора.
Выполнение операции может быть повышено за счет возможностей отсроченной оценки Алгебры карт. Отсроченная оценка – это метод оптимизации, где отдельные компоненты выражения разумно обрабатываются так, чтобы свести к минимуму создание промежуточных наборов данных на диске.
Только операторы и инструменты, которые обрабатывают по принципу «ячейка за ячейкой», могут воспользоваться этой возможностью. Операторы и инструменты, которые поддерживают отсроченную оценку, сами включены инструмент калькулятора растров, либо представлены в виде кнопки, либо в списке предоставленных инструментов.
Инструмент Калькулятор растра может быть использован в ModelBuilder, но помните следующее:
- Синтаксис выражения определяет, как должны быть заданы переменные. Если вы выберите переменную из списка переменных, она будет автоматически добавлена в выражение в текущем местоположении курсора. После проверки моделей:
- Имена слоев будут заключены в двойные кавычки ("").
Пример: "inlayer"
- Типы переменных длинное целое, двойной точности или Булев будут заключены в знаки процента (%%). Они не должны быть в кавычках.
Пример: %scale_factor%
- Переменные, представляющие имена или строки набора данных должны быть заключены в двойные кавычки и знаки процента ("%%").
Например, при выборе из перечня переменных inraster станет "%inraster%" в выражении.
- Имена слоев будут заключены в двойные кавычки ("").
- В ModelBuilder, следующие типы переменных являются корректными входными данными для выражения:
- Строка
- Логический
- Числовой (двойной точности и длинное целое)
- Данные (набор растровых данных, растровый слой, канал растра, файла слоя .lyr)
- Инструмент Калькулятор растра, как правило, придерживается стандартного поведения связности моделей в ModelBuilder, отдельные исключения обусловлены требованиями к формулированию допустимого выражения алгебры карт. Сюда относятся:
- Переменные связаны с инструментом Калькулятор растров (Raster Calculator), если они выбираются из перечня переменных. Все переменные автоматически перечислены в списке Переменные (Variable) этого инструмента.
- Если в выражении используется набор данных или переменная, будет создана связь между переменной и инструментом. Если вы удалите переменную из выражения, связь между переменной и инструментом также будет удалена.
- Если вы удалите связь с переменной, переменная не удалится из выражения.
- Не следует переименовывать переменную, соединенную с инструментом, т.к. переменная не будет переименована в выражении. Если вы переименуете ее, выражение будет некорректным.
- Синтаксис выражения определяет, как должны быть заданы переменные. Если вы выберите переменную из списка переменных, она будет автоматически добавлена в выражение в текущем местоположении курсора. После проверки моделей:
Конкретные Параметры среды хранения растра (Raster storage environments) могут применяться к этому инструменту, если форматом входных растровых данных является не Esri Grid.
- Для параметров среды Статистика растра (Raster statistics) поддерживается только задание значения параметра Вычислить статистику (Calculate Statistics).
- В параметрах среды Сжатие (Compression) поддерживается только тип Сжатия (Compression). Параметры среды применяются только для выходных целочисленных данных. Сжатие не поддерживается растрами с плавающей точкой, поэтому данный параметр применим только для выходных целочисленных данных.
- Настройка Размер листа (Tile Size) применима только для растров следующих форматов: TIFF, растр файловой или многопользовательской базы геоданных.
Синтаксис
RasterCalculator (expression, output_raster)
Параметр | Объяснение | Тип данных |
expression | String | |
output_raster | Raster Dataset |
Параметры среды
- Автоподтверждение (Auto Commit)
- Размер ячейки (Cell size)
- Сжатие (Compression)
- Текущая рабочая область (Current Workspace)
- Экстент (Extent)
- Географические преобразования (Geographic Transformations)
- Маска (Mask)
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Выходная система координат (Output Coordinate System)
- Статистика растра (Raster Statistics)
- Временная рабочая область (Scratch Workspace)
- Растр привязки (Snap Raster)
- Размер листа (Tile Size)
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst