Skip to main content

TfMSSmall

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

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

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

Обсуждение

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

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

  • Если x > a * m:

    \(f(x) \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, которые затем преобразуется к оценочной шкале.

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

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

Синтаксис

TfMSSmall({meanMultiplier}, {STDMultiplier}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})

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

meanMultiplier

(Дополнительный)

Множитель для среднего значения входных значений в уравнении функции MSSmall.

meanMultiplier должен быть больше 0.

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

Double

STDMultiplier

(Дополнительный)

Множитель для стандартного отклонения входных значений в уравнении функции MSSmall.

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

Пример кода

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

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

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

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

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

# Create the TfMSSmall object
meanmult = 1.5
stdmult = 1.75
lowerthresh = "#"
valbelowthresh = "#"
upperthresh = "#"
valabovethresh = "#"
myTfFunction = TfMSSmall(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/rescaletfms2")