Формулы для функций преобразования

В этом разделе будут описаны формулы, используемые для функций преобразования в инструменте Пересчет по функции. Формулы функции преобразования представлены в виде выражений Алгебры карт Spatial Analyst.

Определяется общая формула для каждой функции преобразования. По умолчанию общая формула изменяется, для соответствия минимуму (lowerThreshold) и максимуму (upperThreshold) входного набора данных. Как определяются параметры по умолчанию, также показано ниже.

Используя общую формулу, можно задать любое количество функциональных кривых и захватить любую часть функциональной кривой. В версии формулы по умолчанию для функции существует только одна кривая, которая соответствует минимуму и максимуму входного набора данных. В результате, в дополнение к применению линейного масштабирования преобразованных значений, данные, представленные в разных единицах измерения, таких как градусы Цельсия или Фаренгейта, будут давать одинаковые выходные оценочные значения.

Применение функции преобразования

В общем виде шаги для применения функции преобразования заключаются в следующем:

  1. Задание входного набора данных и параметров функции.
  2. Применение формулы преобразования.
  3. Линейное масштабирование преобразованных значений к оценочной шкале.

Уравнение линейного преобразования, используемое для масштабирования преобразованных значений до шкалы оценки из шага 3 выше, выглядит следующим образом.

ScaledY = fromScale + (Y - min(Y)) * r

, где:

  • Y = F(In) является преобразованным значением с формулой F, которое показано в следующих общих формах:
  • In - входное значение
  • r - результат (toScale - fromScale) / (max(Y) - min(Y))
  • min(Y) - минимальное значение Y
  • max(Y) - максимальное значение Y
  • fromScale - минимальное значение шкалы оценки (например, 1)
  • toScale - максимальное значение шкалы оценки (например, 10)

Экспоненциальная

Ниже приведены формулы и значения по умолчанию для функции преобразования Экспоненциальная.

Общая форма

Общая форма этой формулы выглядит так:

Exp((In – inShift) * baseFactor)

, где:

  • In - входное значение
  • inShift - значение, вычитаемое из входных значений
  • baseFactor - множитель для смещенных входных значений, который определяет, насколько резко увеличивается экспоненциальная функция

Значения по умолчанию

Значения inShift и baseFactor по умолчанию вычисляются так.

inShift = Con(toScale > fromScale, A, B)
baseFactor = Con(toScale > fromScale, C, D)

, где:

  • A = (minIn * Ln(toScale) - maxIn * Ln(fromScale)) / (Ln(toScale) - Ln(fromScale))
  • B = (minIn * Ln(fromScale) - maxIn * Ln(toScale)) / (Ln(fromScale) - Ln(toScale))
  • C = (Ln(toScale) - Ln(fromScale)) / (maxIn - minIn)
  • D = (Ln(fromScale) - Ln(toScale)) / (maxIn - minIn)
  • Ln - логарифм значения по основанию e
  • minIn - минимальное из входных значений
  • maxIn - максимальное из входных значений

Гауссова

Ниже приведены формулы и значения по умолчанию для функции преобразования Гауссова.

Общая форма

Общая форма этой формулы выглядит так:

Exp(-Spread * Square(In - MidPoint))

, где:

  • Spread - параметр разброса, который управляет крутизной спада от средней точки
  • In - входное значение
  • MidPoint - параметр средней точки, который определяет центр гауссовой кривой

Значения по умолчанию

Значения Spread и MidPoint по умолчанию вычисляются так.

Spread = Ln(10) * 4 / Pow(MidPoint - minIn, 2)
MidPoint = (maxIn + minIn) / 2

, где:

  • Ln(10) - логарифм 10 с основанием e
  • Pow(MidPoint - minIn, 2) - значение MidPoint - minIn в степени 2
  • minIn - минимальное из входных значений
  • maxIn - максимальное из входных значений

Большой

Ниже приведены формулы и значения по умолчанию для функции преобразования Большой.

Общая форма

Общая форма этой формулы выглядит так:

1.0 / (1.0 + Pow(In / MidPoint, - Spread))

, где:

  • In - входное значение
  • MidPoint - параметр средней точки, который определяет точку перехода функции
  • Spread - параметр разброса, который контролирует, как быстро возрастает и убывает предпочтение

Значения по умолчанию

Значения Spread и MidPoint по умолчанию вычисляются так.

Spread = 5
MidPoint = (maxIn + minIn) / 2

