Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Extrahiert die Zellen eines Rasters auf Basis eines Polygons.
Verwendung
Um in einer Feature-Class eine Extraktion auf der Grundlage eines Polygons vorzunehmen, statt eine Reihe von XY-Paaren bereitzustellen, können Sie das Werkzeug Nach Maske extrahieren verwenden.
Der Mittelpunkt der Zelle wird verwendet, um zu bestimmen, ob eine Zelle innerhalb oder außerhalb eines Polygons liegt. Wenn sich der Mittelpunkt innerhalb der Bögen des Polygons befindet, gilt die Zelle als vollständig innerhalb, auch wenn Teile der Zelle außerhalb des Polygons liegen.
Für das Polygon gilt eine Obergrenze von 1.000 Stützpunkten. Polygonstützpunkte müssen nacheinander im Uhrzeigersinn eingegeben werden. Der erste und letzte Stützpunkt müssen identisch sein, um jedes Polygon zu schließen, wenn mehrere Polygone verwendet werden sollen. Wenn die letzten Punkte nicht identisch sind, wird das Polygon automatisch geschlossen. Die Bögen des Polygons können einander schneiden, gefaltete Polygone werden jedoch nicht empfohlen.
Zellenpositionen, die nicht ausgewählt wurden, wird der Wert "NoData" zugewiesen.
Wenn ein Multiband-Raster als Eingabe angegeben wird, wird als Ausgabe ein neues Multiband-Raster erstellt. Jedes Band im Eingabe-Multiband-Raster wird entsprechend analysiert.
Das Standardausgabeformat ist Geodatabase-Raster. Wenn ein Esri Grid Stack als Ausgabeformat angegeben wurde, beachten Sie, dass der Name nicht mit einer Zahl beginnen, keine Leerzeichen enthalten und nicht mehr als 9 Zeichen aufweisen darf.
Wenn die Eingabe ein Layer ist, der aus einem Multiband-Raster mit mehr als drei Bändern erstellt wurde, berücksichtigt der Extraktionsvorgang nur die vom Layer geladenen (symbolisierten) Bänder. Das Ausgabe-Multiband-Raster kann demnach nur drei Bänder aufweisen, die den Bändern in der Anzeige des Eingabe-Layers entsprechen.
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
ExtractByPolygon (in_raster, polygon, {extraction_area})
Parameter | Erläuterung | Datentyp |
in_raster | Das Eingabe-Raster, aus dem Zellen extrahiert werden. | Raster Layer |
polygon [point,...] | Ein Polygon (oder Polygone), das den Bereich des Eingabe-Rasters definiert, der extrahiert werden soll. Jeder Polygonteil ist eine Liste von Stützpunkten, die durch Point-Klassen definiert sind. Optional kann eine Polygon-Klasse verwendet werden, um eine Liste von Polygonteilen zu definieren. Die Punkte werden als XY-Koordinatenpaare in den gleichen Karteneinheiten angegeben wie das Eingabe-Raster. Das Objekt hat folgendes Format:
Beachten Sie, dass die letzte Koordinate mit der ersten identisch sein sollte, um ein Polygon zu schließen. | Point |
extraction_area (optional) | Gibt an, ob Zellen innerhalb oder außerhalb des Eingabepolygons extrahiert werden sollen.
| String |
Rückgabewert
Name | Erläuterung | Datentyp |
out_raster | Das Ausgabe-Raster mit den Zellenwerten, die aus dem Eingabe-Raster extrahiert wurden. | Raster |
Codebeispiel
ExtractByPolygon – Beispiel 1 (Python-Fenster)
In diesem Beispiel werden Zellen auf Grundlage der definierten Polygonkoordinaten aus einem Raster extrahiert.
import arcpy
from arcpy import env
from arcpy.sa import *
polyPoints = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200),
arcpy.Point(743500, 4322000),arcpy.Point(742900, 4321800)]
env.workspace = "C:/sapyexamples/data"
extPolygonOut = ExtractByPolygon("soil", polyPoints, "INSIDE")
extPolygonOut.save("c:/sapyexamples/output/extpoly")
ExtractByPolygon – Beispiel 2 (eigenständiges Skript)
In diesem Beispiel werden Zellen auf Grundlage der definierten Polygonkoordinaten aus einem Raster extrahiert.
# Name: ExtractByPolgyon_Ex_02.py
# Description: Extracts the cells of a raster based on a polygon.
# 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"
polyPoints = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200),
arcpy.Point(743500, 4322000),arcpy.Point(742900, 4321800)]
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByPolygon
extPolygonOut = ExtractByPolygon(inRaster, polyPoints, "INSIDE")
# Save the output
extPolygonOut.save("c:/sapyexamples/output/extpoly02")
Umgebung
Lizenzierungsinformationen
- ArcGIS for Desktop Basic: Erfordert Spatial Analyst
- ArcGIS for Desktop Standard: Erfordert Spatial Analyst
- ArcGIS for Desktop Advanced: Erfordert Spatial Analyst