Операнд | Описание | Тип данных |
in_raster_or_constant | Входные данные, которые будут использоваться в операции Булев Не. | Raster Layer | Constant |
Доступно с лицензией Spatial Analyst.
Доступно с лицензией Image Analyst.
Краткая информация
Выполняет булеву операцию Not для значений ячеек входного растра.
Иллюстрация
Обсуждение
Оператор ~ выполняет булеву операцию Not, когда входное значение является растром. Если входное значение является числом, оператор ~ выполняет побитовую операцию Not. Дополнительную информацию о работе с операторами можно найти в разделе Работа с операторами.
Если в выражении используется несколько операторов, их необязательно выполнять слева направо. Оператор с наивысшим значением приоритета будет выполнен первым. Более подробно см. таблицу приоритета операторов в разделе Работа с операторами в Алгебре карт. Порядок выполнения операторов можно изменить с помощью скобок.
У булевых операторов (~, &, ^ и |) уровень приоритет более высокий, чем у операторов сравнения (<, <=, >, >=, == и !=). Поэтому если булевы операторы используются в выражении вместе с операторами сравнения, логические операторы будут выполняться первыми. Для изменения порядка выполнения операторов нужно использовать скобки.
Если в выражении последовательно используется несколько операторов сравнения и/или булевых операторов, в некоторых случаях оно может не выполниться. Чтобы избежать подобной проблемы, используйте в выражении соответствующие круглые скобки, чтобы явно задать порядок выполнения операторов. Более подробно изучите правила сложных выражений в разделе Построение сложных выражений.
Для выполнения этой Булевой операции необходимо наличие только одного входного файла.
При вводе значений с плавающей точкой они конвертируются в целочисленные посредством сокращения знаков перед выполнением булевой операции. Выходные значения всегда целочисленные.
Если входной растр - многоканальный, выходной растр также будет многоканальным. Оператор выполняет операцию для каждого канала входных данных.
Если входными данными являются многомерные растры, будут обработаны все срезы по всем переменным, а выходной растр будет многомерным.
Параметры
Пример кода
В этом примере на входном растре выполняется булева операция Not (дополнительно).
import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"outBooleanNot = ~ Raster("degs")
outBooleanNot.save("C:/iapyexamples/output/outboolnot.tif")
В этом примере на входном растре выполняется булева операция Not (дополнительно).
# Name: Op_BooleanNot_Ex_02.py
# Description: Performs a Boolean complement (NOT) operation on the
# cell values of an input raster
# 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
inRaster = Raster("degs")
# Execute BooleanNot
outBooleanNot = ~ inRaster
# Save the output
outBooleanNot.save("C:/iapyexamples/output/outboolnot")