Побитовый оператор XOr (Spatial Analyst)

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

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

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

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

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

Иллюстрация

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

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

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

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

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

  • В побитовых операциях верно следующее:

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

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

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

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

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

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

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

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

  • См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

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

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

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

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

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

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

Raster Layer; Constant

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

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

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

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

Raster

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

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

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

Raster Layer; Constant
in_raster_or_constant2

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

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

Raster Layer; Constant

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

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

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

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

Raster

Пример кода

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

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

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

В этом примере выполняется побитовая операция XOr на двух растрах GRID, в результате чего получается растр IMG.

# Name: BitwiseXOr_Ex_02.py
# Description: Performs a Bitwise XOr operation on the binary values
#              of two input rasters
# 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 = "degs"
inRaster2 = "negs"

# Execute BitwiseXOr
outBitwiseXOr = BitwiseXOr(inRaster1, inRaster2)

# Save the output 
outBitwiseXOr.save("C:/sapyexamples/output/outbitwisexor.img")

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

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

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