Доступно с лицензией Spatial Analyst.
Краткая информация
Задает функцию преобразования Power, которая определяется по контролирующим форму параметрам сдвига и экспоненты, а также по верхнему и нижнему порогам, задающим диапазон, в котором применяется функция.
Более подробно о влиянии параметров на эту функцию преобразования
Обсуждение
Инструмент, который использует объект TfPower, – это Пересчет по функции (Rescale by Function).
Самое высокое положительное значение функции ограничено половиной максимального значения с плавающей точкой одинарной точности (FLT_MAX, значение которого равно 3.402823466 x 1038), т.е. числом 1.701411733 x 1038. Любые входные значения, превышающие этот лимит, получат в выходном растре значение To scale.
Синтаксис
TfPower ({shift}, {exponent}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
Параметр | Объяснение | Тип данных |
shift |
Определяет степень смещения каждого из входных значений. Значение сдвига вычитается из входного значения. Функция преобразования применяется к смещенному входному значению для определения значения функции. По умолчанию сдвиг меняет функцию так, чтобы она начиналась у lowerThreshold (или очень близко к нему). В результате функция будет применена к 0 (смещенное входное значение) и ограничена верхним и нижним порогами. Сдвиг может быть положительным или отрицательным. (Значение по умолчанию — None) | Double |
exponent | Степень увеличения входных значений в функции преобразования. При повышении экспоненты предпочтение больших входных значений увеличивается быстрее. Значение exponent не может быть равно 0 или 1. (Значение по умолчанию — None) | Double |
lowerThreshold | Задает начальное значение, к которому начинает применяться указанная функция преобразования. Входное значение, соответствующее lowerThreshold, присваивается шкале оценки fromScale в выходном растре. Входные значения меньшее lowerThreshold присваиваются значению valueBelowThreshold и не рассматриваются в диапазоне значений функции. Значение lowerThreshold должно быть меньше, чем upperThreshold. (Значение по умолчанию — None) | Double |
valueBelowThreshold | Указываемое пользователем значение, которое будет присвоено ячейкам, чьи значения ниже lowerThreshold. Значение valueBelowThreshold может быть числом с плавающей точкой, целым числом или NoData. В диалоговом окне инструмента вокруг NoData не используются кавычки; однако в скрипте необходимо указывать "NoData" (с кавычками). (Значение по умолчанию — None) | Variant |
upperThreshold | Задает конечное значение,на котором заканчивается применение указанной функции преобразования. Входное значение, соответствующее upperThreshold, присваивается шкале оценки toScale в выходном растре. Входные значения выше upperThreshold присваиваются значению valueAboveThreshold и не рассматриваются в диапазоне значений функции. Значение lowerThreshold должно быть меньше, чем upperThreshold. (Значение по умолчанию — None) | Double |
valueAboveThreshold | Указываемое пользователем значение, которое будет присвоено ячейкам, чьи значения выше upperThreshold. Значение valueAboveThreshold может быть числом с плавающей точкой, целым числом или NoData. В диалоговом окне инструмента вокруг NoData не используются кавычки; однако в скрипте необходимо указывать "NoData" (с кавычками). (Значение по умолчанию — None) | Variant |
Свойства
Свойство | Объяснение | Тип данных |
shift (чтение и запись) |
Значение shift для функция, задающее объем вычитания из каждого входного значения перед применением функции. | Double |
exponent (чтение и запись) |
Значение экспоненты увеличивает входные значения в функции преобразования. | Double |
lowerThreshold (чтение и запись) |
Значение lowerThreshold для функция преобразования, задающее начальное значение, к которому начинает применяться функция преобразования. | Double |
valueBelowThreshold (чтение и запись) |
Значение, которое будет присвоено ячейкам выходного растра, чьи значения ниже lowerThreshold. | Variant |
upperThreshold (чтение и запись) |
Значение upperThreshold для функция преобразования, задающее конечное значение, к которому начинает применяться функция преобразования. | Double |
valueAboveThreshold (чтение и запись) | Значение, которое будет присвоено ячейкам выходного растра, чьи значения превышают upperThreshold. | Variant |
Пример кода
Функция преобразования Power, пример 1 (окно Python)
Иллюстрирует создание класса TfPower и его использование в инструменте RescaleByFunction в окне Python.
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outRescale = RescaleByFunction("distroads", TfPower(-2, 0.27, "#", "#", "#", "#"), 1, 10)
outRescale.save("c:/sapyexamples/rescaletfpo1")
Функция преобразования Power, пример 2 (автономный скрипт)
Иллюстрирует преобразование входных данных с помощью инструмента RescaleByFunction, использующего класс TfPower.
# Name: TfPower_Ex_02.py
# Description: Rescales input raster data using an Power function and
# transforms the function values onto a specified evaluation scale.
# Requirements: Spatial Analyst Extension
# Author: esri
# 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 = "distroads"
# Create the TfPower object
shift = -2
exponent = 0.27
lowerthresh = "#"
valbelowthresh = "#"
upperthresh = "#"
valabovethresh = "#"
myTfFunction = TfPower(shift, exponent, lowerthresh, valbelowthresh, upperthresh, valabovethresh)
# Set evaluation scale
fromscale = 1
toscale = 10
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute RescaleByFunction
outRescale = RescaleByFunction(inRaster, myTfFunction, fromscale, toscale)
# Save the output
outRescale.save("c:/sapyexamples/rescaletfpo2")