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

Abbildung "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.

  • Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Syntax

Rank(in_rank_raster_or_constant, in_rasters, {process_as_multiband})
ParameterErklärungDatentyp
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

NameErklärungDatentyp
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 Rank-Operation für mehrere Eingabe-Grid-Raster ausgeführt, und das Ergebnis wird 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 Rank-Operation für mehrere Eingabe-Grid-Raster ausgeführt, und das Ergebnis wird 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")

Lizenzinformationen

  • Basic: Erfordert Spatial Analyst
  • Standard: Erfordert Spatial Analyst
  • Advanced: Erfordert Spatial Analyst

Verwandte Themen