Nach Punkten extrahieren (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Extrahiert die Zellen eines Rasters auf Grundlage einer Reihe von Koordinatenpunkten.

Abbildung

Abbildung "Mit Polygon extrahieren"
OutRas = ExtractByPoints(InRas1, [Point(1.5,0.5),Point(1.5,4.5),Point(4.5,4.5),Point(4.5,0.5)], "INSIDE")

Verwendung

  • Zusätzliche Attribute aus dem Eingabe-Raster, sofern vorhanden, werden unverändert in die Attributtabelle des Ausgabe-Rasters übernommen. Je nach Eigenschaft, die erfasst wird, müssen einige der Attributwerte möglicherweise neu berechnet werden.

  • Wenn ein Multiband-Raster als Eingabe-Raster (in_raster in Python) angegeben wird, werden alle Bänder verwendet.

    Wenn eine Auswahl von Bändern aus einem Multiband-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 dann das Ergebnis als Eingabe-Raster (in_raster in Python).

    Das Standardausgabeformat ist ein Geodatabase-Raster. Wenn ein Esri Grid Stack als Ausgabeformat angegeben wurde, beachten Sie, dass der Stack-Name nicht mit einer Zahl beginnen, keine Leerzeichen enthalten und nicht mehr als 9 Zeichen aufweisen darf.

  • Zellenpositionen, die nicht ausgewählt wurden, wird der Wert "NoData" zugewiesen.

  • Bei einem ganzzahligen Eingabe-Raster ist auch das Ausgabe-Raster ganzzahlig. Wenn die Eingaben Gleitkommawerte sind, ist die Ausgabe ebenfalls ein Gleitkommawert.

  • Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Syntax

ExtractByPoints(in_raster, points, {extraction_area})
ParameterErklärungDatentyp
in_raster

Das Eingabe-Raster, aus dem Zellen extrahiert werden.

Raster Layer
points
[point,...]

Eine Python-Liste von Point-Klassenobjekten bezeichnet die Positionen, an denen Werte aus dem Raster extrahiert werden.

Die Punktobjekte werden in einer Liste von XY-Koordinatenpaaren in den gleichen Karteneinheiten angegeben wie das Eingabe-Raster.

Das Objekt hat folgendes Format:

  • [point(x1,y1), point(x2,y2),...]
Point
extraction_area
(optional)

Gibt an, ob Zellen auf Grundlage der angegebenen Punktpositionen (inside) oder außerhalb der Punktpositionen (outside) extrahiert werden sollen.

  • INSIDEEin Schlüsselwort, das angibt, dass die Zelle, in der der ausgewählte Punkt liegt, in das Ausgabe-Raster geschrieben werden soll. Alle Zellen außerhalb des Feldes erhalten NoData-Werte im Ausgabe-Raster.
  • OUTSIDEEin Schlüsselwort, das angibt, dass die Zellen außerhalb der Eingabepunkte ausgewählt und in das Ausgabe-Raster geschrieben werden sollen.
String

Rückgabewert

NameErklärungDatentyp
out_raster

Das Ausgabe-Raster mit den Zellenwerten, die aus dem Eingabe-Raster extrahiert wurden.

Raster

Codebeispiel

ExtractByPoints – Beispiel 1 (Python-Fenster)

In diesem Beispiel werden Zellen auf Grundlage der angegebenen Punktkoordinaten aus einem Raster extrahiert.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
pointList = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200),
             arcpy.Point(734500,4322000)]
outPointExtract = ExtractByPoints("soil", pointList,"INSIDE")
outPointExtract.save("c:/sapyexamples/output/pntextract")
ExtractByPoints – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel werden Zellen auf Grundlage der angegebenen Punktkoordinaten aus einem Raster extrahiert.

# Name: ExtractByPoints_Ex_02.py
# Description: Extracts the cells of a raster based on 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
inRaster = "soil"
pointList = [arcpy.Point(743050, 4321275), 
             arcpy.Point(743100, 4321200), 
             arcpy.Point(743500, 4322000),
             arcpy.Point(742900, 4321800)]

# Execute ExtractByPoints
outPointExtract = ExtractByPoints("soil", pointList,"INSIDE")

# Save the output 
outPointExtract.save("c:/sapyexamples/output/pntext")

Lizenzinformationen

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

Verwandte Themen