Erneut skalieren nach Funktion (Spatial Analyst)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Skaliert die Eingabe-Raster-Werte erneut, indem eine ausgewählte Transformationsfunktion angewendet und die resultierenden Werte dann auf einen bestimmten kontinuierlichen Auswertungsmaßstab transformiert werden.

Weitere Informationen zur Funktionsweise von "Erneut skalieren nach Funktion"

Verwendung

Syntax

RescaleByFunction (in_raster, {transformation_function}, {from_scale}, {to_scale})
ParameterErläuterungDatentyp
in_raster

Das Eingabe-Raster, das neu skaliert werden soll.

Raster Layer
transformation_function
(optional)

Die kontinuierliche Funktion zum Transformieren des Eingabe-Rasters wird angezeigt.

Die Transformationsfunktionsklassen werden verwendet, um den Typ der Transformationsfunktion anzugeben.

Es gibt folgende Transformationsfunktionsklassen:

Die zu verwendende Transformationsfunktion ist davon abhängig, mit welcher Funktion die Interaktion zwischen der Präferenz des Phänomens und den Eingabewerten am besten erfasst werden kann. Informationen dazu, wie sich der untere und obere Grenzwert der Transformationsfunktion auf die Ausgabewerte auswirkt, und zu den Parametern, die die Grenzwerte bestimmen, finden Sie unter Die Auswirkungen des unteren und oberen Grenzwertes auf die Ausgabewerte für "Erneut skalieren nach Funktion".

Transformationsfunktionsklassen können folgende Formate haben:

  • 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})

Die Standardtransformationsfunktion ist "TfMSSmall".

Es gibt u. a. folgende Parameterstandardwerte für die Transformationsfunktionen:

  • baseFactor (für TfExponential) wird aus dem Eingabe-Raster abgeleitet.
  • exponent (für TfPower) wird aus dem Eingabe-Raster abgeleitet.
  • factor (für TfLogarithm) wird aus dem Eingabe-Raster abgeleitet.
  • Für lowerThreshold (alle Funktionen) wird der Mindestwert des Eingabe-Rasters festgelegt.
  • Für maximum (TfLinear, TfLogisticDecay, TfLogisticGrowth und TfSymmetricLinear) wird das Maximum des Eingabe-Rasters festgelegt.
  • meanMultiplier (für TfMSLarge und TfMSSmall) ist 1.
  • Für midpoint (TfGaussian und TfNear) wird der Mittelpunkt des Wertebereichs des Eingabe-Rasters festgelegt.
  • Für midpoint (TfLarge und TfSmall) wird der Mittelpunkt des Eingabe-Rasters festgelegt.
  • Für minimum (TfLinear, TfLogisticDecay, TfLogisticGrowth und TfSymmetricLinear) wird das Minimum des Eingabe-Rasters festgelegt.
  • shift (für TfExponential, TfLogarithm und TfPower) wird aus dem Eingabe-Raster abgeleitet.
  • spread (für TfGaussian und TfNear) wird aus dem Eingabe-Raster abgeleitet.
  • spread (für TfLarge und TfSmall) ist 5.
  • STDMultiplier (für TfMSLarge und TFMSSmall) ist 1.
  • Für upperThreshold (alle Funktionen) wird das Maximum des Eingabe-Rasters festgelegt.
  • Für valueAboveThreshold (alle Funktionen) wird der Wert to_scale festgelegt.
  • Für valueBelowThreshold (alle Funktionen) wird der Wert from_scale festgelegt.
  • yInterceptPercent (für TfLogisticDecay) ist 99.0000.
  • yInterceptPercent (für TfLogisticGrowth) ist 1,0000.

Transformation function
from_scale
(optional)

Der Startwert des Ausgabe-Auswertungsmaßstabs.

Der Wert von from_scale kann nicht mit dem Wert von to_scale identisch sein. from_scale kann niedriger oder höher als to_scale sein (z. B. von 1 bis 10 oder von 10 bis 1).

Der Wert muss positiv sein. Es kann sich dabei entweder um eine Ganzzahl oder um einen Double-Wert handeln.

Die Standardeinstellung ist 1.

Double
to_scale
(optional)

Der Endwert des Ausgabe-Auswertungsmaßstabs.

Der Wert von to_scale kann nicht mit dem Wert von from_scale identisch sein. to_scale kann niedriger oder höher als from_scale sein (z. B. von 1 bis 10 oder von 10 bis 1).

Der Wert muss positiv sein. Es kann sich dabei entweder um eine Ganzzahl oder um einen Double-Wert handeln.

Die Standardeinstellung ist 10.

Double

Rückgabewert

NameErläuterungDatentyp
out_raster

Das neu skalierte Ausgabe-Raster.

Bei der Ausgabe handelt es sich um ein Gleitkomma-Raster mit Werten von from_scale bis to_scale.

Raster

Codebeispiel

RescaleByFunction – Beispiel 1 (Python-Fenster)

In diesem Beispiel wird ein Raster erstellt, dessen Werte mithilfe der Funktion "MSSmall" neu skaliert werden.

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")
RescaleByFunction – Beispiel 2 (eigenständiges Skript)

Demonstriert die Verwendung dieses Werkzeugs für Höhendaten, wobei Positionen mit geringerer Höhe als wesentlich günstiger angesehen werden als eine höhere Höhe. Für Positionen über 4.000 Metern wird "NoData" festgelegt.

# 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")

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Erfordert Spatial Analyst
ArcGIS for Desktop Standard: Erfordert Spatial Analyst
ArcGIS for Desktop Advanced: Erfordert Spatial Analyst
6/5/2014