Mehrfache Werte in Punkte extrahieren (Spatial Analyst)

Zusammenfassung

Extrahiert Zellenwerte an Positionen, die in einer Point-Feature-Class angeben sind, aus einem oder mehreren Rastern und zeichnet die Werte in der Attributtabelle der Point-Feature-Class auf.

Verwendung

  • Mit diesem Werkzeug werden die Eingabe-Punkt-Features und ggf. ihre interne Feature-ID geändert, die mit "ObjectID", "FID" oder "OID" benannt werden kann. Es wird empfohlen, vor Durchführung der Analyse ein Feld für die eindeutige ID in die Attributtabelle einzufügen.

  • Aus allen Eingabe-Rastern werden an jeder Position Zellenwerte extrahiert. An die Eingabe-Point-Feature-Class wird ein neues Feld angehängt, das die Zellenwerte für die einzelnen Eingabe-Raster enthält.

  • Zusätzliche Attribute aus der Eingabe-Raster-Tabelle, sofern vorhanden, werden nicht an die Eingabe-Punkt-Features angehängt.

  • Unter Berücksichtigung der Analyseumgebung wird für die Eingabe-Raster kein Resampling durchgeführt. Stattdessen werden die Zellenwerte aus allen Eingabe-Rastern in der ursprünglichen Auflösung und mit demselben Raumbezug extrahiert. Dazu werden die Eingabepositionen in den Raumbezug des Rasters, aus dem die Werte extrahiert werden, projiziert.

    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.

  • Beim Shapefile-Format ist die Länge eines Feldnamens auf maximal 10 Zeichen beschränkt. Folglich werden die Namen von Feldern, die an die Attributtabelle eines Eingabe-Shapefiles angehängt werden, standardmäßig gekürzt und eindeutig gemacht. Dies macht es möglicherweise schwierig, zwischen den Feldern zu unterscheiden, besonders wenn die Namen lang oder sehr ähnlich sind. In diesem Fall wird empfohlen, die Eingabe-Shapefile in eine File-Geodatabase zu kopieren und die Feature-Class für die Analyse zu verwenden.

  • Wenn die Werte der Eingabe-Punkt-Features (in_point_features in Python) mit einem XY-Ereignis-Layr definiert worden sind, wird die zugrunde liegende Ereignistabelle direkt aktualisiert. Das Werkzeug schlägt fehl, wenn die zugrunde liegende Tabelle schreibgeschützt ist.

  • Wenn es sich bei dem Wert für die Eingabe-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 im Werkzeug 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.

  • Es kann jede beliebige Kombination von Rastern (Einzelband- oder Multiband-Raster) für den Parameter 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 Eingabe-Multiband-Raster verarbeitet werden soll, erstellen Sie zunächst mit dem Werkzeug Bänder zusammensetzen ein Raster-Dataset, das aus den betreffenden Bändern besteht. Verwenden Sie das Ergebnis in der Liste der Eingabe-Raster.

  • Wenn die Eingabe ein Multiband-Raster ist, wird für alle Bänder ein Feld hinzugefügt. Dabei wird dem Namen des Ausgabefeldes das Präfix b1_, b2_, …bn hinzugefügt, das die Bandnummer angibt.

  • Die Namen von Ausgabefeldern werden standardmäßig aus dem Namen des Eingabe-Rasters erstellt. Andernfalls können Sie einen eindeutigen Namen für jedes Feld angeben, in dem Rasterwerte gespeichert werden sollen.

  • Der Parameter Bilineare Interpolation von Werten an Punktpositionen (bilinear_interpolate_values in Python) gibt an, ob die Werte per Interpolation aus dem Raster abgerufen werden sollen. Die Standardeinstellung besteht darin, den genauen Zellenwert an den Eingabepositionen zu extrahieren. Zum Extrahieren der interpolierten Werte unter Verwendung der bilinearen Methode aktivieren Sie diesen Parameter (bilinear_interpolate_values = "BILINEAR" in Python).

  • 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 zu den Geoverarbeitungsumgebungen für dieses Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Punkt-Features

