Skip to main content

Условие (Инструменты Image Analyst)

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

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

Узнайте больше о выполнении условного выражения с помощью оператора Условие

Иллюстрация

Иллюстрация оператора Условие

OutRas = Con(InRas1, 40, 30, "Value >= 2")

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

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

  • Если Входной растр, удовлетворяющий условиям (in_conditional_raster в Python) является одноканальным, а также либо Входной растр значения "истина" или константа (in_true_raster_or_constant в Python), либо дополнительный Входной растр значения "ложь" или константа (in_false_raster_or_constant в Python) — константой, выходным будет одноканальный растр.

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

  • Инструмент выполнит операцию для каждого канала растра условия, используя соответствующий канал другого входного растра. Если растр условия многоканальный, а входной растр значения "истина" или "ложь" - константа, инструмент выполнит операцию со значением константы для каждого канала многоканального растра.

  • Если оценка выражения отличается от нуля, она рассматривается как истина.

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

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

  • Выражение использует SQL-запрос. Более подробно о создании запросов см. в следующих разделах:

Чтобы использовать выражение {where_clause}\ в Python, оно должно заключаться в кавычки. Например, "Value > 5000".

Вы можете обратиться к справке для получения дополнительной информации о задании запроса в Python.

  • В Python можно не использовать выражение {where_clause}, которое определяет поле Value, а заменить его на выражение Алгебры карт, такое как in_conditional_raster.

    Например, такое выражение:

    • Con("elev", 0, 1, "value > 1000")

    можно переписать следующим образом:

    • Con(Raster("elev") > 1000, 0, 1)

    Для получения более подробной информации см. примеры кодов ниже или раздел Построить сложные выражения в Алгебре карт.

  • Максимальная длина логического выражения составляет 4096 знаков.

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

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

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

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

Параметры

Подпись Объяснение Тип данных

Входной растр, удовлетворяющий условиям

Входной растр, представляющий истинный или ложный результат заданного условия.

Может быть целочисленным или с плавающей точкой.

Raster Layer

Входной растр значения "истина" или константа

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

Это может быть целочисленный растр, растр с плавающей точкой или константное значение.

Raster Layer; Constant

Входной растр значения "ложь" или константа

(Дополнительный)

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

Это может быть целочисленный растр, растр с плавающей точкой или константное значение.

Raster Layer; Constant

Выражение

(Дополнительный)

Логическое выражение, которое определяет, какие из входных ячеек имеют значения true или false.

Условие Where следует общим правилам построения выражений SQL. Его можно ввести напрямую, например, VALUE > 100, если нажать кнопку перехода в режим Редактирование SQL . Если вы находитесь в Режиме редактирования условия , вы можете начать построение выражения, нажав на кнопку Режим Добавить условие.

SQL Expression

Возвращаемое значение

Подпись Объяснение Тип данных

Выходной растр

Выходной растр.

Raster

Параметры среды

Автоподтверждение, Размер ячейки, Метод проецирования размера ячейки, Сжатие, Текущая рабочая область, Экстент, Географические преобразования, Маска, Выходное ключевое слово конфигурации, Выходная система координат, Временная рабочая область, Растр привязки, Размер листа

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

  • Basic: Требуется Image Analyst или Spatial Analyst
  • Standard: Требуется Image Analyst или Spatial Analyst
  • Advanced: Требуется Image Analyst или Spatial Analyst