* (Multiplication) operator

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

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

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

Перемножает значения двух растров по принципу ячейка-за-ячейкой.

Иллюстрация

Иллюстрация Умножение
OutRas = Raster("InRas1") * Raster("InRas2")

Обсуждение

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

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

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

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

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

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

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

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

Если в обоих входных наборах данных есть одна переменная, но разные названия, задайте переменную геообработки 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"
outTimes = Raster("elevation") * 0.3048
outTimes.save("C:/sapyexamples/output/outtimes")
* (Умножение), пример 2 (автономный скрипт)

В этом примере значения входного растра рельефа умножаются на константу для конвертации значений высоты из метров в футы.

# Name: Op_Times_Ex_02.py
# Description: Multiplies 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
inRaster = Raster("elevation")
inConstant = 0.3048

# Execute Times
outTimes = inRaster * inConstant

# Save the output 
outTimes.save("C:/sapyexamples/output/timesout")

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