, где:

  • minIn - минимальное из входных значений
  • maxIn - максимальное из входных значений

Линейная

Ниже приведены формулы и значения по умолчанию для функции преобразования Линейная.

Общая форма

Ниже приведены общие формы формулы в зависимости от типа уклона:

Положительный уклон (Min < Max):

Con(In < Min, 0, Con(In > Max, 1, (In - Min) / Diff))

Отрицательный уклон (Min > Max):

Con(In > Min, 0, Con(In < Max, 1, (In - Min) / Diff))

, где:

  • In - входное значение
  • Min - заданный минимум, который устанавливает первую точку, через которую должна пройти линейная функция
  • Max - заданный максимум, который устанавливает вторую точку, через которую должна пройти линейная функция
  • Diff равно Max - Min

Значения по умолчанию

Значения Min и Max по умолчанию вычисляются так.

Min = minIn
Max = maxIn

, где:

  • minIn - минимальное из входных значений
  • maxIn - максимальное из входных значений

Логарифм

Ниже приведены формулы и значения по умолчанию для функции преобразования Логарифм.

Общая форма

Общая форма этой формулы выглядит так:

Ln((In – inShift) * baseFactor)

, где:

  • In - входное значение
  • InShift - значение, вычитаемое из входных значений
  • baseFactor - множитель сдвинутых входных значений, который управляет увеличением логарифмической функции

Значения по умолчанию

Значения inShift и baseFactor по умолчанию вычисляются так.

inShift = Con(toScale > fromScale, A, B)
baseFactor = Con(toScale > fromScale, C, D)

, где:

  • A = (minIn * Exp(toScale) - maxIn * Exp(fromScale)) / (Exp(toScale) - Exp(fromScale))
  • B = (minIn * Exp(fromScale) - maxIn * Exp(toScale)) / (Exp(fromScale) - Exp(toScale))
  • C = (Exp(toScale) - Exp(fromScale)) / (maxIn - minIn)
  • D = (Exp(fromScale) - Exp(toScale)) / (maxIn - minIn)
  • Exp - экспонента значения с основанием e
  • minIn - минимальное из входных значений
  • maxIn - максимальное из входных значений

LogisticDecay

Ниже приведены формулы для функции преобразования Логистическое снижение.

Общая форма

Общая форма этой формулы выглядит так:

C / (1 + A * Exp((In – Min) * B))

Определения параметров формулы такие же, как в LogisticGrowth.

Примечание:

В уравнении LogisticGrowth вычисления Exponential определяются из отрицательного значения вычисления экспоненциального: Exp( - (In - Min) * B).

LogisticGrowth

Ниже приведены формулы и значения по умолчанию для функции преобразования Логистический рост.

Общая форма

Общая форма этой формулы выглядит так:

C / (1 + A * Exp( - (In – Min) * B))

, где:

  • Min - заданный минимум, который контролирует начальную точку логистического роста
  • C - емкость или верхняя горизонтальная асимптота
  • A определяет перехват, когда In = Min
  • B определяет основание экспоненциальной функции Exp

Значения по умолчанию

Значения C, A и B по умолчанию определяются так.

C = 100
A = C / yInterceptPercent - 1
B = Ln(A) / (0.5 * (Max + Min) - Min)

, где:

  • yInterceptPercent - процент перехвата y, деленный на C, который установлен на 1 для LogisticGrowth и на 99 для LogisticDecay по умолчанию
  • Min - заданный минимум, который по умолчанию установлен на минимальное значение ввода
  • Max - заданный максимум, который по умолчанию установлен на максимальное значение ввода
  • Ln(A) - логарифм A по основанию e
  • 0.5 * (Max + Min) - координата x точки перегиба y = C / 2, которая создает точку перегиба в середине Min и Max

MSLarge

Ниже приведены формулы и значения по умолчанию для функции преобразования MSLarge.

Общая форма

Общая форма этой формулы выглядит так:

Con(In > nMeans, 1 - (nStdv / (In - nMeans + nStdv)), 0)

, где:

  • In - входное значение
  • nMeans равно meanMultiplier * mean
  • nStdv равно STDMultiplier * std, где std относится к стандартному отклонению среди всего населения

Значения по умолчанию

Для meanMultiplier и STDMultiplier по умолчанию задается 1.

MSSmall

Ниже приведены формулы и значения по умолчанию для функции преобразования MSSmall.

Общая форма

Общая форма этой формулы выглядит так:

