Extract by Circle (Spatial Analyst)
Zusammenfassung
Extrahiert die Zellen eines Rasters auf Basis eines Kreises.
Verwendung
-
Der Mittelpunkt der Zelle wird verwendet, um zu bestimmen, ob eine Zelle innerhalb oder außerhalb eines Kreises liegt. Wenn sich der Mittelpunkt innerhalb des Kreisbogens befindet, gilt die Zelle als vollständig innerhalb des Kreises, auch wenn Teile der Zelle außerhalb des Kreises liegen.
-
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 ein Esri Grid Stack. Beachten Sie, dass der Name eines Esri Grid Stack 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.
Syntax
Parameter | Erläuterung | Datentyp |
in_raster |
Das Eingabe-Raster, aus dem Zellen extrahiert werden. | Raster Layer |
center_point |
Die Point-Klasse gibt die mittlere Koordinate (X, Y) des Kreises vor, der den zu extrahierenden Bereich definiert. Die Klasse weist folgendes Format auf:
Die Koordinaten werden in den gleichen Karteneinheiten angegeben wie das Eingabe-Raster. | Point |
radius |
Radius des Kreises, der den zu extrahierenden Bereich definiert. Der Radius wird in Karteneinheiten angegeben und liegt in den gleichen Einheiten vor wie das Eingabe-Raster. | Double |
extraction_area (optional) |
Gibt an, ob Zellen innerhalb oder außerhalb des Eingabekreises 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
In diesem Beispiel werden Zellen innerhalb eines 500-Meter-Radius um eine Punktposition extrahiert.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtCircle = ExtractByCircle("elevation", arcpy.Point(482838.823, 222128.982),
500, "INSIDE")
outExtCircle.save("c:/sapyexamples/output/extcircle")
In diesem Beispiel werden Zellen innerhalb eines 1,000-Meter-Radius um eine Punktposition extrahiert.
# Name: ExtractByCircle_Ex_02.py
# Description: Extracts the cells of a raster based on a circle.
# 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 = ("elevation")
centerPoint = arcpy.Point(482838.823, 222128.982)
circRadius = 1000
extractType = "INSIDE"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByCircle
outExtCircle = ExtractByCircle(inRaster, centerPoint, circRadius,
extractType)
# Save the output
outExtCircle.save("c:/sapyexamples/output/extcircle02")