+ (Addition) operator

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

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

Краткая информация

Складывает (суммирует) значения двух растров по принципу ячейка-за-ячейкой.

Иллюстрация

Иллюстрация Плюс
OutRas = Raster("InRas1") + Raster("InRas2")

Обсуждение

При использовании оператора с растровым входом результат будет растром. Но если все входные значения — числа, результат будет числом.

Если в выражении используется несколько операторов, они не обязательно выполняются слева направо. Оператор с высшим значением приоритета будет выполнен первым. Более подробно см. в таблице приоритета операторов в разделе Работа с операторами в Алгебре карт. Порядок выполнения можно изменить с помощью скобок.

Для этого оператора не важен порядок входных данных.

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

Другой способ выполнить сложение – a += b, что иным способом может быть записано как a = a + b.

Если оба входных растра одноканальные либо входные данные - одноканальный растр и константа, выходной растр будет одноканальным.

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

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

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

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

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

Параметры

ОперандОписаниеТип данных
in_raster_or_constant1

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

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

Raster Layer | Constant
in_raster_or_constant2

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

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

Raster Layer | Constant

Пример кода

+ (Сложение) Пример 1 (окно Python)

В данном примере складываются два входных растра.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPlus = Raster("degs") + Raster("negs")
outPlus.save("C:/sapyexamples/output/outplus.img")
+ (Сложение), пример 2 (автономный скрипт)

В данном примере складываются два входных растра.

# Name: Op_Plus_Ex_02.py
# Description: Adds the values of two rasters 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("cost")
inRaster2 = Raster("degs")

# Execute Plus
outPlus = inRaster1 + inRaster2

# Save the output 
outPlus.save("C:/sapyexamples/output/outplus")

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