Операнд | Описание | Тип данных |
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")