Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Erstellt eine Tabelle, die für definierte Positionen die Werte der Zellen aus einem Raster oder einer Gruppe von Rastern anzeigt. Die Positionen werden durch Raster-Zellen oder eine Menge von Punkten definiert.
Die Eingabe-Raster können zwei- oder mehrdimensional sein. Wenn die Eingabe-Raster mehrdimensional sind, ändert sich die Struktur der Ausgabe-Tabelle.
Weitere Informationen zur Funktionsweise des Werkzeugs "Stichprobe"
Verwendung
Aus allen Eingabe-Rastern werden an jeder Position Zellenwerte extrahiert. Es wird eine Tabelle mit Feldern erstellt, die die Zellenwerte für die einzelnen Eingabe-Raster enthalten.
Zusätzliche Attribute aus der Eingabe-Raster-Tabelle, sofern vorhanden, werden nicht in die Ausgabetabelle übernommen.
Unter Berücksichtigung der Analyseumgebung wird für die Eingabe-Raster kein Resampling durchgeführt. Stattdessen werden die Zellenwerte in der ursprünglichen Auflösung und mit demselben Raumbezug extrahiert. Sie werden von den projizierenden Eingabepositionen aus allen Eingabe-Rastern zum Raumbezug des Rasters, aus dem die Werte extrahiert werden, extrahiert.
Die Analyseumgebung wird jedoch auf die Eingabepositionen angewendet.
Positionen, mit denen Werte aus NoData-Zellen im Eingabe-Raster extrahiert werden, erhalten in der Ausgabetabelle einen <NULL>-Wert. Da für Shapefiles NULL-Felder nicht unterstützt werden, werden NoData-Zellen stattdessen mit dem Wert -9999 in der Tabelle dargestellt.
Jede beliebige Kombination von Rastern (Einzelband- oder Multiband-Raster) kann als Eingabe-Raster (in_rasters in Python) angegeben werden.
Wenn ein Multiband-Raster als eines der Eingabe-Raster (in_rasters in Python) angegeben wird, werden alle Bänder in dieser Eingabe verwendet.
Wenn eine Auswahl von Bändern aus einem Eingabemultiband-Raster verarbeitet werden soll, erstellen Sie zunächst mit dem Werkzeug Bänder zusammensetzen ein neues Raster-Dataset, das aus den betreffenden Bändern besteht. Verwenden Sie das Ergebnis in der Liste der Eingabe-Raster.
Wenn es sich bei den Eingabepositionsdaten um ein Raster handelt, wird der Mittelpunkt einer Zelle mit gültigen Werten (nicht NoData) verwendet, um für diese Position die Zellenwerte aus allen Eingabe-Rastern zu extrahieren.
Wenn die Eingabepositionsdaten in einer Point-Feature-Class vorliegen und kein räumlicher Index vorhanden ist, wird eine Warnung ausgegeben. Erstellen Sie einen räumlichen Index, um die Performance des Werkzeugs bei großen Eingabe-Punkt-Features zu verbessern.
Das Werkzeug kann nicht mit Multipoint-Features ausgeführt werden. Für die Analyse mit Multipoint-Features müssen Sie diese zunächst in Singlepoint-Features konvertieren, bevor Sie sie im Extraktionswerkzeug verwenden können. Weitere Informationen finden Sie unter Verarbeiten von Multipoint-Daten.
Der Raumbezug der XY-Koordinaten in der ausgegebenen Stichprobentabelle entspricht dem der Eingabe-Positions-Raster oder -Punkt-Features (in_location_data in Python), sofern der Raumbezug nicht in der Umgebung Ausgabekoordinatensystem angegeben wurde. Ist der Raumbezug der Eingabepositionsdaten unbekannt, ist der Raumbezug der XY-Koordinaten ebenfalls unbekannt.
Der Raumbezug der XY-Koordinaten wird am Ende der Werkzeugausführung in einer Geoverarbeitungsmeldung angezeigt.
Die Option Resampling-Methode (resampling_type in Python) bestimmt, wie die Werte aus dem Raster abgerufen werden. Standardeinstellung ist die Option Nächster Nachbar, bei der an den Eingabepositionen der genaue Zellenwert extrahiert wird. Zum Extrahieren von interpolierten Werte geben Sie die Option Bilinear oder Kubisch an.
Für die Option "Nächster Nachbar" stimmt der Feldtyp, der die Zellenwerte enthält, mit dem Raster-Typ überein. Um jedoch die Genauigkeit der interpolierten Werte zu erhalten, ist der Feldtyp bei den Optionen Bilinear und Kubisch stets Gleitkomma. Wenn für die Resampling-Option Nächster Nachbar festgelegt wurde, stimmt das Feld in der Ausgabetabelle mit dem Feld des Raster-Typs überein. Um jedoch die Genauigkeit der interpolierten Werte zu erhalten, ist der Feldtyp bei den Optionen Bilinear und Kubisch stets Gleitkomma.
Der Ausgabetabelle wird ein Feld namens Sample_point hinzugefügt, um die Werte zu speichern, die im eindeutigen ID-Feld (unique_id_field in Python) angegeben sind. Es wird für die weitere Analyse empfohlen, ein Feld mit Einzelwerten als Kennung für die Positionen zu verwenden.
Wenn ein multidimensionales Raster als Eingabe-Raster angegeben wird und der Parameter Als mehrdimensional verarbeiten nicht aktiviert ist (ALL_SLICES für den Parameter process_as_multidimensional in Python), wird nur der aktuelle Ausschnitt des multidimensionalen Rasters für die Stichprobe verwendet.
Um Werte aus allen Ausschnitten aller Variablen aus dem multidimensionalen Eingabe-Dataset zu extrahieren, aktivieren Sie den Parameter Als mehrdimensional verarbeiten.
Wenn der Parameter Als mehrdimensional verarbeiten aktiviert ist (ALL_SLICES für den Parameter process_as_multidimensional in Python), gilt Folgendes:
Das Werkzeug verarbeitet nur ein multidimensionales Raster. Wenn mehr als ein multidimensionales Raster angegeben ist, wird nur das erste Raster verarbeitet.
Die extrahierten Werte werden in einem Feld mit dem Namen der Variable gespeichert. Es werden zusätzliche Felder erstellt, um die nichträumlichen Dimensionswerte zu speichern. Dazu wird der Name der Dimension verwendet.
Wenn das multidimensionale Raster mehrere Bänder aufweist, werden für die einzelnen Bänder keine zusätzlichen Felder erstellt. Stattdessen werden die für die Bänder extrahierten Werte im Variablenfeld gespeichert. Für die Dimension, mit der das Band angegeben wurde, wird ein zusätzliches Feld erstellt, in dem die Dimensionswerte gespeichert werden.
Das Werkzeug für die mehrdimensionale Verarbeitung unterstützt aktuell die folgenden Typen von multidimensionalen Rastern: netCDF-Raster-Layer und multidimensionale Mosaik-Datasets. Image-Services multidimensionaler Daten können ebenfalls verwendet werden, solange für den Image-Service festgelegt wurde, dass dies zulässig ist.
Wenn in der Umgebungseinstellung Maske ein Feature angegeben wurde, wird mit der minimalen Zellengröße der Eingabe-Raster ein internes Raster erstellt. Während der Extraktion wird für das interne Masken-Raster ein Resampling auf die Zellengröße jedes Eingabe-Rasters durchgeführt.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
Sample(in_rasters, in_location_data, out_table, {resampling_type}, {unique_id_field}, {process_as_multidimensional})
Parameter | Erklärung | Datentyp |
in_rasters [in_raster,...] | Die Liste der Raster, deren Werte auf der Grundlage der Eingabepositionsdaten entnommen werden. | Raster Layer |
in_location_data | Daten, die Positionen identifizieren, an denen eine Stichprobe entnommen werden soll. Hierbei kann es sich um ein Raster oder ein Punkt-Feature-Dataset handeln. | Raster Layer; Feature Layer |
out_table | Ausgabetabelle, die die entnommenen Zellenwerte enthält. Das Format der Tabelle wird durch das Ausgabeverzeichnis und den Ausgabepfad bestimmt. Die Ausgabe ist standardmäßig eine Geodatabase-Tabelle. Wenn der Pfad sich nicht in einer Geodatabase befindet, wird das Format durch die Erweiterung bestimmt. Wenn die Erweiterung .dbf lautet, erfolgt die Ausgabe im dBASE-Format. Wenn keine Erweiterung angegeben wird, ist die Ausgabe eine INFO-Tabelle. | Table |
resampling_type (optional) | Verwendeter Resampling-Algorithmus bei der Entnahme eines Rasters.
| String |
unique_id_field (optional) | Ein Feld, das für jede Position im Eingabe-Positions-Raster bzw. jedes Feature in den Eingabe-Punkt-Features einen anderen Wert enthält. | Field |
process_as_multidimensional (optional) | Legt fest, wie die Eingabe-Raster verarbeitet werden.
| Boolean |
Codebeispiel
Sample – Beispiel 1 (Python-Fenster)
Extrahieren der Zellenwerte aus mehreren Rastern in eine Tabelle, die auf Eingabepositionen beruht.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
Sample(["elevation", "costraster"], "observers.shp",
"c:/sapyexamples/output/samptable","NEAREST")
Sample – Beispiel 2 (eigenständiges Skript)
Extrahieren der Zellenwerte aus mehreren Rastern in eine Tabelle, die auf Eingabepositionen beruht.
# Name: Sample_Ex_02.py
# Description: Creates a table that shows the values of cells from
# a raster, or set of rasters, for defined locations.
# The locations are defined by raster cells or by a set
# of points.
# 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
inRasters = ["elevation",
"costraster"]
locations = "observers.shp"
outTable = "c:/sapyexamples/output/samptable02"
sampMethod = "NEAREST"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Sample
Sample(inRasters, locations, outTable, sampMethod)
Umgebungen
Lizenzinformationen
- Basic: Erfordert Spatial Analyst
- Standard: Erfordert Spatial Analyst
- Advanced: Erfordert Spatial Analyst