!= (Relational Not Equal) operator

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

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

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

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

Иллюстрация

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

Обсуждение

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры

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

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

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

Raster Layer | Constant
in_raster_or_constant2

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

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

Raster Layer | Constant

Пример кода

!= (Не равно) пример 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")

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