Доступно с лицензией Spatial Analyst.
Краткая информация
Выполняет Булеву операцию исключающего Или (XOr) для значений ячеек двух входных растров.
Если одно входное значение истинно (ненулевое), а остальные ложные (нулевые) выходное значение будет 1. Если оба входных значения истинные или оба входных значения ложные, выходное значение будет 0.
Иллюстрация
Использование
Булевы математические инструменты интерпретируют входные данные как логические значения, когда ненулевые значения рассматриваются как истинные, а нулевые значения – как ложные.
Для выполнения Булевой операции необходимо наличие двух входных файлов.
Порядок входных данных не имеет значения для этого инструмента.
Если входными данными служат значения с плавающей точкой, они преобразуются в целые числа 0 или 1 до выполнения логической операции. Если входное значение с плавающей запятой 0.0, оно конвертируется в целое 0. Если входное значение является любым, отличным от 0.0, оно конвертируется в целое 1. Например, входные значения 0.6, 32.22 и -4.2, они будут учитываться как 1. Выходные значения всегда целочисленные.
В Алгебре карт эквивалентным символом для этого оператора является "^" (ссылка).
См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
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.sa import *
env.workspace = "C:/sapyexamples/data"
outBooleanXOr = BooleanXOr("degs", "negs")
outBooleanXOr.save("C:/sapyexamples/output/outboolxor.tif")
BooleanXOr, пример 2 (автономный скрипт)
В этом примере выполняется Булева операция XOr на двух растрах GRID.
# Name: BooleanXOr_Ex_02.py
# Description: Performs a Boolean Exclusive Or operation on the
# cell 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"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute BooleanXOr
outBooleanXOr = BooleanXOr(inRaster1, inRaster2)
# Save the output
outBooleanXOr.save("C:/sapyexamples/output/outboolxor")
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst