Доступно с лицензией Spatial Analyst.
Краткая информация
Возводит значения ячеек растра в степень, определяемую значениями другого растра.
Иллюстрация
Описание
При использовании оператора с растровым входом результат будет растром. Но если все входные значения — числа, результат будет числом.
Если в выражении используется несколько операторов, они не обязательно выполняются слева направо. Оператор с высшим значением приоритета будет выполнен первым. Более подробно о приоритете операторов см. в таблице приоритета операторов. Порядок выполнения можно изменить с помощью скобок.
Выходные значения всегда хранятся как значения с плавающей точкой, независимо от типа входных значений.
Другой способ выполнить возведение в степень 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 |
Возвращаемое значение
Название | Объяснение | Тип данных |
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")
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Power
outPower = inRaster1 ** inRaster2
# Save the output
outPower.save("C:/sapyexamples/output/outpower")