Доступно с лицензией Spatial Analyst.
Краткая информация
Выполняет Булеву операцию исключающего Или (XOr) для значений ячеек двух входных растров.
Если одно входное значение истинно (ненулевое), а остальные ложные (нулевые) выходное значение будет 1. Если оба входных значения истинные или оба входных значения ложные, выходное значение будет 0.
Иллюстрация
![Иллюстрация булева оператора XOr Иллюстрация булева оператора XOr](GUID-C2215DD2-1501-43B3-AB5B-6ACD06364CB0-web.png)
Использование
Булевы математические инструменты интерпретируют входные данные как логические значения, когда ненулевые значения рассматриваются как истинные, а нулевые значения – как ложные.
Для выполнения Булевой операции необходимо наличие двух входных файлов.
Порядок входных данных не имеет значения для этого инструмента.
Если входными данными служат значения с плавающей точкой, они преобразуются в целые числа 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