Redimensionner par fonction (ArcGIS Spatial Analyst)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Permet de redimensionner les valeurs du raster en entrée en appliquant une fonction de transformation sélectionnée, puis en transformant les valeurs résultantes sur une échelle d'évaluation continue spécifiée.

En savoir plus sur l'outil Redimensionner par fonction

Utilisation

Syntaxe

RescaleByFunction (in_raster, {transformation_function}, {from_scale}, {to_scale})
ParamètreExplicationType de données
in_raster

Raster en entrée à redimensionner.

Raster Layer
transformation_function
(Facultatif)

Spécifie la fonction continue pour transformer le raster en entrée.

Les classes de fonctions de transformation permettent de spécifier le type de fonction de transformation.

Les types de classes de transformation sont les suivants :

Le choix d'une fonction de transformation est déterminé par la capacité de cette dernière à capturer au mieux l'interaction de la préférence du phénomène avec les valeurs en entrée. Pour mieux comprendre comment les seuils inférieur et supérieur influencent les valeurs en sortie, Pour plus d'informations sur les paramètres qui déterminent les seuils, consultez la rubrique Interaction des seuils inférieur et supérieur sur les valeurs en sortie pour l'outil Redimensionner par fonction.

Voici les formes des classes de fonctions de transformation :

  • 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 fonction de transformation par défaut est TfMSSmall.

Parmi les paramètres par défaut des fonctions de transformation, on compte les suivants :

  • baseFactor (pour TfExponential) est dérivé du raster en entrée.
  • exponent (pour TfPower) est dérivé du raster en entrée.
  • factor (pour TfLogarithm) est dérivé du raster en entrée.
  • lowerThreshold (pour toutes les fonctions) est défini sur la valeur Minimum du raster en entrée.
  • maximum (pour TfLinear, TfLogisticDecay, TfLogisticGrowth et TfSymmetricLinear) est défini sur la valeur Maximum du raster en entrée.
  • meanMultiplier (pour TfMSLarge et TfMSSmall) est égal à 1.
  • midpoint (pour TfGaussian et TfNear) est défini sur le centre de la plage de valeurs du raster en entrée.
  • midpoint (pour TfLarge et TfSmall) est défini sur la moyenne du raster en entrée.
  • minimum (pour TfLinear, TfLogisticDecay, TfLogisticGrowth et TfSymmetricLinear) est défini sur la valeur Minimum du raster en entrée.
  • shift (pour TfExponential, TfLogarithm et TfPower) est dérivé du raster en entrée.
  • spread (pour TfGaussian et TfNear) est dérivé du raster en entrée.
  • spread (pour TfLarge et TfSmall) est égal à 5.
  • STDMultiplier (pour TfMSLarge et TFMSSmall) est égal à 1.
  • upperThreshold (pour toutes les fonctions) est défini sur la valeur Maximum du raster en entrée.
  • valueAboveThreshold (pour toutes les fonctions) est défini sur la valeur to_scale.
  • valueBelowThreshold (pour toutes les fonctions) est défini sur la valeur from_scale.
  • yInterceptPercent (pour TfLogisticDecay) est égal à 99,0000.
  • yInterceptPercent (pour TfLogisticGrowth) est égal à 1,0000.

Transformation function
from_scale
(Facultatif)

Valeur de départ de l'échelle d'évaluation de la sortie.

La valeur from_scale ne peut pas être égale à la valeur to_scale. La valeur from_scale peut être inférieure ou supérieure à la valeur to_scale (1 à 10 ou 10 à 1, par exemple).

La valeur doit être positive et elle peut représenter un entier ou une valeur double.

La valeur par défaut est 1.

Double
to_scale
(Facultatif)

Valeur de fin de l'échelle d'évaluation de la sortie.

La valeur to_scale ne peut pas être égale à la valeur from_scale. La valeur to_scale peut être inférieure ou supérieure à la valeur from_scale (1 à 10 ou 10 à 1, par exemple).

La valeur doit être positive et elle peut représenter un entier ou une valeur double.

La valeur par défaut est 10.

Double

Valeur renvoyée

NomExplicationType de données
out_raster

Raster en sortie redimensionné.

La sortie sera un raster à virgule flottante avec des valeurs comprises entre (ou incluant) les valeurs d'évaluation from_scale et to_scale.

Raster

Exemple de code

Exemple 1 d'utilisation de l'outil RescaleByFunction (fenêtre Python)

Cet exemple permet de créer un raster dont les valeurs sont redimensionnées à l'aide de la fonction 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")
Exemple 2 d'utilisation de l'outil RescaleByFunction (script autonome)

Illustre l'utilisation de cet outil sur des données d'altitude, où les emplacements présentant des valeurs d'altitude faibles font l'objet d'une préférence bien plus élevée que ceux dont l'altitude est plus élevée. Les emplacements situés au-delà de 4 000 mètres sont définis sur 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")

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Requis ArcGIS Spatial Analyst
ArcGIS for Desktop Standard: Requis ArcGIS Spatial Analyst
ArcGIS for Desktop Advanced: Requis ArcGIS Spatial Analyst
5/10/2014