Skip to main content

TfMSLarge

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

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

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

Обсуждение

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

Если x – входное значение, для функции MSLarge есть два уравнения, в зависимости от результата произведения a * m:

  • Если x > a * m:

    \(f(x) \space = \space 1 \space - \space (b \space * \space s) \space / \space (x \space - \space (a \space * \space m) \space + \space (b \space * \space s))\)

    • , где:

      x = входное значение

      m = среднее

      s = стандартное отклонение

      a = множитель среднего

      b = множитель стандартного отклонения

      Данные a and b множители являются входными параметрами.

  • Если x <= a * m:

    \(f(x) \space = \space 0\)

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

Функция преобразования MSLarge наиболее удобна, когда предпочтение отдается большим входным значениям, которые будут получать более высокие выходные значения высот.

Результат функция преобразования MSLarge может быть похож на результат использовании функции Large, в зависимости от определения множителей среднего и стандартного отклонения.

Синтаксис

TfMSLarge(meanMultiplier, STDMultiplier, lowerThreshold, valueBelowThreshold, upperThreshold, valueAboveThreshold)

Имя Объяснение Тип данных

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

Пример кода

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

Иллюстрирует создание класса 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")
Функция преобразования MSLarge, пример 2 (автономный скрипт)

Иллюстрирует преобразование входных данных с помощью инструмента 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

# 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

# Run RescaleByFunction
outRescale = RescaleByFunction(inRaster, myTfFunction, fromscale, toscale)

# Save the output
outRescale.save("c:/sapyexamples/rescaletfml2")