TfSymmetricLinear
Краткая информация
Задает функцию преобразования Symmetric Linear, которая определяется по контролирующим форму параметрам minimum и maximum, а также по верхнему и нижнему порогам, задающим диапазон, в котором применяется функция.
Более подробно о влиянии параметров на эту функцию преобразования
Обсуждение
Инструмент, который использует объект TfSymmetricLinear, – это Пересчет по функции (Rescale by Function).
Линейная функция, применяемая между заданными минимальным и максимальным значениями, зеркально отображается вокруг средней точки minimum и maximum. Соответствующее входное значение для зеркально отображенной точки получает наибольшее значение предпочтения (наиболее высокое выходное значение высоты), с линейно уменьшающимися предпочтениями при удалении входных значений от зеркально отображенного значения.
Для создания положительного уклона для функции преобразования задайте значение minimum меньше значения maximum. Для создания отрицательного уклона для функции преобразования задайте значение minimum больше значения maximum.
Важно понимать следующие отношения между параметрами minimum и maximum и порогами:
Если параметр
minimumменьшеmaximum, иminimumбольшеlowerThreshold, любое входное значение, меньшееminimumи большееlowerThresholdв выходном растре получит значениеfromScale.Если параметр
maximumбольшеminimum, иmaximumменьшеupperThreshold, любое входное значение, большеmaximumи меньшеupperThresholdв выходном растре получит значениеtoScale.Если параметр
minimumменьше, чемlowerThreshold, функция будет использовать заданныйminimum. ЕслиlowerThresholdостается равным самому низкому входному значению, аupperThresholdостается равным самому высокому входному значению (которое по умолчанию равно параметруmaximum), самое низкое входное значение будет присвоено оценочному значению, заданному точкой пересечения функцией с осью y (lowerThreshold). В результате, выходное оценочное значение для местоположения входной ячейки, присвоенноеlowerThreshold, будет больше, чем значениеfromScale. Та же логика применяется для наиболее высокого входного значения, если заданныйmaximumбольше, чемupperThreshold.
Диапазон значений функции варьирует от 0 до 1, которые затем преобразуется к оценочной шкале.
Синтаксис
TfSymmetricLinear({minimum}, {maximum}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
| Имя | Объяснение | Тип данных |
|---|---|---|
|
minimum (Дополнительный) |
Начальная точка для функция преобразования SymmetricLinear. Точка зеркального отражения функции определяется средней точкой значений Значение minimum не может быть равно maximum. (Значение по умолчанию — None) |
Double |
|
maximum (Дополнительный) |
Конечная точка для функция преобразования SymmetricLinear. Точка зеркального отражения функции определяется средней точкой значений Значение minimum не может быть равно maximum. (Значение по умолчанию — None) |
Double |
|
lowerThreshold (Дополнительный) |
Задает начальное значение, к которому начинает применяться указанная функция преобразования. Входное значение, соответствующее Значение (Значение по умолчанию — None) |
Double |
|
valueBelowThreshold (Дополнительный) |
Указываемое пользователем значение, которое будет присвоено ячейкам, чьи значения ниже Значение (Значение по умолчанию — None) |
Variant |
|
upperThreshold (Дополнительный) |
Задает конечное значение,на котором заканчивается применение указанной функции преобразования. Входное значение, соответствующее Значение (Значение по умолчанию — None) |
Double |
|
valueAboveThreshold (Дополнительный) |
Указываемое пользователем значение, которое будет присвоено ячейкам, чьи значения выше Значение (Значение по умолчанию — None) |
Variant |
Свойства
| Имя | Объяснение | Тип данных |
|---|---|---|
|
minimum (Чтение / Запись) |
Значение minimum для функции преобразования, задающее начальную точку для функции Symmetric Linear (Симметричная линейная). |
Double |
|
maximum (Чтение / Запись) |
Значение maximum для функции преобразования, задающее конечную точку для функции Symmetric Linear (Симметричная линейная). |
Double |
|
lowerThreshold (Чтение / Запись) |
Значение |
Double |
|
valueBelowThreshold (Чтение / Запись) |
Значение, которое будет присвоено ячейкам выходного растра, чьи значения ниже |
Variant |
|
upperThreshold (Чтение / Запись) |
Значение |
Double |
|
valueAboveThreshold (Чтение / Запись) |
Значение, которое будет присвоено ячейкам выходного растра, чьи значения превышают |
Variant |
Пример кода
Иллюстрирует создание класса TfSymmetricLinear и его использование в инструменте RescaleByFunction в окне Python.
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outRescale = RescaleByFunction("distroads", TfSymmetricLinear(30, 8500, "#", "#", "#", "#"), 1, 10)
outRescale.save("c:/sapyexamples/rescaletfli1")
Иллюстрирует преобразование входных данных с помощью инструмента RescaleByFunction, использующего класс TfSymmetricLinear.
# Name: TfSymmetricLinear_Ex_02.py
# Description: Rescales input raster data using a SymmetricLinear function and
# transforms the function values onto a specified evaluation scale.
# 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 = "distroads"
# Create the TfSymmetricLinear object
minimum = 30
maximum = 8500
lowerthresh = "#"
valbelowthresh = "#"
upperthresh = "#"
valabovethresh = "#"
myTfFunction = TfSymmetricLinear(minimum, maximum, lowerthresh, valbelowthresh, upperthresh, valabovethresh)
# Set evaluation scale
fromscale = 1
toscale = 10
# Run RescaleByFunction
outRescale = RescaleByFunction(inRaster, myTfFunction, fromscale, toscale)
# Save the output
outRescale.save("c:/sapyexamples/rescaletfsl2")