TfLarge
Краткая информация
Задает функцию преобразования Large, которая определяется по контролирующим форму параметрам midpoint и spread, а также по верхнему и нижнему порогам, задающим диапазон, в котором применяется функция.
Более подробно о влиянии параметров на эту функцию преобразования
Обсуждение
Инструмент, который использует объект TfLarge, – это Пересчет по функции (Rescale by Function).
Уравнение функции преобразования Large:

Входные данные для уравнения – это: f1, spread и f2, midpoint.
Диапазон значений функции варьирует от 0 до 1, которые затем преобразуется к оценочной шкале.
Значение spread определяет скорость увеличения и уменьшения значений функции преобразования вокруг средней точки. Если средняя точка находится в диапазоне между верхним и нижним порогом, spread определяет скорость увеличения значений функции от toScale и уменьшения до fromScale. Чем больше значение spread, тем больше наклон функции у средней точки. Другими словами, при уменьшении значения распределения, значения функции преобразования медленнее достигает средней точки.
Выбор соответствующего значения распределения – это субъективный процесс, который зависит от диапазона входных значений. Следует начинать со значения 5, предлагаемого по умолчанию.
Отрицательные входные значения (меньше нуля) будут присвоены значению оценки, которому в свою очередь присваивается значение 0.
Функция преобразования Large наиболее удобна, если вы хотите, чтобы большие входные значения получали более высокие выходные значения высот (предпочтение более высоких значений).
Синтаксис
TfLarge({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
| Имя | Объяснение | Тип данных |
|---|---|---|
|
midpoint (Дополнительный) |
Задает точку перехода функции преобразования в месте, где кривая становится более выпуклой для значений, меньших чем средняя точка, и более вогнутой для значений, больших чем средняя точка. Сдвиг средней точки в меньшую сторону, чем средняя точка входных данных, изменяет точку перехода, что приводит к увеличению предпочтения в диапазоне больших значений, при этом предпочтение увеличивается быстрее. Значение midpoint не может быть равно 0. (Значение по умолчанию — None) |
Double |
|
spread (Дополнительный) |
Задает разброс функции преобразования Large, управляющее скоростью увеличения и уменьшения значений функции от средней точки. Разброс варьируется в диапазоне от 1 до 10; чем выше его значение, тем гуще распределение вокруг средней точки. Распределение (spread) должно быть больше 0. (Значение по умолчанию — 5) |
Double |
|
lowerThreshold (Дополнительный) |
Задает начальное значение, к которому начинает применяться указанная функция преобразования. Входное значение, соответствующее Значение (Значение по умолчанию — None) |
Double |
|
valueBelowThreshold (Дополнительный) |
Указываемое пользователем значение, которое будет присвоено ячейкам, чьи значения ниже Значение (Значение по умолчанию — None) |
Variant |
|
upperThreshold (Дополнительный) |
Задает конечное значение,на котором заканчивается применение указанной функции преобразования. Входное значение, соответствующее Значение (Значение по умолчанию — None) |
Double |
|
valueAboveThreshold (Дополнительный) |
Указываемое пользователем значение, которое будет присвоено ячейкам, чьи значения выше Значение (Значение по умолчанию — None) |
Variant |
Свойства
| Имя | Объяснение | Тип данных |
|---|---|---|
|
midpoint (Чтение / Запись) |
Значение |
Double |
|
spread (Чтение / Запись) |
Значение |
Double |
|
lowerThreshold (Чтение / Запись) |
Значение |
Double |
|
valueBelowThreshold (Чтение / Запись) |
Значение, которое будет присвоено ячейкам выходного растра, чьи значения ниже |
Variant |
|
upperThreshold (Чтение / Запись) |
Значение |
Double |
|
valueAboveThreshold (Чтение / Запись) |
Значение, которое будет присвоено ячейкам выходного растра, чьи значения превышают |
Variant |
Пример кода
Иллюстрирует создание класса TfLarge и его использование в инструменте RescaleByFunction в окне Python.
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outRescale = RescaleByFunction("distroads", TfLarge(4075, 4.5, "#", "#", "#", "#"), 1, 10)
outRescale.save("c:/sapyexamples/rescaletfla1")
Иллюстрирует преобразование входных данных с помощью инструмента RescaleByFunction, использующего класс TfLarge.
# Name: TfLarge_Ex_02.py
# Description: Rescales input raster data using a Large 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 TfLarge object
midpoint = 4075
spread = 4.5
lowerthresh = "#"
valbelowthresh = "#"
upperthresh = "#"
valabovethresh = "#"
myTfFunction = TfLarge(midpoint, spread, 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/rescaletfla2")