Mit der Spatial Analyst-Lizenz verfügbar.
Mit der Image Analyst-Lizenz verfügbar.
Zusammenfassung
Erstellt eine Tabelle oder eine Point-Feature-Class, die für definierte Positionen die Werte der Zellen aus einem Raster oder einer Gruppe von Rastern anzeigt. Die Positionen werden durch Raster-Zellen, Punkte, Polylinien oder Polygone definiert.
Weitere Informationen zur Funktionsweise des Werkzeugs "Stichprobe"
Verwendung
Aus allen Eingabe-Rastern (in_rasters in Python) werden an der jeweiligen Position Zellenwerte extrahiert. Es wird eine Tabelle oder eine Point-Feature-Class 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.
Jede beliebige Kombination von Rastern (Einzelband- oder Multiband-Raster) kann als Eingabe-Raster angegeben werden. Wenn die Eingabe-Raster mehrdimensional sind, ändert sich die Struktur der Ausgabe-Tabelle automatisch.
Wenn ein Multiband-Raster als eines der Eingabe-Raster angegeben wird, werden alle Bänder in dieser Eingabe verwendet.
Die folgenden Parameterwerte werden für Eingabe-Positions-Raster oder -Features (in_location_data in Python) unterstützt:
- Raster: Zellen, die gültige Werte (keine NoData-Werte) enthalten, werden verwendet, um die Zellenwerte aus allen Eingabe-Rastern zu extrahieren, und der Mittelpunkt der Zelle wird für Punktpositionen verwendet.
- Punkt: Stichproben werden an jeder Punktposition genommen.
- Polylinie oder Polygon: Wenn es sich bei der Eingabe um ein zweidimensionales Raster oder mehrere Raster handelt, wird der Mittelwert aller Zellen, die die einzelnen Polylinien oder Polygone schneiden, berechnet. Wenn die Eingabe ein multidimensionales Raster ist und als multidimensional verarbeitet wird, können zusätzliche Statistiktypen angegeben werden.
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.
Die Eingabe-Raster werden mit dem ursprünglichen Raumbezug und der ursprünglichen Auflösung abgerufen. Wenn mehrere Eingabe-Raster mit unterschiedlichen Raumbezügen vorhanden sind, werden die Eingabepositionen zunächst einzeln auf die Raumbezüge der jeweiligen Raster projiziert, und anschließend werden die Werte extrahiert. Das heißt, dass zwar die Eingabe-Raster keinerlei Umgebungseinstellungen für die Analyse berücksichtigen, die entsprechenden Umgebungen aber auf die Eingabepositionen angewendet werden.
Standardmäßig entspricht der Raumbezug der XY-Koordinaten des Parameters Ausgabetabelle oder -Feature-Class (out_table in Python) dem der Parameterwerte für Eingabe-Positions-Raster oder -Features, sofern kein anderer in der Ausgabekoordinatensystem-Umgebung 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 gemeldet
Wenn es sich bei Eingabe-Positions-Raster oder -Punkt-Features um eine Point-Feature-Class ohne räumlichen Index handelt, wird eine Warnung ausgegeben. Erstellen Sie einen räumlichen Index, um die Performance des Werkzeugs für eine Eingabe mit einer großen Anzahl Punkte zu verbessern. Weitere Informationen finden Sie unter Räumlichen Index hinzufügen.
Das Werkzeug kann nicht mit Multipoint-Features ausgeführt werden. Für die Analyse mit Multipoint-Features müssen Sie diese in Singlepoint-Features konvertieren, bevor Sie sie im Extraktionswerkzeug verwenden können. Weitere Informationen finden Sie unter Verarbeiten von Multipoint-Daten.
Wenn der Parameter Resampling-Methode auf Nächster Nachbar (resampling_type = "NEAREST" in Python) festgelegt wurde, stimmt der Feldtyp in der Ausgabetabelle mit dem des Raster-Typs überein. Bei der Resampling-Option Bilinear oder Kubisch ist der Feldtyp stets "Gleitkomma", um die Genauigkeit der interpolierten Werte zu erhalten.
Der Ausgabetabelle wird ein Feld hinzugefügt, um die Werte zu speichern, die in dem Parameter Eindeutiges ID-Feld (unique_id_field in Python) angegeben sind. Standardmäßig stimmt der Name des Feldes mit dem des Datasets mit der Eingabeposition überein. Es wird für die weitere Analyse empfohlen, ein Feld mit Einzelwerten als Kennung für die Positionen zu verwenden.
Wenn der Parameter Als multidimensional verarbeiten deaktiviert ist (process_as_multidimensional = "CURRENT_SLICE" in Python), gelten die folgenden Bedingungen:
- Wenn es sich bei der Eingabe um ein multidimensionales Raster handelt, wird nur der aktuelle Ausschnitt für die Stichprobe verwendet.
- Wenn es sich bei der Eingabe um ein multivariates Raster handelt, wird nur die aktuelle Variable für die Stichprobe verwendet.
Wenn der Parameter Als multidimensional verarbeiten aktiviert ist (process_as_multidimensional = "ALL_SLICES" in Python) gelten die folgenden Bedingungen:
- Wenn es sich bei der Eingabe um ein multidimensionales Raster handelt, werden sämtliche Ausschnitte für die Stichprobe verwendet.
- Wenn es sich bei der Eingabe um ein multivariates Raster handelt, werden sämtliche Variablen für die Stichprobe verwendet.
- Wenn es sich bei der Eingabe um ein multidimensionales Raster mit mehreren Variablen handelt, werden alle Ausschnitte sämtlicher Variablen für die Stichprobe verwendet. Die Variablen müssen dieselben Dimensionen aufweisen.
Wenn der Parameter Als multidimensional verarbeiten aktiviert ist (process_as_multidimensional = "ALL_SLICES" in Python), gilt das jeweilige Szenario der folgenden Bedingungen:
Der Parameter Erfassungsinformationen zu Positionsdaten (acquisition_definition in Python) wird verwendet, um die Teilmenge des Eingabe-Rasters anzugeben, die für Stichproben verwendet werden soll.
Wenn Dimension, Startwert und Endwert angegeben werden, dann werden die Ausschnitte innerhalb des Start- und Endwertes verarbeitet. Der Standardendwert ist der maximale Dimensionswert. Geben Sie den Wert für eine Zeitdimension im Standardformat an. Geben Sie den Wert für andere Dimensionen in der Einheit an, die auch für das Eingabe-Raster verwendet wird.
Wenn Dimension, Startfeld und Endfeld angegeben werden (Startfeld und Endfeld stammen aus den Positionsdaten), dann werden Werte aus diesen Feldern verwendet, um eine Teilmenge des Eingabe-Rasters während der Entnahme von Stichprobenwerten an dieser Position anzugeben.
Die Werte für Relativer Wert oder Tage vorher und Relativer Wert oder Tage danach können verwendet werden, um eine Teilmenge in Bezug auf den Startwert anzugeben, wobei der Vorher-Wert den Anfang der Teilmenge und der Nachher-Wert das Ende der Teilmenge definiert. Die Zeitwerte werden in Tagen und die anderen Dimensionswerte in derselben Einheit angegeben, die auch für das Eingabe-Raster verwendet wird.
Der Parameter Statistiktyp (statistics_type in Python) aggregiert die Werte des Parameters Eingabe-Raster gemäß der Teilmenge im Parameter Erfassungsinformationen zu Positionsdaten.
Wenn der Parameter Layout in Spalten deaktiviert ist (layout = "ROW_WISE" in Python), werden die extrahierten Werte in einem Feld mit dem Namen der Variablen gespeichert. Es werden zusätzliche Felder erstellt, um die nichträumlichen Dimensionswerte zu speichern. Dazu wird der Name der Dimension verwendet.
Wenn der Parameter Layout in Spalten aktiviert ist (layout = "COLUMN_WISE" in Python), werden die extrahierten Werte in Feldern gespeichert, deren Namen dem Schema <variable_name>_<dimension_name>_<dimension_value> entsprechen. Der Parameter Layout in Spalten wird unterstützt, wenn das mulitidimensionale Raster nur eine Variable, die Variable nur eine Dimension und jedes Segment ein Einzelband enthält. Ist dies nicht der Fall, wird eine Fehlermeldung generiert.
Wenn das multidimensionale Raster mehrere Bänder enthält, wird für jedes Band ein zusätzliches Feld erstellt, in dem der aus dem jeweiligen Band extrahierte Wert gespeichert wird.
Positionen, mit denen Werte aus NoData-Zellen extrahiert werden, wird der NoData-Wert aus dem multidimensionalen Eingabe-Raster zugewiesen.
Ein multidimensionales Raster kann ein netCDF-Raster-Layer, ein multidimensionaler Raster-Layer, ein multidimensionales Mosaik-Dataset, eine multidimensionale CRF-Datei, ein multidimensionaler Image-Service oder eine NetCDF-Datei sein. Sie können nicht über das Dialogfeld des Werkzeugs zu einer NetCDF-Datei navigieren, aber Sie können den Dateipfad angeben.
Wenn der Parameter Feature-Class erstellen aktiviert ist (generate_feature_class = "FEATURE_CLASS" in Python), wird eine Point-Feature-Class ausgegeben, deren Attributtabelle die Stichprobenwerte enthält. Im Folgenden sind die möglichen Positionstypen mit einer Beschreibung, wie die Stichprobenwerte genommen werden, aufgeführt:
- Raster: Punkte werden unter Verwendung der Position des Zellenmittelpunktes erstellt.
- Punkt: An jeder Punktposition wird ein Punkt erstellt.
- Polylinie oder Polygon: An jedem Polygon- oder Polylinien-Schwerpunkt wird ein Punkt erstellt.
Der Raumbezug der Ausgabe-Feature-Class entspricht dem der Eingabe-Positions-Raster oder -Features, sofern der Raumbezug nicht in der Umgebung "Ausgabekoordinatensystem" angegeben wurde.
Die Umgebungseinstellung "Faktor für parallele Verarbeitung" wird nur unterstützt, wenn der Parameter Als mehrdimensional verarbeiten aktiviert 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}, {acquisition_definition}, {statistics_type}, {percentile_value}, {buffer_distance}, {layout}, {generate_feature_class})
Parameter | Erklärung | Datentyp |
in_rasters [in_raster,...] | Die Raster mit Werten, die auf der Grundlage der Eingabepositionsdaten entnommen werden. Der Parameter process_as_multidimensional wird nur unterstützt, wenn die Eingabe ein einzelnes multidimensionales Raster ist. | Raster Layer |
in_location_data | Die Daten, mit denen Positionen identifiziert werden, an denen eine Stichprobe genommen wird. Die Eingabe kann ein Raster oder eine Feature-Class sein. | Raster Layer; Feature Layer |
out_table | Die Ausgabe-Tabelle oder -Feature-Class, die die entnommenen Zellenwerte enthält. Das Ausgabeformat ist vom Ausgabeverzeichnis und Ausgabepfad abhängig. Standardmäßig handelt es sich bei der Ausgabe um eine Geodatabase-Tabelle oder eine Geodatabase-Feature-Class in einem Geodatabase-Workspace, um eine dBASE-Tabelle, oder um eine Shapefile-Feature-Class in einem Ordner-Workspace. Der Ausgabe-Datentyp beim Erstellen einer Tabelle oder Feature-Class wird mit dem Parameter generate_feature_class gesteuert. | Table; Point feature class |
resampling_type (optional) | Der Resampling-Algorithmus, der zum Abfragen eines Rasters verwendet wird, um zu bestimmen, wie die Werte aus dem Raster abgerufen werden.
| String |
unique_id_field (optional) | Ein Feld, das für jede Position und für jedes Feature im Eingabe-Positions-Raster oder -Feature einen anderen Wert enthält. | Field |
process_as_multidimensional (optional) | Gibt an, wie die Eingabe-Raster verarbeitet werden. Dieser Parameter ist nur verfügbar, wenn die Eingabe ein einzelnes multidimensionales Raster ist.
| Boolean |
acquisition_definition [acquisition_definition,...] (optional) | Gibt die Zeit, Tiefe oder andere Erfassungsdaten für die Positions-Features an. Es werden nur die folgenden Kombinationen unterstützt:
Für Relative value or days before und Relative value or days after werden nur nicht negative Werte unterstützt. Für Variablen in diesem Dimensionsbereich werden Statistiken mit dem Parameter statistics_type berechnet. | Value Table |
statistics_type (optional) | Gibt den zu berechnenden Statistiktyp an.
| String |
percentile_value (optional) | Das Perzentil, das berechnet wird, wenn der Parameter Statistiktyp auf Perzentil festgelegt wurde. Das Perzentil, das berechnet wird, wenn der Parameter statistics_type auf PERCENTILE festgelegt wurde. Dieser Wert kann im Bereich von 0 bis 100 liegen. Der Standardwert ist 90. | Double |
buffer_distance (optional) | Der Abstand um die Positionsdaten-Features. Der Pufferabstand wird in der linearen Einheit des Raumbezugs des Positions-Features angegeben. Wenn für das Feature ein geographischer Bezug verwendet wird, ist die Einheit Grad. Die Statistiken werden in diesem Pufferbereich berechnet. | Double; Field |
layout (optional) | Gibt an, ob die Stichprobenwerte in Zeilen oder Spalten der Ausgabetabelle angezeigt werden.
| Boolean |
generate_feature_class (optional) | Gibt an, ob eine Point-Feature-Class mit Stichprobenwerten in der zugehörigen Attributtabelle oder eine Tabelle mit Stichprobenwerten erstellt wird.
| Boolean |
Codebeispiel
Extrahieren der Zellenwerte aus mehreren Rastern in eine Tabelle, die auf Eingabepositionen beruht.
import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
Sample(["elevation", "costraster"], "observers.shp",
"c:/sapyexamples/output/samptable","NEAREST")
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: Image 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
inRasters = ["elevation",
"costraster"]
locations = "observers.shp"
outTable = "c:/sapyexamples/output/samptable02"
sampMethod = "NEAREST"
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute Sample
Sample(inRasters, locations, outTable, sampMethod)
Extrahieren der Zellenwerte aus mehreren Rastern in eine Tabelle, die auf Eingabepositionen beruht.
# Name: Sample_Ex_03.py
# Description: Creates a table that shows the temperature values from
# a multidimensional raster, for defined locations.
# The locations are defined by a set
# of points.
# Requirements: Image 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
inRasters = "temperature_1990_2019.nc"
locations = "observers.shp"
outTable = "C:/iapyexamples/output/samptable_03"
sampMethod = ""
uniqueIDField = "FID"
process_as_multidimensional = True
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute Sample
# the temperature value at each slice in temperature_1990_2019.nc will be extracted for each point
Sample(inRasters, locations, outTable, sampMethod, uniqueIDField, process_as_multidimensional)
Extrahieren der Zellenwerte aus mehreren Rastern in eine Tabelle, die auf Eingabepositionen beruht.
# Name: Sample_Ex_04.py
# Description: Creates a table that shows, for each polygon, the average temperature value within the period [1999-01-01T00:00:00 , 2019-01-01-T00:00:00]
# Requirements: Image 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
inRasters = "temperature_1990_2019.nc"
locations = "observers_polygons.shp"
outTable = "C:/iapyexamples/output/samptable_04"
sampMethod = "BILINEAR"
uniqueIDField = "FID"
process_as_multidimensional = True
# StdTime in acquisition_definition is the name of the dimension in inRasters that are related with time
# 1999-01-01T00:00:00 in acquisition_definition is the start time of the period
# 2019-01-01-T00:00:00 in acquisition_definition is the end time of the period
acquisition_definition = "StdTime 1999-01-01T00:00:00 2019-01-01-T00:00:00 # #"
statistic_method = ""
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute Sample
# for each polygon in locations, the average temperature value within the period [1999-01-01T00:00:00 , 2019-01-01-T00:00:00] will be extracted
Sample(inRasters, locations, outTable, sampMethod, uniqueIDField, process_as_multidimensional, acquisition_definition, statistic_method)
Umgebungen
Lizenzinformationen
- Basic: Erfordert Image Analyst oder Spatial Analyst
- Standard: Erfordert Image Analyst oder Spatial Analyst
- Advanced: Erfordert Image Analyst oder Spatial Analyst