Disponible con una licencia de Spatial Analyst.
Resumen
Re-escala los valores ráster de entrada mediante la aplicación una función de transformación seleccionada y la transformación de los valores de función resultantes a una escala de evaluación continua especificada.
Descripción detallada de cómo funciona Re-escalar por función
Uso
La ventaja principal de usar esta herramienta frente a otros métodos de reclasificación es el mayor nivel de control sobre cómo se reclasifican los valores de entrada.
- Acepta y procesa directamente valores de entrada continuos sin necesidad de agrupar los valores en categorías.
- Permite aplicar funciones lineales y no lineales a los datos de entrada.
- Re-escala los valores de entrada sobre una escala de evaluación continua en punto flotante.
Para entender las descripciones siguientes puede resultar útil revisar el vocabulario esencial relacionado con esta herramienta.
Conceptualmente, re-escalar datos de entrada sobre una escala continua es un proces en dos pasos:
- Aplicar la función especificada a los valores del ráster de entrada.
- Transformar linealmente los valores de la función a una escala de evaluación especificada. En una escala de evaluación ascendente, a los valores mínimo y máximo se les asignan el mínimo (Escala Desde) y el máximo (Escala Hasta) de la escala de evaluación respectivamente. No obstante, la escala de evaluación también se puede invertir para obtener una escala descendente.
La ilustración siguiente muestra un ejemplo de gráfico de la función Potencia para presentar los conceptos y la terminología generales asociados a la aplicación de una función de transformación.
El rango de los datos de entrada de este ejemplo va de 3.000 a 5.000. El valor mínimo del ráster de entrada se considera el valor de Umbral inferior y el máximo el valor de Umbral superior (como se ve en el eje X), y la función Potencia está restringida (ajustada) entre los umbrales. Los parámetros de control de la forma definen la forma de la función (como Desplazamiento de entrada y Exponente de la función Potencia), lo cual permite controlar dónde empieza la función y con qué rapidez crece. A continuación, los valores resultantes de la función Potencia se transforman linealmente a la escala de evaluación para asignarles los valores de salida. En el gráfico anterior, se ha definido una escala de evaluación del 1 al 10 utilizando los parámetros Escala Desde y Escala Hasta, tal como se puede ver en el eje y.
De forma predeterminada, el valor mínimo de Ráster de entrada se asigna al Umbral inferior y el valor máximo al Umbral superior.
De forma predeterminada, la función especificada se limita (ajusta) entre los umbrales inferior y superior, si es posible, utilizando los valores de Ráster de entrada. La forma de ajuste de la función entre los umbrales inferior y superior depende de la función de transformación específica que se utilice del modo siguiente:
- Las funciones Lineal y Lineal simétrica, por definición, se ajustan de tal modo que el máximo y el mínimo de las funciones correspondan al mínimo (umbral inferior) y el máximo (umbral superior) de Ráster de entrada.
- Se aplica una versión ajustada de las funciones Exponencial y Logaritmo a los valores de Ráster de entrada.
- De Ráster de entrada se derivan tantos parámetros como sea posible (por ejemplo, Punto medio, Factor y Desplazamiento de entrada) con el fin de lograr el mejor ajuste en las funciones Gaussiano, Cercano, Pequeño, Baja difusa ME, Grande, Alta difusa ME, Potencia, Crecimiento logístico y Decaimiento logístico.
Si se modifican los valores de Umbral inferior y Umbral superior, se producen las interacciones siguientes:
- Si una celda de entrada tiene un valor menor que Umbral inferior, se le asigna el valor establecido en el parámetro Valor por debajo del umbral.
- Si una celda de entrada tiene un valor mayor que Umbral superior, se le asigna el valor establecido en el parámetro Valor por encima del umbral.
- A todos los valores de celda entre Umbral inferior y Umbral superior, ambos inclusive, se les asigna la escala de evaluación que corresponda a su valor de función, f(x). En algunos casos, al modificar un parámetro de control de la forma (como Expandir y Exponente), es posible que el ráster de salida no tenga ninguna celda con los valores de Escala Desde o Escala Hasta.
De forma predeterminada, los parámetros que definen la forma de la función (por ejemplo Expandir o Factor base) se calculan para obtener el mejor ajuste (restricción) de la función al mínimo y el máximo de Ráster de entrada. No obstante, los parámetros de control de la forma se pueden modificar para refinar el ajuste de la función a la interacción de preferencia del fenómeno a los valores del criterio. Al especificar un valor para cualquier parámetro de control de la forma, la función resultante, junto con los valores de umbral inferior y superior, se utiliza para re-escalar los valores de Ráster de entrada. No se utiliza la versión ajustada de la función.
Escala Desde y Escala Hasta definen los valores inferior y superior de la escala continua de evaluación. Al valor mínimo de la función se le asigna el valor establecido para Escala Desde, y al máximo se le asigna el valor establecido en Escala Hasta. A todos los valores intermedios de la función se les asignan los valores de evaluación que les correspondan.
La escala de evaluación se puede ajustar a un rango de menor a mayor (por ejemplo, del 1 al 10) o de mayor a menor (por ejemplo, del 10 al 1).
Los valores de Valor por debajo del umbral y Valor por encima del umbral se asignan a todas las celdas que contengan un valor de entrada por debajo o por encima de los umbrales respectivamente. Estos valores se asignan directamente al ráster de salida final y no se tienen en cuenta a la hora de procesar la función de transformación.
En el cuadro de diálogo de la herramienta, generalmente al modificar Umbral inferior o Umbral superior, los parámetros de definición de la forma de la función, por ejemplo Expandir o Factor base, se recalculan automáticamente. Sin embargo, al cambiar un parámetro de control de la forma, los valores de Umbral inferior y Umbral superior no cambian automáticamente, y si se modifican Umbral inferior o Umbral superior posteriormente, los parámetros de control de la forma (y cualquier otro parámetro asociado a ellos) permanecerán con el valor modificado y no se volverán a calcular.
Los parámetros de control de la forma para la función (por ejemplo, Expandir o Factor base) y los umbrales inferior y superior se basan en estadísticas calculadas para la extensión, el tamaño de celda y la alineación de ráster establecidas para el procesamiento actual. Si no se ha establecido ninguno de estos elementos, se utilizan las estadísticas de la extensión completa del ráster de entrada.
En el cuadro de diálogo de la herramienta, si el ráster de entrada no dispone de estadísticas válidas para calcular los parámetros de control de la forma o determinar los umbrales, estos parámetros aparecerán vacíos y se mostrará un mensaje de advertencia. Para rellenar los parámetros, deberá hacer clic en el botón Calcular estadísticas con el fin de volver a calcular las estadísticas correspondientes a la configuración del entorno actual. El valor predeterminado de Umbral inferior será el valor mínimo dentro de la extensión de procesamiento y Umbral superior será el valor máximo, junto con valores de parámetros de control de forma determinados adecuadamente. Es posible que no se obtengan estadísticas válidas en las situaciones siguientes:
- La extensión de procesamiento, el tamaño de celda o la alineación del ráster del entorno se han establecido antes de abrir el cuadro de diálogo de la herramienta.
- El ráster de entrada no contiene estadísticas.
En el cuadro de diálogo, si la extensión de procesamiento, el tamaño de celda o la alineación del ráster cambian después de introducir un ráster de entrada y especificar una función, los parámetros de la función pueden aparecer vacíos (sin valor en los parámetros). Haga clic en el botón Calcular estadísticas para volver a rellenar los parámetros con el fin de ver los valores de la nueva extensión. Si se modifica el valor de Umbral inferior, Umbral superior o cualquier otro parámetro de control de la forma escribiendo un valor, la herramienta sabrá que los parámetros se han modificado. Si se modifica la extensión de procesamiento, los valores de estos parámetros permanecerán como estén especificados después de pulsar el botón Calcular estadísticas.
Es posible aplicar distintas funciones a distintos rangos del ráster de entrada. Para ello, es necesario concatenar las funciones ejecutando Re-escalar por función más de una vez, especificando primero una función de transformación sobre cierto rango de los valores de entrada y después aplicando una nueva función sobre otro rango de valores distinto. A continuación, se combinan los rásteres resultantes. Por ejemplo
- Ejecute Re-escalar por función aplicando una función lineal a los valores de entrada entre 1.500 y 3.200 y asigne 0 a los valores por encima y por debajo de los umbrales.
- Ejecute la herramienta por segunda vez sobre el mismo ráster de entrada. Esta vez, aplique la función Exponencial a los valores mayores que 3.200 y hasta 5.000, y asigne 0 a los valores por encima y debajo del umbral.
- Sume los dos rásteres resultantes con la herramienta Suma.
Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento válidos para esta herramienta.
Sintaxis
RescaleByFunction (in_raster, {transformation_function}, {from_scale}, {to_scale})
Parámetro | Explicación | Tipo de datos |
in_raster | Ráster de entrada para re-escalar. | Raster Layer |
transformation_function (Opcional) | Especifica la función continua para transformar el ráster de entrada. Las clases de función de transformación se utilizan para especificar el tipo de función de transformación. Los tipos de clases de funciones de transformación son
La función de transformación que se debe usar depende de cuál de ellas representa mejor la interacción de la preferencia del fenómeno con los valores de entrada. Para entender mejor cómo afectan los umbrales inferior y superior a los valores de salida, y obtener más información sobre los parámetros que controlan los umbrales, consulte Efecto de los umbrales inferior y superior sobre los valores de salida. A continuación, se presentan las formas de las clases de funciones de transformación:
La función predeteminada de transformación es TfMSSmall. Los valores predeterminados de los parámetros para las funciones de transformación incluyen los siguientes:
| Transformation function |
from_scale (Opcional) | El valor de inicio de la escala de evaluación de salida. El valor from_scale no puede ser igual al valor to_scale. El valor from_scale puede ser inferior o superior al valor to_scale (por ejemplo, de 1 a 10 o de 10 a 1). El valor debe ser positivo y puede ser un valor entero o doble. El valor predeterminado es 1. | Double |
to_scale (Opcional) | El valor de fin de la escala de evaluación de salida. El valor to_scale no puede ser igual al valor from_scale. El valor to_scale puede ser inferior o superior al valor from_scale (por ejemplo, de 1 a 10 o de 10 a 1). El valor debe ser positivo y puede ser un valor entero o doble. El valor predeterminado es 10. | Double |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_raster | Ráster re-escalado de salida. La salida será un ráster de punto flotante con valores que oscilan entre (o están dentro de) los valores de evaluación de from_scale y to_scale. | Raster |
Muestra de código
Ejemplo 1 de RescaleByFunction (ventana Python)
Este ejemplo crea un ráster cuyos valores están re-escalados usando la función MSSmall.
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outRescale = RescaleByFunction("elevation", TfMSSmall(1.25, 1.5, "#", "#", 4000, "NoData"), 1, 10)
outRescale.save("c:/sapyexamples/rescaletfms1")
Ejemplo 2 de RescaleByFunction (secuencia de comandos independiente)
Muestra el uso de esta herramienta sobre datos de elevación, donde las localizaciones con menor elevación son mucho más preferibles que las de mayor elevación. Las localizaciones por encima de los 4.000 metros se establecen en NoData.
# 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
# Author: esri
# 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.25
stdmult = 1.5
lowerthresh = "#"
valbelowthresh = "10"
upperthresh = 4000
valabovethresh = "NoData"
myTfFunction = TfMSSmall(meanmult, stdmult, lowerthresh, valbelowthresh, upperthresh, valabovethresh)
# Set evaluation scale
fromscale = 1
toscale = 10
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute RescaleByFunction
outRescale = RescaleByFunction(inRaster, myTfFunction, fromscale, toscale)
# Save the output
outRescale.save("c:/sapyexamples/rescaletfms2")
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: Requiere Spatial Analyst
- ArcGIS Desktop Standard: Requiere Spatial Analyst
- ArcGIS Desktop Advanced: Requiere Spatial Analyst