Stichprobe (Image Analyst)

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

  • NEARESTEs wird das Nächster-Nachbar-Resampling verwendet. Dies ist die Standardeinstellung.
  • BILINEAREs wird die bilineare Interpolation verwendet.
  • CUBICEs wird die kubische Faltung verwendet.
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.

  • ALL_SLICESStichproben werden für alle Dimensionen (z. B. Zeit oder Tiefe) eines multidimensionalen Datasets verarbeitet.
  • CURRENT_SLICEStichproben werden aus dem aktuellen Ausschnitt eines multidimensionalen Datasets verarbeitet. Dies ist die Standardeinstellung.
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:

  • Dimension + Startfeld oder -wert
  • Dimension + Startfeld oder -wert + Endfeld oder -wert
  • Dimension + Startfeld oder -wert + Relativer Wert oder Tage vorher + Relativer Wert oder Tage danach

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.

  • MINIMUMEs wird der Minimalwert innerhalb des angegebenen Bereichs berechnet.
  • MAXIMUMEs wird der Maximalwert innerhalb des angegebenen Bereichs berechnet.
  • MEDIANEs wird der Medianwert innerhalb des angegebenen Bereichs berechnet.
  • MEANEs wird der Mittelwert für den angegebenen Bereich berechnet.
  • SUMEs wird der Gesamtwert der Variablen innerhalb des angegebenen Bereichs berechnet.
  • MAJORITYEs wird der am häufigsten auftretende Wert berechnet.
  • MINORITYEs wird der am seltensten auftretende Wert berechnet.
  • STDEs wird die Standardabweichung berechnet.
  • PERCENTILEEs wird ein definiertes Perzentil innerhalb des angegebenen Bereichs berechnet.
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.

  • ROW_WISEDie Stichprobenwerte werden in separaten Zeilen der Ausgabetabelle angezeigt. Dies ist die Standardeinstellung.
  • COLUMN_WISEDie Stichprobenwerte werden in separaten Spalten der Ausgabetabelle angezeigt. Diese Option ist nur gültig, wenn das mulitidimensionale Eingabe-Raster eine Variable und eine Dimension enthält und jedes Segment ein Einzelband-Raster ist.
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.

  • TABLEEine Tabelle mit Stichprobenwerten wird generiert. Dies ist die Standardeinstellung.
  • FEATURE_CLASSEs wird eine Point-Feature-Class mit Stichprobenwerten in der zugehörigen Attributtabelle generiert.
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.ia import *
env.workspace = "C:/iapyexamples/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: 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)
Sample – Beispiel 3 (eigenständiges Skript)

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)
Sample – Beispiel 4 (eigenständiges Skript)

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)

Lizenzinformationen

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

Verwandte Themen