Fórmulas para las funciones de transformación

Disponible con una licencia de Spatial Analyst.

Las fórmulas utilizadas para las funciones de transformación en la herramienta Re-escalar por función se explicarán en esta sección. Las fórmulas de las funciones de transformación se presentan como expresiones de álgebra de mapas de Spatial Analyst.

Se identifica la fórmula general para cada función de transformación. De forma predeterminada, la fórmula general se modifica para ajustarla al mínimo (lowerThreshold) y al máximo (upperThreshold) del dataset de entrada. La manera en que se determinan los parámetros predeterminados también se presenta a continuación.

Con la fórmula general, se puede definir cualquier número de curvas de función y se puede capturar cualquier parte de la curva de la función. En la versión predeterminada de la fórmula, solo hay una curva para la función que se ajuste al mínimo y al máximo del dataset de entrada. Como resultado, además de aplicar la escala lineal de los valores transformados, los datos representados en diferentes unidades, como Celsius o Fahrenheit, generarán los mismos valores de evaluación de salida.

Aplicar una función de transformación

Conceptualmente, los pasos para aplicar una función de transformación son los siguientes:

  1. Especifique el dataset de entrada y los parámetros de función.
  2. Aplique la fórmula de transformación.
  3. Escale linealmente los valores transformados a la escala de evaluación.

La ecuación de transformación lineal utilizada para escalar los valores transformados a la escala de evaluación en el paso 3 anterior es la siguiente.

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

donde:

  • Y = F(In) es el valor transformado con la fórmula F, que se muestra en las siguientes formas generales:
  • In es el valor de entrada
  • r es el resultado de (toScale - fromScale) / (max(Y) - min(Y))
  • min(Y) es el valor mínimo de Y
  • max(Y) es el valor máximo de Y
  • fromScale es el mínimo de la escala de evaluación (por ejemplo, 1)
  • toScale es el máximo de la escala de evaluación (por ejemplo, 10)

Exponencial

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación Exponencial.

Forma general

La forma general de la fórmula es la siguiente.

Exp((In – inShift) * baseFactor)

donde:

  • In es el valor de entrada
  • inShift es el valor que se resta de los valores de entrada
  • baseFactor es un multiplicador de los valores de entrada desplazados, que controla cuán deprisa aumenta la función exponencial

Valores predeterminados

Los valores predeterminados de inShift y baseFactor se calculan de la siguiente manera.

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

donde:

  • 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 es el logaritmo de un valor con base e
  • minIn es el mínimo de la entrada
  • maxIn es el máximo de la entrada

Gaussiano

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación Gaussiano.

Forma general

La forma general de la fórmula es la siguiente.

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

donde:

  • Spread es el parámetro de expansión, que controla con qué rapidez se produce el decaimiento desde el punto medio
  • In es el valor de entrada
  • MidPoint es el parámetro de punto medio, que define el centro de la curva gaussiana

Valores predeterminados

Los valores predeterminados de Spread y MidPoint se calculan de la siguiente manera.

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

donde:

  • Ln(10) es el logaritmo de 10 con base e
  • Pow(MidPoint - minIn, 2) es el valor de MidPoint - minIn a la potencia de 2
  • minIn es el mínimo de la entrada
  • maxIn es el máximo de la entrada

Grande

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación Grande.

Forma general

La forma general de la fórmula es la siguiente.

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

donde:

  • In es el valor de entrada
  • MidPoint es el parámetro de punto medio, que define el punto de transición de la función
  • Spread es el parámetro de expansión, que controla con qué rapidez aumenta y disminuye la preferencia

Valores predeterminados

Los valores predeterminados de Spread y MidPoint se calculan de la siguiente manera.

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

donde:

  • minIn es el mínimo de la entrada
  • maxIn es el máximo de la entrada

Lineal

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación Lineal.

Forma general

A continuación, se indican las formas generales de la fórmula según el tipo de pendiente:

Pendiente positiva (Min < Max):

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

Pendiente negativa (Min > Max):

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

donde:

  • In es el valor de entrada
  • Min es el mínimo especificado, que establece el primer punto por el cual debe pasar la función Lineal
  • Max es el máximo especificado, que establece el segundo punto por el cual debe pasar la función Lineal
  • Diff es igual a Max - Min

Valores predeterminados

Los valores predeterminados de Min y Max se calculan de la siguiente manera.

Min = minIn
Max = maxIn

donde:

  • minIn es el mínimo de la entrada
  • maxIn es el máximo de la entrada

Logaritmo

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación Logaritmo.

Forma general

La forma general de la fórmula es la siguiente.

Ln((In – inShift) * baseFactor)

donde:

  • In es el valor de entrada
  • InShift es el valor que se resta de los valores de entrada
  • baseFactor es el multiplicador de los valores de entrada desplazados, que controla el aumento de la función logarítmica

Valores predeterminados

Los valores predeterminados de inShift y baseFactor se calculan de la siguiente manera.

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

donde:

  • 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 es el exponencial de un valor con base e
  • minIn es el mínimo de la entrada
  • maxIn es el máximo de la entrada

LogisticDecay

