TfSmall (arcpy.sa)

Краткая информация

Задает функцию преобразования Small, которая определяется по контролирующим форму параметрам midpoint и spread, а также по верхнему и нижнему порогам, задающим диапазон, в котором применяется функция.

Более подробно о влиянии параметров на эту функцию преобразования

Обсуждение

Инструмент, который использует объект TfSmall, – это Пересчет по функции (Rescale by Function).

Уравнение функции преобразования Small:

Уравнение преобразования функции Small

Входные данные для уравнения – это: f1, spread и f2, midpoint.

Диапазон значений функции варьирует от 0 до 1, которые затем преобразуется к оценочной шкале.

Значение spread определяет скорость увеличения и уменьшения значений функции преобразования вокруг средней точки. Если средняя точка находится в диапазоне между верхним и нижним порогом, spread определяет скорость увеличения значений функции от toScale и уменьшения до fromScale. Чем больше значение, тем больше наклон функции у средней точки. Другими словами, при уменьшении значения распределения, значения функции преобразования медленнее достигает средней точки.

Выбор соответствующего значения распределения – это субъективный процесс, который зависит от диапазона входных значений. Следует начинать со значения 5, предлагаемого по умолчанию.

Отрицательные входные значения (меньше нуля) будут присвоены значению оценки, которому в свою очередь присваивается значение 0.

Функция преобразования Small наиболее удобна, если вы хотите, чтобы небольшие входные значения получали более высокие выходные значения высот (предпочтение более низких значений).

Синтаксис

TfSmall ({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
ПараметрОбъяснениеТип данных
midpoint

Задает точку перехода функции преобразования в месте, где кривая становится более вогнутой для значений, меньших чем средняя точка, и более выпуклой для значений, больших чем средняя точка. Сдвиг её в сторону больших, чем середина, значений во входных данных изменяет точку перехода, что приводит к увеличению в диапазоне меньших значений, ниже средней точки, которые являются более предпочтительными, при этом предпочтение увеличивается медленнее.

Значение midpoint не может быть равно 0.

(Значение по умолчанию — None)

Double
spread

Задает разброс функции преобразования Small, управляющий скоростью увеличения и уменьшения значений функции от средней точки. Разброс варьируется в диапазоне от 1 до 10; чем выше его значение, тем гуще распределение вокруг средней точки.

Значения spread должно быть больше 0.

(Значение по умолчанию — 5.0)

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

Свойства

СвойствоОбъяснениеТип данных
midpoint
(чтение и запись)

Значение midpoint для функции преобразования, задающее точку перехода кривой функции.

Double
spread
(чтение и запись)

Значение spread для функции преобразования, управляющее скоростью увеличения и уменьшения значений функции от средней точки.

Double
lowerThreshold
(чтение и запись)

Значение lowerThreshold для функция преобразования, задающее начальное значение, к которому начинает применяться функция преобразования.

Double
valueBelowThreshold
(чтение и запись)

Значение, которое будет присвоено ячейкам выходного растра, чьи значения ниже lowerThreshold.

Variant
upperThreshold
(чтение и запись)

Значение upperThreshold для функция преобразования, задающее конечное значение, к которому начинает применяться функция преобразования.

Double
valueAboveThreshold
(чтение и запись)

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

Variant

Пример кода

Функция преобразования Small, пример 1 (окно Python)

Иллюстрирует создание класса TfSmall и его использование в инструменте RescaleByFunction в окне Python.

import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outRescale = RescaleByFunction("elevation", TfSmall(2475, 4.5, "#", "#", "#", "#"), 1, 10)
outRescale.save("c:/sapyexamples/rescaletfsm1")
Функция преобразования Small, пример 2 (автономный скрипт)

Иллюстрирует преобразование входных данных с помощью инструмента RescaleByFunction, использующего класс TfSmall.

# Name: TfSmall_Ex_02.py
# Description: Rescales input raster data using a Small 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 = "elevation"

# Create the TfSmall object
midpoint = 2475
spread = 4.5
lowerthresh = "#"
valbelowthresh = "#"
upperthresh = "#"
valabovethresh = "#"
myTfFunction = TfSmall(midpoint, spread, 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/rescaletfsm2")

Связанные темы

5/10/2014