Re-escalar por función (Spatial Analyst)

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.

Más información sobre 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.

  • Un repaso al vocabulario esencial de esta herramienta puede ayudarle a entender mejor las siguientes explicaciones.

  • Conceptualmente, reescalar datos de entrada sobre una escala continua es un proceso en dos pasos:

    1. Aplicar la función especificada a los valores del ráster de entrada.
    2. Transformar linealmente los valores de la función a una escala de evaluación especificada. En una escala de evaluación ascendente, los valores mínimos y máximos de la función se ajustan al mínimo (Escala Desde) y al máximo (Escala Hasta) especificados 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.

    Diagrama de ejemplo de la función Potencia con un valor de 2 para el exponente y una escala de evaluación del 1 al 10
    Diagrama de ejemplo de la función Potencia con un exponente 2 y escala de evaluación del 1 al 10

    El rango de los datos de entrada de este ejemplo va de 3.000 a 5.000. El valor más bajo del ráster de entrada se ajusta al valor de Umbral inferior, y el valor más alto, al Umbral superior (visto en el eje x), con la función Potencia restringida (ajustada) entre los umbrales. Los parámetros de control de forma definen la forma de la función (como Desplazamiento de entrada y Exponente para la función Potencia), lo que le permite controlar dónde empieza la función y con cuánta inclinación ascenderá. 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 mediante los parámetros Escala Desde y Escala Hasta, como se puede ver en el eje y.

  • De forma predeterminada, el valor mínimo del Ráster de entrada se asigna al valor de Umbral inferior, y el valor máximo, al valor de Umbral superior.

  • De forma predeterminada, la función especificada se restringe (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:

    • Por definición, las funciones Lineal y Lineal simétrica se ajustan, ya que el mínimo y el máximo de las funciones están definidos como el mínimo (el umbral inferior) y el máximo (el umbral superior) del Ráster de entrada.
    • Se aplica una versión ajustada de las funciones Exponencial y Logaritmo a los valores del Ráster de entrada.
    • Se derivan tantos parámetros como sea posible del Ráster de entrada (por ejemplo, Punto medio, Factor y Desplazamiento de entrada) para obtener el mejor ajuste para las funciones Gaussiana, Cercana, Baja, Baja ME, Alta, Alta ME, Potencia, Crecimiento logístico y Decaimiento logístico.

  • Cuando los valores de Umbral inferior y Umbral superior se alteran, se aplican las siguientes interacciones:

    1. Si una celda de entrada tiene un valor inferior al del Umbral inferior, será asignada al valor definido en el parámetro Valor por debajo del umbral.
    2. Si una celda de entrada tiene un valor superior al del Umbral superior, será asignada al valor definido en el parámetro Valor por encima del umbral.
    3. Todos los valores de celda, incluidos los de Umbral inferior y Umbral superior, así como los valores situados entre ellos, se asignarán a la escala de evaluación correspondiente en función del valor de la función, f(x). En algunos casos, cuando se altera un parámetro de control de forma (por ejemplo, Expandir y Exponente), es posible que el ráster de salida no tenga ninguna celda asignada a los valores 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 calcularán para ajustar (restringir) de forma óptima la función al mínimo y el máximo del 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. Cuando se especifica un valor para cualquier parámetro de control de forma, la función resultante, junto con los valores de umbral inferior y superior, se utilizará para re-escalar los valores de Ráster de entrada; la versión ajustada de la función no se utilizará.

  • Los valores Escala Desde y Escala Hasta definen los valores superiores e inferiores de la escala de evaluación continua. El valor más bajo de la función se asigna al valor ajustado para Escala Desde, y el valor más alto de la función se asigna al valor ajustado para 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 tienen un valor de entrada por debajo y 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 cuando se alteran el Umbral inferior y el Umbral superior, los parámetros de control de forma (parámetros que definen la forma de la función, como por ejemplo Expandir o Factor base) se recalculan automáticamente. Sin embargo, cuando se altera un parámetro de control de forma, los valores de Umbral inferior y Umbral superior no se modifican automáticamente, y, si el Umbral inferior o el Umbral superior se modifican posteriormente, el parámetro de control de forma alterado (así como cualquier otro parámetro de control de forma asociado) conservará el ajuste modificado y no se recalculará.

  • Los parámetros de control de forma de la función (por ejemplo, Expandir o Factor base) y los umbrales inferior y superior se basan en estadísticas calculadas para la configuración del entorno de extensión, tamaño de celda y ráster de alineación de 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. Deberá hacer clic en el botón Calcular estadísticas para recalcular las estadísticas de la configuración del entorno actual y así rellenar los parámetros. El valor de Umbral inferior será de forma predeterminada el valor mínimo dentro de la extensión de procesamiento, y el Umbral superior será el valor máximo, con los valores de los parámetros de control de forma correctamente definidos. 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 para ver los valores de la nueva extensión. Si el Umbral inferior, el Umbral superior o cualquiera de los parámetros de control de forma se modifican escribiendo un valor, la herramienta controlará que estos parámetros han sido alterados. Si la extensión de procesamiento se modifica, los valores de estos parámetros permanecerán según lo especificado después de hacer clic en el botón Calcular estadísticas.

  • Es posible aplicar distintas funciones a distintos rangos del ráster de entrada. Para ello, las funciones se pueden concatenar ejecutando la herramienta Re-escalar por función varias veces, especificando primero una función de transformación para un rango determinado de valores de entrada y ejecutándola luego de nuevo, aplicando otra función a otro rango de valores. A continuación, se combinan los rásteres resultantes. Por ejemplo

    1. Ejecute Re-escalar por función aplicando una función lineal a los valores de entrada de 1.500 a 3.200 y ajuste los valores por encima y por debajo de los umbrales a 0.
    2. 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.
    3. Agregue los dos rásteres de salida resultantes juntos con la herramienta Suma.

  • Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento que se aplican a esta herramienta.

Sintaxis

RescaleByFunction(in_raster, {transformation_function}, {from_scale}, {to_scale})
ParámetroExplicaciónTipo 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 transformación de función se utilizan para especificar el tipo de función de transformación.

Los tipos de clases de funciones de transformación son

El uso de una función de transformación u otra depende de la función que mejor capture la interacción de la preferencia del fenómeno con los valores de entrada. Para comprender mejor cómo los valores de entrada se ven afectados por los umbrales inferior y superior, y obtener más información sobre los parámetros que controlan los umbrales, consulte La interacción de los umbrales inferior y superior en los valores de salida.

A continuación, se presentan las formas de las clases de funciones de transformación:

  • TfExponential({shift}, {baseFactor}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfGaussian({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLarge({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLinear({minimum}, {maximum}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLogarithm({shift}, {factor}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLogisticDecay({minimum}, {maximum}, {yInterceptPercent}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLogisticGrowth({minimum}, {maximum}, {yInterceptPercent}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfMSLarge({meanMultiplier}, {STDMultiplier}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfMSSmall({meanMultiplier}, {STDMultiplier}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfNear({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfPower({shift}, {exponent}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfSmall({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfSymmetricLinear({minimum}, {maximum}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})

La función predeterminada de transformación es TfMSSmall.

Los valores predeterminados de los parámetros para las funciones de transformación incluyen los siguientes:

  • baseFactor (para TfExponential) se deriva del ráster de entrada.
  • exponent (para TfPower) se deriva del ráster de entrada.
  • factor (para TfLogarithm) se deriva del ráster de entrada.
  • lowerThreshold (para todas las funciones) se establece en el mínimo del ráster de entrada.
  • maximum (para TfLinear, TfLogisticDecay, TfLogisticGrowth y TfSymmetricLinear) se establece en el máximo del ráster de entrada.
  • meanMultiplier (para TfMSLarge y TfMSSmall) es 1.
  • midpoint (para TfGaussian y TfNear) se establece en el punto medio del rango de valor del ráster de entrada.
  • midpoint (para TfLarge y TfSmall) se establece en el valor medio del ráster de entrada.
  • minimum (para TfLinear, TfLogisticDecay, TfLogisticGrowth y TfSymmetricLinear) se establece en el mínimo del ráster de entrada.
  • shift (para TfExponential, TfLogarithm y TfPower) se deriva del ráster de entrada.
  • spread (para TfGaussian y TfNear) se deriva del ráster de entrada.
  • spread (para TfLarge y TfSmall) es 5.
  • STDMultiplier (para TfMSLarge y TfMSSmall) es 1.
  • upperThreshold (para todas las funciones) se establece en el máximo del ráster de entrada.
  • valueAboveThreshold (para todas las funciones) se establece en el valor to_scale.
  • valueBelowThreshold (para todas las funciones) se establece en el valor from_scale.
  • yInterceptPercent (para TfLogisticDecay) es 99,0000.
  • yInterceptPercent (para TfLogisticGrowth) es 1,0000.

Transformation function
from_scale
(Opcional)

El valor de inicio de la escala de evaluación de salida.

El valor de from_scale no puede ser igual al valor de to_scale. from_scale Puede ser menor o mayor que 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 de to_scale no puede ser igual al valor de from_scale. to_scale Puede ser menor o mayor que 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

NombreExplicaciónTipo de datos
out_raster

Ráster re-escalado de salida.

La salida será un ráster de punto flotante con valores que van de (o están dentro de) los valores de evaluación 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 (script 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

# Execute RescaleByFunction
outRescale = RescaleByFunction(inRaster, myTfFunction, fromscale, toscale)

# Save the output
outRescale.save("c:/sapyexamples/rescaletfms2")

Información de licenciamiento

  • Basic: Requiere Spatial Analyst
  • Standard: Requiere Spatial Analyst
  • Advanced: Requiere Spatial Analyst

Temas relacionados