!= (Relational Not Equal) operator

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

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

Сводка

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

Иллюстрация

Иллюстрация относительного оператора Не равно
OutRas = Raster("InRas1") != 2

Описание

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

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

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

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

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

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

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

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

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

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

Синтаксис

in_raster_or_constant1 != in_raster_or_constant2
ОперандОбъяснениеТип данных
in_raster_or_constant1

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

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

Raster Layer | Constant
in_raster_or_constant2

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

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

Raster Layer | Constant

Значение отраженного сигнала

NameОбъяснениеТип данных
out_raster

Объект выходного растра.

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

Raster

Пример кода

!= (Не равно) пример 1 (окно Python)

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outNotEqual = Raster("degs") != Raster("negs")
outNotEqual.save("C:/sapyexamples/output/outne")
!= (Не равно), пример 2 (автономный скрипт)

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

# Name: Op_NotEqual_Ex_02.py
# Description: Performs a relational not-equal operation on two
#              inputs on a cell-by-cell basis
# Requirements: Spatial Analyst Extension

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

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

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

# Execute NotEqual
outNotEqual = inRaster1 != inRaster2

# Save the output 
outNotEqual.save("C:/sapyexamples/output/outnotequal")

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