Булев оператор XOr (Boolean XOr) (Spatial Analyst)
Резюме
Выполняет Булеву операцию исключающего Или (XOr) для значений ячеек двух входных растров.
Если одно входное значение истинно (ненулевое), а другое — ложное (нулевое), выходное значение — 1. Если оба входных значения истинны или оба ложны, выходное значение — 0.
Рисунок
Использование
Булевы математические инструменты интерпретируют входные данные как логические значения, когда ненулевые значения рассматриваются как истинные, а нулевые значения — как ложные.
Для выполнения Булевой операции необходимо наличие двух входных файлов.
-
Порядок входных данных не имеет значения для этого инструмента.
Если входными данными служат значения с плавающей точкой, они преобразуются в целые числа 0 или 1 до выполнения логической операции. Если входное значение — 0,0 с плавающей точкой, оно конвертируется в целочисленное значение 0. Если входное значение отличается от 0,0, оно конвертируется в целочисленное значение 1. Например, входные значения с плавающей точкой 0,6, 32,22 и -4,2 будут считаться значением 1. Исходное значение всегда целочисленное.
-
В инструменте Алгебра карт (Map Algebra) символов эквивалентного этому инструменту оператора является «^» (ссылка).
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster_or_constant1 |
Первый входной растр для выполнения этой Булевой операции. В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы можно было задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды. | Raster Layer | Constant |
in_raster_or_constant2 |
Второй входной растр для выполнения этой операции Булевой операции. В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы можно было задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды. | Raster Layer | Constant |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр. Выходное значение должно быть 0 или 1. | Raster |
Пример кода
В этом примере выполняется Булева операция «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")
В этом примере выполняется Булева операция «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")