Die Eingabe-Punkt-Features, zu denen Raster-Werte hinzugefügt werden.

Feature Layer
Eingabe-Raster

Die Eingabe-Raster-Werte, die auf der Grundlage der Eingabe-Punkt-Feature-Position extrahiert werden.

Optional können Sie den Namen für das Feld angeben, in dem der Raster-Wert gespeichert werden soll. Standardmäßig wird ein eindeutiger Feldname auf der Grundlage des Namens des Eingabe-Raster-Datasets erstellt.

Extract Values
Bilineare Interpolation von Werten an Punktpositionen
(optional)

Gibt an, ob die Interpolation verwendet wird.

  • Nicht aktiviert – Es wird keine Interpolation angewendet; der Wert des Zellenmittelpunktes wird verwendet. Dies ist die Standardeinstellung.
  • Aktiviert – Der Wert der Zelle wird mit bilinearer Interpolation von den benachbarten Zellen mit gültigen Werten berechnet. NoData-Werte werden in der Interpolation ignoriert, außer wenn alle benachbarten Zellen NoData sind.
Boolean

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisierte Punkt-Features

Die aktualisierten Punkt-Features.

Feature Class

ExtractMultiValuesToPoints(in_point_features, in_rasters, {bilinear_interpolate_values})
NameErläuterungDatentyp
in_point_features

Die Eingabe-Punkt-Features, zu denen Raster-Werte hinzugefügt werden.

Feature Layer
in_rasters
[Raster, {Output Field Name}]

Die Eingabe-Raster-Werte, die auf der Grundlage der Eingabe-Punkt-Feature-Position extrahiert werden.

Optional können Sie den Namen für das Feld angeben, in dem der Raster-Wert gespeichert werden soll. Standardmäßig wird ein eindeutiger Feldname auf der Grundlage des Namens des Eingabe-Raster-Datasets erstellt.

Extract Values
bilinear_interpolate_values
(optional)

Gibt an, ob die Interpolation verwendet wird.

  • NONEEs wird keine Interpolation angewendet; der Wert des Zellenmittelpunktes wird verwendet. Dies ist die Standardeinstellung.
  • BILINEARDer Wert der Zelle wird mit bilinearer Interpolation von den benachbarten Zellen mit gültigen Werten berechnet. NoData-Werte werden in der Interpolation ignoriert, außer wenn alle benachbarten Zellen NoData sind.
Boolean

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_point_features

Die aktualisierten Punkt-Features.

Feature Class

Codebeispiel

ExtractMultiValuesToPoints – Beispiel 1 (Python-Fenster)

Extrahieren der Zellenwerte aus mehreren Rastern in Attribute in einer Point-Shapefile-Feature-Class.

import arcpy
from arcpy.sa import *
from arcpy import env 
env.workspace = "c:/sapyexamples/data"
ExtractMultiValuesToPoints("observers.shp", [["elevation", "ELEV"], 
                           ["costraster", "COST"], ["flowdir", "DIR"]], "NONE")
ExtractMultiValuesToPoints – Beispiel 2 (eigenständiges Skript)

Extrahieren der Zellenwerte aus mehreren Rastern mittels Interpolation in Attribute in einer Point-Shapefile-Feature-Class.

# Name: ExtractMultiValuesToPoints_Ex_02.py
# Description: Extracts the cells of multiple rasters as attributes in
#    an output point feature class.  This example takes a multiband IMG
#    and two GRID files as input.
# 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
inPointFeatures = "poi.shp"
inRasterList = [["doqq.img", "doqqval"], ["redstd", "focalstd"], 
                ["redmin", "focalmin"]]

# Execute ExtractValuesToPoints
ExtractMultiValuesToPoints(inPointFeatures, inRasterList, "BILINEAR")

Verwandte Themen