** (Power) operator

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

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

Сводка

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

Иллюстрация

Иллюстрация инструмента Степень
OutRas = Raster("InRas1") ** 2

Описание

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

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

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

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

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

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

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

Синтаксис

in_raster_or_constant1 ** in_raster_or_constant2
ОперандОбъяснениеТип данных
in_raster_or_constant1

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

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

Raster Layer | Constant
in_raster_or_constant2

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

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

Raster Layer | Constant

Значение отраженного сигнала

NameОбъяснениеТип данных
out_raster

Объект выходного растра.

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

Raster

Пример кода

** (Степень) Пример 1 (окно Python)

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPower = Raster("degs") ** Raster("cost")
outPower.save("C:/sapyexamples/output/outpower.img")
** (Степень), пример 2 (автономный скрипт)

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

# Name: Op_Power_Ex_02.py
# Description: Raises the cells in a raster to the power of the values
#              found in another raster
# 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("cost")

# Execute Power
outPower = inRaster1 ** inRaster2

# Save the output 
outPower.save("C:/sapyexamples/output/outpower")

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