== (Relational Equal To) operator

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

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

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

Выполняет относительную операцию Равно для двух входных растров в пределах окна Анализа.

Иллюстрация

Иллюстрация оператора Равно (отношение)
OutRas = Raster("InRas1") == Raster("Const2Ras")

Обсуждение

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

При использовании оператора с растровым входом результат будет растром. Но если все входные значения — числа, результат будет числом.

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

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

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

Для выполнения оценки необходимо наличие двух входных файлов.

Для этого оператора не важен порядок входных данных.

Выходные значения всегда целочисленные.

Если оба входных растра одноканальные либо входные данные - одноканальный растр и константа, выходной растр будет одноканальным.

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

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

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

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

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

Параметры

ОперандОписаниеТип данных
in_raster_or_constant1

Входной растр, который будет сравнен со вторым входным растром.

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

Raster Layer | Constant
in_raster_or_constant2

Входной растр, который будет сравнен с первым входным растром.

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

Raster Layer | Constant

Пример кода

== (Равно), пример 1 (окно Python)

В этом примере выполняется относительная операция Равно над двумя растрами.

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outEqualTo = Raster("degs") == Raster("negs")
outEqualTo.save("C:/iapyexamples/output/outequalto.tif")
== (Равно), пример 2 (автономный скрипт)

В этом примере выполняется относительная операция Равно над двумя растрами.

# Name: Op_EqualTo_Ex_02.py
# Description: Performs a relational equal-to operation on two inputs
#              on a cell-by-cell basis within the Analysis window
# Requirements: Image Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *

# Set environment settings
env.workspace = "C:/iapyexamples/data"

# Set local variables
inRaster1 = Raster("degs")
inRaster2 = Raster("negs")

# Execute EqualTo
outEqualTo = inRaster1 == inRaster2

# Save the output 
outEqualTo.save("C:/iapyexamples/output/outequalto")

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