Булев оператор And (Image Analyst)

Доступно с лицензией Spatial Analyst.

Доступно с лицензией Image Analyst.

Сводка

Выполняет булеву операцию "And" над значениями ячеек двух исходных растров.

Если оба входных значений истинны (ненулевые), выходное значение равно 1. Если одно или оба значения ложны (нулевые), выходное значение – 0.

Более подробно о Булевых математических инструментах

Иллюстрация

Иллюстрация булева оператора And
OutRas = BooleanAnd(InRas1, InRas2)

Использование

  • Булевы математические инструменты интерпретируют входные данные как логические значения, когда ненулевые значения рассматриваются как истинные, а нулевые значения – как ложные.

  • Для выполнения Булевой операции необходимо наличие двух входных файлов.

  • Порядок входных данных не имеет значения для этого инструмента.

  • Если входными данными служат значения с плавающей точкой, они преобразуются в целые числа 0 или 1 до выполнения логической операции. Если входное значение с плавающей запятой 0.0, оно конвертируется в целое 0. Если входное значение является любым, отличным от 0.0, оно конвертируется в целое 1. Например, входные значения 0.6, 32.22 и -4.2 будут рассматриваться как 1. Выходные значения всегда целочисленные.

  • Если оба входных набора данных являются одноканальными растрами, либо один из входных параметров является константой, то выходной результат будет одноканальным растром.

  • Если оба входных набора данных являются многоканальными растрами, либо один из входных параметров является константой, то выходной результат будет многоканальным растром. Число каналов в каждом входном многоканальном растре должно быть одинаковым.

  • Инструмент будет выполнять операцию для каждого канала из входных данных по отношению к соответствующему каналу из другого входного набора данных. Если один из входных наборов данных является многоканальным растром, а другой - константой, то инструмент будет выполнять операцию со значением константы для каждого канала в многоканальном растре.

Синтаксис

BooleanAnd(in_raster_or_constant1, in_raster_or_constant2)
ParameterОбъяснениеТип данных
in_raster_or_constant1

Первый входной растр для выполнения этой Булевой операции.

В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды.

Raster Layer; Constant
in_raster_or_constant2

Второй входной растр для выполнения этой операции Булевой операции.

В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды.

Raster Layer; Constant

Значение отраженного сигнала

NameОбъяснениеТип данных
out_raster

Выходной растр.

Выходное значение ячейки должно быть 0 или 1.

Raster

Пример кода

BooleanAnd, пример 1 (окно Python)

В этом примере выполняется Булева операция And на двух растрах GRID, в результате чего получается растр IMG.

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outBooleanAnd = BooleanAnd("degs", "negs")
outBooleanAnd.save("C:/iapyexamples/output/outbooland.img")
BooleanAnd, пример 2 (автономный скрипт)

В этом примере выполняется Булева операция And на двух растрах GRID.

# Name: BooleanAnd_Ex_02.py
# Description: Performs a Boolean And operation on the pixel values
#              of two input rasters
# Requirements: Image Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *

# Set environment settings
env.workspace = "C:/iapyexamples/data"

# Set local variables
inRaster1 = "degs"
inRaster2 = "negs"

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute BooleanAnd
outBooleanAnd = BooleanAnd(inRaster1, inRaster2)

# Save the output 
outBooleanAnd.save("C:/iapyexamples/output/outbooland")

Информация о лицензиях

  • Basic: Требуется Image Analyst or Spatial Analyst
  • Standard: Требуется Image Analyst or Spatial Analyst
  • Advanced: Требуется Image Analyst or Spatial Analyst

Связанные разделы