Con(In > nMeans, nStdv / (In - nMeans + nStdv), 1)

, где:

  • In - входное значение
  • nMeans равно meanMultiplier * mean
  • nStdv равно STDMultiplier * std, где std относится к стандартному отклонению среди всего населения

Значения по умолчанию

Для meanMultiplier и STDMultiplier по умолчанию задается 1.

Ближайший объект

Ниже приведены формулы и значения по умолчанию для функции преобразования Near.

Общая форма

Общая форма этой формулы выглядит так:

1.0 / (1.0 + Spread * Pow(In - MidPoint, 2))

, где:

  • In - входное значение
  • Spread - параметр разброса, который управляет крутизной спада от средней точки
  • MidPoint - параметр средней точки, который определяет центр кривой

Значения по умолчанию

Значения Spread и MidPoint по умолчанию вычисляются так.

Spread = 36 / Pow(MidPoint - minIn, 2)
MidPoint = (maxIn + minIn) / 2

, где:

  • Pow(MidPoint - minIn, 2) - значение MidPoint - minIn в степени 2
  • minIn - минимальное из входных значений
  • maxIn - максимальное из входных значений

Степенная

Ниже приведены формулы и значения по умолчанию для функции преобразования Степенная.

Общая форма

Общая форма этой формулы выглядит так:

Pow(In – inShift, Exponent)

, где:

  • In - входное значение
  • inShift - значение, вычитаемое из входных значений
  • Exponent - экспонента, к которой повышается функция

Значения по умолчанию

Значения inShift и Exponent по умолчанию вычисляются так.

inShift = Con(toScale > fromScale, A, B)

, где:

  • A = Con(fromScale == 1, minIn - 1, minIn)
  • B = Con(toScale == 1, minIn - 1, minIn)
  • minIn - минимальное из входных значений
  • maxIn - максимальное из входных значений

Exponent = Con(toScale > fromScale, C, D)

, где:

  • C = Con(fromScale == 0, C1, Con(fromScale == 1, C2, 2))
  • C1 = Con(toScale <= 1, 1, Ln(toScale) / (maxIn - inShift))
  • C2 = Ln(toScale) / Ln(maxIn - inShift)
  • D = Con(toScale == 0, D1, Con(toScale == 1, D2, 2))
  • D1 = Con(fromScale <= 1, 1, Ln(fromScale) / (maxIn - inShift))
  • D2 = Ln(fromScale) / Ln(maxIn - inShift)
  • Ln - логарифм значения по основанию e
  • minIn - минимальное из входных значений
  • maxIn - максимальное из входных значений

Маленький

Ниже приведены формулы и значения по умолчанию для функции преобразования Малый.

Общая форма

Общая форма этой формулы выглядит так:

1.0 / (1.0 + Pow(In / MidPoint, Spread))

, где:

  • In - входное значение
  • MidPoint - параметр средней точки, который определяет точку перехода функции
  • Spread - параметр разброса, который контролирует, как быстро возрастает и убывает предпочтение

Значения по умолчанию

Значения Spread и MidPoint по умолчанию вычисляются так.

Spread = 5
MidPoint = (maxIn + minIn) / 2

, где:

  • minIn - минимальное из входных значений
  • maxIn - максимальное из входных значений

SymmetricLinear

Ниже приведены формулы и значения по умолчанию для функции преобразования Симметричный линейный.

Общая форма

Общие формы формулы для различных типов уклонов следующие.

Для положительных уклонов (Min < Max):

Con(In < Min , 0, Con(In < MidP, (In - Min) / HDiff, Con(In > Max, 0, (Max - In) / HDiff)))

Для отрицательных уклонов (Min > Max):

Con(In < Max, 1, Con(In < MidP, (In - MidP) / HDiff, Con(In > Min, 1, (MidP - In) / HDiff)))

, где:

  • In - входное значение
  • Min - заданный минимум, устанавливающий одну точку, через которую должна пройти функция SymmetricLinear
  • Max - заданный максимум, устанавливающий другую точку, через которую должна пройти функция SymmetricLinear
  • Diff равно Max - Min
  • HDiff равно 0.5 * Diff
  • MidP равно Min + HDiff

Значения по умолчанию

Значения Min и Max по умолчанию вычисляются так.

Min = minIn
Max = maxIn

, где:

  • minIn - минимальное из входных значений
  • maxIn - максимальное из входных значений

Связанные разделы