Доступно с лицензией Spatial Analyst.
Сводка
Задает функцию преобразования MSLarge, которая определяется по контролирующим форму параметрам множитель среднего и множитель стандартного отклонения, а также по верхнему и нижнему порогам, задающим диапазон, в котором применяется функция.
Более подробно о влиянии параметров на эту функцию преобразования
Описание
Инструмент, который использует объект TfMSLarge, – это Пересчет по функции (Rescale by Function).
Если x – входное значение, для функции MSLarge есть два уравнения, в зависимости от результата произведения a * m:
- Если x > a * m:
f(x) = 1 - (b * s) / (x - (a * m) + (b * s))
- , где:
x = входное значение
m = среднее
s = стандартное отклонение
a = множитель среднего
b = множитель стандартного отклонения
Данные a and b множители являются входными параметрами.
- , где:
- Если x <= a * m:
f(x) = 0
Диапазон значений функции варьирует от 0 до 1, которые затем преобразуется к оценочной шкале.
Функция преобразования MSLarge наиболее удобна, когда предпочтение отдается большим входным значениям, которые будут получать более высокие выходные значения высот.
Результат функция преобразования MSLarge может быть похож на результат использовании функции Large, в зависимости от определения множителей среднего и стандартного отклонения.
Синтаксис
TfMSLarge (meanMultiplier, STDMultiplier, lowerThreshold, valueBelowThreshold, upperThreshold, valueAboveThreshold)
Parameter | Объяснение | Тип данных |
meanMultiplier |
Множитель для среднего значения входных значений в уравнении функции MSLarge. meanMultiplier должен быть больше 0. (Значение по умолчанию — 1.0) | Double |
STDMultiplier | Множитель для стандартного отклонения входных значений в уравнении функции MSLarge. STDMultiplier должен быть больше 0. (Значение по умолчанию — 1.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 |
Свойства
Владение | Объяснение | Тип данных |
meanMultiplier (чтение и запись) |
Значение meanMultiplier для функции преобразования, задающее множитель для среднего в выражении. | Double |
STDMultiplier (чтение и запись) |
Значение STDMultiplier для функции преобразования, задающее множитель стандартного отклонения в выражении функции. | Double |
lowerThreshold (чтение и запись) |
Значение lowerThreshold для функция преобразования, задающее начальное значение, к которому начинает применяться функция преобразования. | Double |
valueBelowThreshold (чтение и запись) |
Значение, которое будет присвоено ячейкам выходного растра, чьи значения ниже lowerThreshold. | Variant |
upperThreshold (чтение и запись) |
Значение upperThreshold для функция преобразования, задающее конечное значение, к которому начинает применяться функция преобразования. | Double |
valueAboveThreshold (чтение и запись) | Значение, которое будет присвоено ячейкам выходного растра, чьи значения превышают upperThreshold. | Variant |
Пример кода
Иллюстрирует создание класса TfMSLarge и его использование в инструменте RescaleByFunction в окне Python.
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outRescale = RescaleByFunction("biomass", TfMSLarge(1.2, 1.25, "#", "#", "#", "#"), 1, 10)
outRescale.save("c:/sapyexamples/rescaletfml1")
Иллюстрирует преобразование входных данных с помощью инструмента RescaleByFunction, использующего класс TfMSLarge.
# Name: TfMSLarge_Ex_02.py
# Description: Rescales input raster data using a MSLarge 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 = "biomass"
# Create the TfMSLarge object
meanmult = 1.2
stdmult = 1.25
lowerthresh = "#"
valbelowthresh = "#"
upperthresh = "#"
valabovethresh = "#"
myTfFunction = TfMSLarge(meanmult, stdmult, lowerthresh, valbelowthresh, upperthresh, valabovethresh)
# Set evaluation scale
fromscale = 1
toscale = 10
# Execute RescaleByFunction
outRescale = RescaleByFunction(inRaster, myTfFunction, fromscale, toscale)
# Save the output
outRescale.save("c:/sapyexamples/rescaletfml2")