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:
- Especifique el dataset de entrada y los parámetros de función.
- Aplique la fórmula de transformación.
- 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