Операнд | Описание | Тип данных |
in_raster_or_constant1 | Входные данные, из которых вычитаются значения вторых входных данных. Если первый набор входных значений является растром, а второй – скаляром, то выходной растр создается с каждым значением входного растра, из которого вычтено значение скаляра. | Raster Layer | Constant |
in_raster_or_constant2 | Входные значения, вычитаемые из первых входных значений. Если первый набор входных значений является скаляром, а второй – растром, то выходной растр создается с каждым значением входного растра, вычтенным из значения скаляра. | Raster Layer | Constant |
Доступно с лицензией Spatial Analyst.
Доступно с лицензией Image Analyst.
Краткая информация
Вычитает значение второго входного растра из значений первого входного растра по принципу ячейка-за-ячейкой.
Иллюстрация
Обсуждение
При использовании оператора со входным растром на выходе также будет растр. Если же все входные данные являются числами, на выходе также будет число.
Если в выражении используется несколько операторов, их необязательно выполнять слева направо. Оператор с наивысшим значением приоритета будет выполнен первым. Более подробно см. таблицу приоритета операторов в разделе Работа с операторами в Алгебре карт. Порядок выполнения операторов можно изменить с помощью скобок.
Для этого оператора важен порядок растров во входном списке.
Если оба значения целочисленные, выходные будут также целочисленными. В противном случае на выходе будут получены значения с плавающей точкой.
Другой способ выполнить вычитание – a -= b, что иным способом может быть записано как a = a – b.
Если оба входных растра являются одноканальными или на входе имеется константа, на выходе получится одноканальный растр.
Если оба входных растра являются многоканальными, оператор будет выполнен для каждого канала, а выходной растр будет многоканальным. Число каналов всех многоканальных растров должно быть одинаковым.
Если один из входных растров является многоканальным, а другие входные данные - константами, оператор выполнится с постоянным значением для каждого канала многоканального входного растра, а выходной растр будет многоканальным.
Если все входные данные являются многомерными растрами с одинаковым количеством переменных, оператор будет выполнен для всех срезов с одинаковым значением измерения, а на выходе будет получен многомерный растр. У переменных во входных данных должны быть одинаковые или общие размерности.
Если у обоих входных данных одна переменная, но разные имена, установите False для среды геообработки matchMultidimensionalVariable, чтобы выполнить операцию.
Если одними из входных данных является многомерный растр, а другие - константой, оператор будет выполнен для всех срезов для всех переменных с постоянным значением, и на выходе будет получен многомерный растр.
Параметры
Пример кода
В этом примере вычитаются значения второго входного растра из первого.
import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outMinus = Raster("degs") - Raster("negs")
outMinus.save("C:/iapyexamples/output/outminus")
В этом примере вычитаются значения второго входного растра из первого.
# Name: Op_Minus_Ex_02.py
# Description: Subtracts the value of the second input raster from the
# value of the first input raster on a cell-by-cell basis
# 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 = Raster("degs")
inRaster2 = Raster("negs")
# Execute Minus
outMinus = inRaster1 - inRaster2
# Save the output
outMinus.save("C:/iapyexamples/output/outminus.tif")