- (Вычитание) (arcpy.sa)
Резюме
Вычитает значение второго входного растра из значения первого входного растра по принципу "ячейка-за-ячейкой ".
Рисунок
Обсуждение
При использовании оператора с растровым входом результат будет растром. Но если все входные значения — числа, результат будет числом.
Если в выражении используется несколько операторов, они не обязательно выполняются слева направо. Оператор с высшим значением приоритета будет выполнен первым. Более подробно о приоритете операторов см. в таблице приоритета операторов. Порядок выполнения можно изменить с помощью скобок.
Для этого оператора важен порядок входных данных.
Если оба входных значения целочисленные, выходные значения будут целочисленными; в противном случае выходные значения будут с плавающей точкой.
Другой способ выполнить вычитание – a -= b, что иным способом может быть записано как a = a – b.
Синтаксис
Операнд | Объяснение | Тип данных |
in_raster_or_constant1 |
Входные данные, из которых вычитаются значения вторых входных данных. Если первый набор входных значений является растром, а второй – скаляром, то выходной растр создается с каждым значением входного растра, из которого вычтено значение скаляра. | Raster Layer | Constant |
in_raster_or_constant2 |
Входные значения, вычитаемые из первых входных значений. Если первый набор входных значений является скаляром, а второй – растром, то выходной растр создается с каждым значением входного растра, вычтенным из значения скаляра. | Raster Layer | Constant |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Объект выходного растра. Значения ячеек являются результатом вычитания вторых входных данных из первых. | Raster |
Пример кода
В этом примере вычитаются значения второго входного растра из первого.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outMinus = Raster("degs") - Raster("negs")
outMinus.save("C:/sapyexamples/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: 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 = Raster("degs")
inRaster2 = Raster("negs")
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Minus
outMinus = inRaster1 - inRaster2
# Save the output
outMinus.save("C:/sapyexamples/output/outminus.tif")