Булев оператор And (И) (Spatial Analyst)
Резюме
Выполняет Булеву операцию И (AND) для значений ячеек двух входных растров.
Если оба входных значения истинны (ненулевые), выходное значение будет 1. Если одно или оба входных значения ложны (нулевые), выходное значение будет 0.
Рисунок
![]() |
OutRas = BooleanAnd(InRas1, InRas2) |
Использование
Булевы математические инструменты интерпретируют входные данные как логические значения, когда ненулевые значения рассматриваются как истинные, а нулевые значения — как ложные.
Для выполнения Булевой операции необходимо наличие двух входных файлов.
-
Порядок входных данных не имеет значения для этого инструмента.
Если входными данными служат значения с плавающей точкой, они преобразуются в целые числа 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 |
Пример кода
В этом примере выполняется Булева операция «And» на двух растрах GRID, в результате чего получается растр IMG.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outBooleanAnd = BooleanAnd("degs", "negs")
outBooleanAnd.save("C:/sapyexamples/output/outbooland.img")
В этом примере выполняется Булева операция «And» на двух растрах GRID.
# Name: BooleanAnd_Ex_02.py
# Description: Performs a Boolean And 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 BooleanAnd
outBooleanAnd = BooleanAnd(inRaster1, inRaster2)
# Save the output
outBooleanAnd.save("C:/sapyexamples/output/outbooland")