A continuación, se muestran las fórmulas de la función de transformación Decaimiento logístico.

Forma general

La forma general de la fórmula es la siguiente.

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

Las definiciones de los parámetros de la fórmula son las mismas que las de LogisticGrowth.

Nota:

En la ecuación LogisticGrowth, los cálculos Exponential se determinan a partir del negativo del valor para calcular el exponencial: Exp( - (In - Min) * B).

LogisticGrowth

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación Crecimiento logístico.

Forma general

La forma general de la fórmula es la siguiente.

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

donde:

  • Min es el mínimo especificado, que controla el punto de inicio del crecimiento logístico
  • C es la capacidad o asíntota horizontal superior
  • A determina la intercepción cuando In = Min
  • B determina la base de la función exponencial Exp

Valores predeterminados

Los valores predeterminados de C, A y B se determinan de la siguiente manera.

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

donde:

  • yInterceptPercent es el porcentaje de intercepción y dividido por C, que está establecido en 1 para LogisticGrowth y 99 para LogisticDecay de manera predeterminada
  • Min es el mínimo especificado, que se establece en el valor mínimo de la entrada de forma predeterminada
  • Max es el máximo especificado, que se establece en el valor máximo de la entrada de forma predeterminada
  • Ln(A) es el logaritmo de A con base e
  • 0.5 * (Max + Min) es la coordenada x del punto de inflexión y = C / 2, lo cual hace que el punto de inflexión esté entre Min y Max

MSLarge

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación MSLarge.

Forma general

La forma general de la fórmula es la siguiente.

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

donde:

  • In es el valor de entrada
  • nMeans es igual a meanMultiplier * valor medio
  • nStdv es igual a STDMultiplier * std, donde std se refiere a la desviación estándar entre toda la población

Valores predeterminados

Tanto meanMultiplier como STDMultiplier se establecen en 1 de forma predeterminada.

MSSmall

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación MSSmall.

Forma general

La forma general de la fórmula es la siguiente.

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

donde:

  • In es el valor de entrada
  • nMeans es igual a meanMultiplier * valor medio
  • nStdv es igual a STDMultiplier * std, donde std se refiere a la desviación estándar entre toda la población

Valores predeterminados

Tanto meanMultiplier como STDMultiplier se establecen en 1 de forma predeterminada.

Cerca

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación Cerca.

Forma general

La forma general de la fórmula es la siguiente.

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

donde:

  • In es el valor de entrada
  • Spread es el parámetro de expansión, que controla con qué rapidez se produce el decaimiento desde el punto medio
  • MidPoint es el parámetro de punto medio, que define el centro de la curva

Valores predeterminados

Los valores predeterminados de Spread y MidPoint se calculan de la siguiente manera.

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

donde:

  • Pow(MidPoint - minIn, 2) es el valor de MidPoint - minIn a la potencia de 2
  • minIn es el mínimo de la entrada
  • maxIn es el máximo de la entrada

Potencia

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación Potencia.

Forma general

La forma general de la fórmula es la siguiente.

Pow(In – inShift, Exponent)

donde:

  • In es el valor de entrada
  • inShift es el valor que se resta de los valores de entrada
  • Exponent es el exponente al que elevar la función

Valores predeterminados

Los valores predeterminados de inShift y Exponent se calculan de la siguiente manera.

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

donde:

  • A = Con(fromScale == 1, minIn - 1, minIn)
  • B = Con(toScale == 1, minIn - 1, minIn)
  • minIn es el mínimo de la entrada
  • maxIn es el máximo de la entrada

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

donde:

  • 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 es el logaritmo de un valor con base e
  • minIn es el mínimo de la entrada
  • maxIn es el máximo de la entrada

Pequeño

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación Pequeño.

Forma general

La forma general de la fórmula es la siguiente.

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

donde:

  • In es el valor de entrada
  • MidPoint es el parámetro de punto medio, que define el punto de transición de la función
  • Spread es el parámetro de expansión, que controla con qué rapidez aumenta y disminuye la preferencia

Valores predeterminados

Los valores predeterminados de Spread y MidPoint se calculan de la siguiente manera.

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

donde:

  • minIn es el mínimo de la entrada
  • maxIn es el máximo de la entrada

SymmetricLinear

A continuación, se indican las fórmulas y los valores predeterminados de la función de transformación Lineal simétrica.

Forma general

Las formas generales de la fórmula para diferentes tipos de pendientes son las siguientes.

Para pendientes positivas (Min < Max):

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

Para pendientes de pendiente negativa (Min > Max):

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

donde:

  • In es el valor de entrada
  • Min es el mínimo especificado, que establece un punto por el cual debe pasar la función SymmetricLinear
  • Max es el máximo especificado, que establece el otro punto por el cual debe pasar la función SymmetricLinear
  • Diff es igual a Max - Min
  • HDiff es igual a 0.5 * Diff
  • MidP es igual a Min + HDiff

Valores predeterminados

Los valores predeterminados de Min y Max se calculan de la siguiente manera.

Min = minIn
Max = maxIn

donde:

  • minIn es el mínimo de la entrada
  • maxIn es el máximo de la entrada

Temas relacionados