Булев оператор And (И) (Spatial Analyst)
Резюме
Выполняет Булеву операцию И (AND) для значений ячеек двух входных растров.
Если оба входных значения истинны (ненулевые), выходное значение будет 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 |
Пример кода
В этом примере выполняется Булева операция «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")