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
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})
Parameter | Erklärung | Datentyp |
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.
| Boolean |
Rückgabewert
Name | Erklärung | Datentyp |
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
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")
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")
Umgebungen
Lizenzinformationen
- Basic: Erfordert Spatial Analyst
- Standard: Erfordert Spatial Analyst
- Advanced: Erfordert Spatial Analyst