Булев оператор XOr (Image Analyst)

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

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

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

Выполняет Булеву операцию исключающего Или (XOr) для значений ячеек двух входных растров.

Если одно входное значение истинно (ненулевое), а остальные ложные (нулевые) выходное значение будет 1. Если оба входных значения истинные или оба входных значения ложные, выходное значение будет 0.

Более подробно о Булевых математических инструментах

Иллюстрация

Рисунок булева оператора Boolean XOr
OutRas = BooleanXOr(InRas1, InRas2)

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

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

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

  • Порядок входных данных не имеет значения для этого инструмента.

  • Если входными данными служат значения с плавающей точкой, они преобразуются в целые числа 0 или 1 до выполнения логической операции. Если входное значение с плавающей запятой 0.0, оно конвертируется в целое 0. Если входное значение является любым, отличным от 0.0, оно конвертируется в целое 1. Например, входные значения 0.6, 32.22 и -4.2 будут рассматриваться как 1. Выходные значения всегда целочисленные.

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

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

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

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

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

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

Параметры

ПодписьОписаниеТип данных
Входной растр или постоянное значение 1

Первый входной растр для выполнения этой Булевой операции.

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

Raster Layer; Constant
Входной растр или постоянное значение 2

Второй входной растр для выполнения этой операции Булевой операции.

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

Raster Layer; Constant

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

ПодписьОписаниеТип данных
Выходной растр

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

Выходное значение ячейки должно быть 0 или 1.

Raster

BooleanXOr(in_raster_or_constant1, in_raster_or_constant2)
ИмяОписаниеТип данных
in_raster_or_constant1

Первый входной растр для выполнения этой Булевой операции.

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

Raster Layer; Constant
in_raster_or_constant2

Второй входной растр для выполнения этой операции Булевой операции.

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

Raster Layer; Constant

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

ИмяОписаниеТип данных
out_raster

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

Выходное значение ячейки должно быть 0 или 1.

Raster

Пример кода

BooleanXOr, пример 1 (окно Python)

В этом примере выполняется Булева операция XOr на двух растрах GRID, и выводится растр TIFF.

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

В этом примере выполняется Булева операция XOr на двух растрах GRID.

# Name: BooleanXOr_Ex_02.py
# Description: Performs a Boolean Exclusive Or operation on the
#              pixel values of two input rasters
# 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 = "degs"
inRaster2 = "negs"

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute BooleanXOr
outBooleanXOr = BooleanXOr(inRaster1, inRaster2)

# Save the output 
outBooleanXOr.save("C:/iapyexamples/output/outboolxor")

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

  • Basic: Обязательно Image Analyst или Spatial Analyst
  • Standard: Обязательно Image Analyst или Spatial Analyst
  • Advanced: Обязательно Image Analyst или Spatial Analyst

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