Mit der Spatial Analyst-Lizenz verfügbar.
Mit der Image Analyst-Lizenz verfügbar.
Zusammenfassung
Anhand des Wertes eines Positions-Rasters wird bestimmt, aus welchem Raster in einer Liste von Eingabe-Rastern der Ausgabe-Zellenwert bezogen wird.
Abbildung
Verwendung
Der Wert jeder Zelle des Eingabe-Positions-Rasters (in_position_raster in Python) bestimmt, welche Eingabe verwendet wird, um den Ausgabe-Raster-Wert zu erhalten. Wenn eine Zelle im Eingabe-Positions-Raster z. B. den Wert 1 aufweist, wird der Wert der ersten Eingabe in der Raster-Liste für den Ausgabezellenwert verwendet. Wenn die Positionseingabe den Wert 2 aufweist, stammt der Ausgabewert aus der zweiten Eingabe in der Raster-Liste usw.
Die Reihenfolge der Eingabe-Raster oder konstanten Werte (in_rasters_or_constants in Python) ist für dieses Werkzeug maßgeblich. Wenn sich die Reihenfolge der Raster ändert, ändern sich auch die Ergebnisse.
Wenn ein Zellenwert im Eingabe-Positions-Raster 0 oder negativ ist, ist das Ergebnis "NoData". Wenn der Positionswert größer ist als die Anzahl der Raster in der Liste, ist das Ergebnis "NoData".
Wenn das Eingabe-Positions-Raster vom Typ "Gleitkomma" ist, werden die Werte auf ganze Zahlen gekürzt, bevor sie verarbeitet werden.
Jede Zelle mit einem NoData-Wert im Positions-Raster erhält im Ausgabe-Raster den Wert "NoData".
Wenn es sich bei einem der Raster in der Eingabeliste um ein Gleitkomma-Raster handelt, ist das Ausgabe-Raster ebenfalls ein Gleitkomma-Raster. Wenn alle ganzzahlig sind, ist auch das Ausgabe-Raster ganzzahlig.
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-Positions-Raster eines Multibands (in_position_raster in Python) verwendet. Jedes Band von Eingabe-Raster oder konstante Werte eines Multibands (in_rasters_or_constants 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 Eingabe-Positions-Raster ab. Wenn das Eingabe-Positions-Raster ein Einzelband ist, entspricht die Anzahl an Bändern im Ausgabe-Raster der maximalen Anzahl an Bändern aller Multiband-Raster aus Eingabe-Raster oder konstante Werte. Wenn das Eingabe-Positions-Raster eine Multiband ist, verfügt das Ausgabe-Raster über dieselbe Anzahl an Bändern wie das Eingabe-Positions-Raster.
Wenn es sich bei einem Wert unter Eingabe-Raster oder konstante Werte 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 Eingabe-Positions-Rasters den Wert Eins aus dem fehlenden Band auswählt, erhält das Ausgabe-Raster den Wert "NoData". Handelt es sich bei einem der Eingabe-Raster oder konstanten Werte 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.
Syntax
Pick(in_position_raster, in_rasters_or_constants, {process_as_multiband})
Parameter | Erklärung | Datentyp |
in_position_raster | Das Eingabe-Raster, das die Position des Rasters definiert, das für den Ausgabewert verwendet werden soll. Die Eingabe kann ein ganzzahliges oder Gleitkomma-Raster sein. | Raster Layer |
in_rasters_or_constants [in_raster_or_constant,...] | Die Liste der Eingaben, aus denen der Ausgabewert ausgewählt wird. Die Eingaben können ganzzahlige oder Gleitkomma-Raster sein. Eine Zahl kann ebenfalls als Eingabe verwendet werden. | Raster Layer; Constant |
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. | Raster |
Codebeispiel
In diesem Beispiel wird der Ausgabewert auf Grundlage der Reihenfolge mehrerer Eingabe-Raster zugewiesen.
import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outPick = Pick("cost", ["degs", "negs", "fourgrd"], "SINGLE_BAND")
outPick.save("C:/iapyexamples/output/outpick.tif")
In diesem Beispiel wird der Ausgabewert auf Grundlage der Reihenfolge mehrerer Eingabe-Raster zugewiesen.
# Name: Pick_Ex_02.py
# Description: Assigns output values using one of a list of rasters
# determined by the value of an input raster.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *
# Set environment settings
env.workspace = "C:/iapyexamples/data"
# Set local variables
inPositionRas = "inzone_MB"
inRas01 = "Ras1_MB"
inRas02 = "Ras2_MB"
inRas03 = "Ras3_MB"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute Pick
outPick = Pick(inPositionRaster, [inRas01, inRas02, inRas03], "MULTI_BAND")
# Save the output
outPick.save("C:/iapyexamples/output/outpick")
Umgebungen
Lizenzinformationen
- Basic: Erfordert Image Analyst oder Spatial Analyst
- Standard: Erfordert Image Analyst oder Spatial Analyst
- Advanced: Erfordert Image Analyst oder Spatial Analyst