Raster-Auswahl (Image Analyst)

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

Abbildung: Auswahl
OutRas = Pick(InRas1, [InRas2, InRas3],"SINGLE_BAND")

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})
ParameterErklärungDatentyp
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.

  • 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.

Raster

Codebeispiel

Pick – Beispiel 1 (Python-Fenster)

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

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

Lizenzinformationen

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

Verwandte Themen