Rangstufe (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Legt zellenweise für die Werte aus einem Satz von Eingabe-Rastern die Rangstufe fest und bestimmt, welche Werte basierend auf dem Wert des Rangstufen-Eingabe-Rasters zurückgegeben werden.

Abbildung

Beispiel für Eingabe- und Ausgabewerte des Werkzeugs "Rangstufe"
OutRas = Rank(ConstRas, [InRas1, InRas2, InRas3])

Verwendung

  • Die Reihenfolge in der Liste der Eingabe-Raster ist nicht von Bedeutung. Das Raster, das die Rangstufe definiert, muss jedoch vorausgehen.

  • In der Liste der Eingabe-Raster kann eine beliebige Anzahl von Rastern angegeben werden.

  • Wenn eine Zellenposition für eines der Eingabe-Raster den Wert "NoData" enthält, wird dieser Position auch in der Ausgabe der Wert "NoData" zugewiesen.

  • Wenn alle Eingabewerte für eine Zellenposition identisch sind (unabhängig von der angegebenen Rangstufe), wird dieser Wert als die Ausgabe für diese Zellenposition verwendet.

  • Wenn der Wert des Rangstufen-Rasters größer als die Anzahl der Eingabe-Raster ist, wird jeder Zellenposition in der Ausgabe der Wert "NoData" zugewiesen.

  • Wenn es sich bei einem der Eingabe-Raster um ein Gleitkomma-Raster handelt, enthält auch die Ausgabe Gleitkommawerte. Andernfalls enthält sie Ganzzahlwerte.

  • Wenn der Parameter Als Multiband verarbeiten deaktiviert ist (für process_as_multiband wurde in Python SINGLE_BAND festgelegt), wird nur das erste Band von Eingabe-Rangstufen-Raster oder konstanter Wert eines Multibands (in_rank_raster_or_constant in Python) verwendet. Jedes Band aus Eingabe-Raster eines Multibands (in_rasters in Python) wird gesondert als Einzelband-Raster verarbeitet.

  • Wenn der Parameter Als Multiband verarbeiten aktiviert ist (für process_as_multiband wurde in Python MULTI_BAND festgelegt), wird jede Multiband-Raster-Eingabe als Multiband-Raster verarbeitet.

    Die Anzahl an Bändern in der Ausgabe hängt vom Parameter Eingabe-Rangstufen-Raster oder konstanter Wert ab. Wenn das Rangstufen-Raster ein Einzelband ist, entspricht die Anzahl an Bändern im Ausgabe-Raster der maximalen Anzahl an Bändern aller Multiband-Raster aus den Eingabe-Rastern. Wenn das Rangstufen-Raster ein Multiband ist, verfügt das Ausgabe-Raster über dieselbe Anzahl an Bändern wie das Rangstufen-Raster.

    Wenn es sich bei einem Eingabe-Raster um ein Raster mit einer geringeren Anzahl an Bändern als beim Ausgabe-Raster handelt, werden die fehlenden Bänder als ein Band mit NoData-Werten interpretiert. Wenn der Zellenwert des Rangstufen-Rasters den Wert Eins aus dem fehlenden Band auswählt, erhält das Ausgabe-Raster den Wert "NoData". Handelt es sich bei einem Eingabe-Raster um einen konstanten Wert, wird dieser als Multiband-Raster interpretiert, in dem die Zellenwerte aller Bänder mit dem konstanten Wert übereinstimmen und über dieselbe Anzahl an Bändern wie das Ausgabe-Raster verfügen.

  • Wenn alle Eingaben multidimensionale Raster-Daten mit derselben Anzahl an Variablen sind, führt das Werkzeug den Vorgang für alle Ausschnitte mit demselben Dimensionswert durch. Die Ausgabe ist ein multidimensionales Raster im CRF-Format. Die Variablen in den Eingaben müssen mindestens eine gemeinsame Dimension und einen gemeinsamen Dimensionswert enthalten, damit dieses Werkzeug erfolgreich ausgeführt werden kann. Andernfalls tritt ein Fehler auf.

    Wenn alle Eingaben eine Variable, aber unterschiedliche Namen aufweisen, deaktivieren Sie vor dem Ausführen der Operation die Einstellung Multidimensionale Variable abgleichen für die Geoverarbeitungsumgebung (durch Festlegen von arcpy.env.matchMultidimensionalVariable = False in Python).

    Wenn mindestens eine der Eingaben ein multidimensionales Raster und die anderen Eingaben Konstanten sind, führt das Werkzeug den Vorgang für alle Ausschnitte sämtlicher Variablen mit dem konstanten Wert durch, und die Ausgabe ist ein multidimensionales Raster.

  • Weitere Informationen zu den Geoverarbeitungsumgebungen für dieses Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Rangstufen-Raster oder konstanter Wert

Das Eingabe-Raster, das die Rangposition definiert, die zurückgegeben werden soll.

Eine Zahl kann als Eingabe verwendet werden, Sie müssen jedoch zunächst in der Umgebung die Zellengröße und die Ausdehnung festlegen.

Raster Layer; Constant
Eingabe-Raster

Die Liste mit den Eingabe-Rastern, aus denen der Zellenwert des Rasters an der angegebenen Rangposition bezogen wird.

Betrachten Sie zum Beispiel eine bestimmte Position, an der die Zellenwerte in den drei Eingabe-Rastern 17, 8 und 11 sind. Für diese Position wurde der Rangwert 3 definiert. Das Werkzeug sortiert zunächst die Eingabewerte. Da der angeforderte Rangwert 3 ist, wird der Ausgabewert 17 verwendet.

Raster Layer
Als Multiband verarbeiten
(optional)

Legt fest, wie die Bänder von Eingabemultiband-Rastern verarbeitet werden.

  • Deaktiviert: Jedes Band aus einer Multiband-Raster-Eingabe wird gesondert als Einzelband-Raster verarbeitet. Dies ist die Standardeinstellung.
  • Aktiviert: Jede Multiband-Raster-Eingabe wird als Multiband verarbeitet. Der Vorgang wird für jedes Band aus einer Eingabe mit der entsprechenden Bandnummer aus den anderen Eingaben durchgeführt.
Boolean

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Raster

Das Ausgabe-Raster.

Für jede Zelle im Ausgabe-Raster werden die Werte in den Eingabe-Rastern vom niedrigsten zum höchsten sortiert, und der Wert des Eingabe-Rangstufen-Rasters wird verwendet, um auszuwählen, welcher davon der Ausgabewert sein soll.

Raster

Rank(in_rank_raster_or_constant, in_rasters, {process_as_multiband})
NameErläuterungDatentyp
in_rank_raster_or_constant

Das Eingabe-Raster, das die Rangposition definiert, die zurückgegeben werden soll.

Eine Zahl kann als Eingabe verwendet werden, Sie müssen jedoch zunächst in der Umgebung die Zellengröße und die Ausdehnung festlegen.

Raster Layer; Constant
in_rasters
[in_raster,...]

Die Liste mit den Eingabe-Rastern, aus denen der Zellenwert des Rasters an der angegebenen Rangposition bezogen wird.

Betrachten Sie zum Beispiel eine bestimmte Position, an der die Zellenwerte in den drei Eingabe-Rastern 17, 8 und 11 sind. Für diese Position wurde der Rangwert 3 definiert. Das Werkzeug sortiert zunächst die Eingabewerte. Da der angeforderte Rangwert 3 ist, wird der Ausgabewert 17 verwendet.

Raster Layer
process_as_multiband
(optional)

Legt fest, wie die Bänder von Eingabemultiband-Rastern verarbeitet werden.

  • SINGLE_BANDJedes Band aus einer Multiband-Raster-Eingabe wird gesondert als Einzelband-Raster verarbeitet. Dies ist die Standardeinstellung.
  • MULTI_BANDJede Multiband-Raster-Eingabe wird als Multiband verarbeitet. Der Vorgang wird für jedes Band aus einer Eingabe mit der entsprechenden Bandnummer aus den anderen Eingaben durchgeführt.
Boolean

Rückgabewert

NameErläuterungDatentyp
out_raster

Das Ausgabe-Raster.

Für jede Zelle im Ausgabe-Raster werden die Werte in den Eingabe-Rastern vom niedrigsten zum höchsten sortiert, und der Wert des Eingabe-Rangstufen-Rasters wird verwendet, um auszuwählen, welcher davon der Ausgabewert sein soll.

Raster

Codebeispiel

Rank – Beispiel 1 (Python-Fenster)

In diesem Beispiel wird eine Rangoperation für mehrere Eingabe-Grid-Raster ausgeführt und das Ergebnis als TIFF-Raster ausgegeben.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outRank = Rank("cost", ["degs", "negs", "fourgrd"])
outRank.save("C:/sapyexamples/output/outrank.tif")
Rank – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird eine Rangoperation für mehrere Eingabe-Grid-Raster ausgeführt und das Ergebnis als Grid-Raster ausgegeben.

# Name: Rank_Ex_02.py
# Description: Returns the value of a set of rasters based on
#              a rank level specified by another raster 
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRankRaster = "cost"
inRaster01 = "degs"
inRaster02 = "negs"
inRaster03 = "fourgrd"

# Execute Rank
outRank = Rank(inRankRaster, [inRaster01, inRaster02, inRaster03])

# Save the output 
outRank.save("C:/sapyexamples/output/outrank")

Verwandte Themen