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

  • Ein Eingaberaster mit rechteckigen Zellen wird so verarbeitet, dass die Zellen des Ausgaberasters quadratisch sind und die Seiten gleich dem Durchschnitt der Länge und Breite des Rechtecks sind.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Positions-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
Eingabe-Raster oder konstante Werte

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

Raster

Pick(in_position_raster, in_rasters_or_constants, {process_as_multiband})
NameErläuterungDatentyp
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

NameErläuterungDatentyp
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