Puffer (Analyse)
Zusammenfassung
Erstellt Pufferpolygone mit einem festgelegten Abstand um Eingabe-Features.
Weitere Informationen zur Funktionsweise des Werkzeugs "Puffer"
Bild
Verwendung
-
Beim Puffern einer projizierten Feature-Class, deren Features ein großes Gebiet umfassen, oder dem Verwenden eines sehr großen Pufferabstands können Verzerrungen in der Projektion zu ungenauen Puffern führen. Sie können Verzerrungen vermeiden, wenn Sie mit einer Feature-Class puffern, die ein geographisches Koordinatensystem aufweist, und einen Pufferabstand in linearen Einheiten angeben (Metern, Fuß usw. im Gegensatz zu Winkeleinheiten wie Grad). Wenn diese Kombination von Eingaben verwendet wird, generiert das Werkzeug echte geodätische Puffer, die Entfernungen auf der Erdoberfläche genau darstellen. Geodätische Puffer werden möglicherweise auf einer ebenen Karte ungewohnt dargestellt, aber bei der Anzeige auf einem Globus sehen diese Puffer richtig aus. (Mit ArcGlobe oder ArcGIS Explorer können Sie geographische Daten auf einem dreidimensionalen Globus anzeigen.) Weitere Informationen finden Sie unter Funktionsweise des Werkzeugs "Puffer".
Hinweis:Sie können das Koordinatensystem einer Feature-Class mit dem Werkzeug Projizieren ändern. Oder Sie legen die Geoverarbeitungsumgebung des Ausgabekoordinatensystems vor der Ausführung des Werkzeugs Puffer fest. Dieses Koordinatensystem wird dann für die Erstellung von Puffern verwendet.
Verbessern Sie die Genauigkeit von Puffern, die mit projizierten Eingaben erstellt wurden, indem Sie eine Projektion verwenden, die die Entfernungsverzerrung minimiert, z. B. eine Äquidistante Kegelprojektion oder eine Azimutal äquidistante Projektion, und die für Ihre Eingabe geographisch geeignet ist.
Wenn Features in einem projizierten Koordinatensystem mit Ausgabe zu einer Geodatabase-Feature-Class gepuffert werden, enthalten die erstellten Geometrien häufig Kreisbogen-Segmente, besonders bei der Pufferung von Punkten. Wenn diese Puffer, die Kreisbögen enthalten, erneut in ein anderes Koordinatensystem projiziert werden, werden die Position und die Größe der ursprünglichen Puffer transformiert, aber die Form der Puffer ändert sich nicht. Dies bewirkt, dass die neu projizierten Puffer die vom ursprünglichen Puffer abgedeckte Fläche nicht mehr genau darstellen. Wenn Sie Puffer, die Kreisbögen enthalten, neu projizieren möchten, verwenden Sie zunächst das Werkzeug Verdichten, um Kreisbogensegmente in gerade Linien zu konvertieren. Projizieren Sie dann die Puffer neu.
-
Die Ausgabe-Feature-Class weist ein Feld BUFF_DIST auf, das den Pufferabstand für das Puffern jedes Features in der linearen Einheit des Koordinatensystems der Eingabe-Features enthält. Wenn ein Dissolve-Typ von ALL oder LIST verwendet wird, weist die Ausgabe dieses Feld nicht auf.
-
Beim Puffern von Polygon-Features können auch negative Pufferabstände verwendet werden, um Puffer innerhalb der Polygon-Features zu erstellen. Wenn Sie einen negativen Pufferabstand verwenden, werden die Grenzen der Polygone um den angegebenen Abstand verkleinert.
Achtung:Wenn der negative Pufferabstand groß genug ist, um das Polygon ganz auszublenden, wird eine NULL-Geometrie generiert. Es wird eine Warnmeldung angezeigt, und die Features mit NULL-Geometrie werden nicht in die Ausgabe-Feature-Class geschrieben.
-
Wenn ein Feld aus den Eingabe-Features verwendet wird, um Pufferabstände zu entnehmen, können die Werte des Feldes entweder eine Zahl (z. B. 5) oder eine Zahl mit einer gültigen linearen Einheit (z. B. 5 Kilometer) sein. Wenn ein Feldwert nur aus einer Zahl besteht, wird davon ausgegangen, dass die Entfernung in der linearen Einheit des Raumbezugs der Eingabe-Features angegeben ist (außer wenn sich die Eingabe-Features in einem geographischen Koordinatensystem befinden; dann wird der Wert in Metern angenommen). Falls die in den Feldwerten angegebene lineare Einheit ungültig ist oder nicht erkannt wird, wird standardmäßig die lineare Einheit des Raumbezugs der Eingabe-Features verwendet.
-
Die Schaltfläche Feld hinzufügen des Parameters Dissolve-Feld(er) wird nur in ModelBuilder verwendet. Der Parameter Dissolve-Feld(er) enthält in ModelBuilder keine Feldnamen belegt, wenn das vorherige Werkzeug nicht ausgeführt wurde oder die abgeleiteten Daten nicht vorhanden sind. Mit der Schaltfläche "Feld hinzufügen" können der Liste Dissolve-Feld(er) erforderliche Felder hinzugefügt werden, um das Dialogfeld des Werkzeugs "Puffer" zu vervollständigen.
Die Optionen LEFT, RIGHT und OUTSIDE_ONLY für den Seitentyp (line_side) und die Option FLAT für den Endtyp (line_end_type) stehen nur in Verbindung mit einer Advanced-Lizenz zur Verfügung.
Syntax
Parameter | Erläuterung | Datentyp |
in_features |
Die Eingabe-Punkt-, -Linien- oder -Polygon-Features, die gepuffert werden sollen. | Feature Layer |
out_feature_class |
Die Feature-Class, die die Ausgabepuffer enthält. | Feature Class |
buffer_distance_or_field |
Die Entfernung um die Eingabe-Features, die gepuffert werden. Entfernungen können folgendermaßen angegeben werden: als Wert, der eine lineare Entfernung angibt, oder als Feld der Eingabe-Features, das die Entfernung zum Puffern der einzelnen Features enthält. Wenn lineare Einheiten nicht angegeben oder als Unbekannt eingegeben werden, wird die lineare Einheit des Raumbezugs der Eingabe-Features verwendet. Wenn bei der Angabe einer Entfernung bei der Skripterstellung die gewünschte lineare Einheit zwei Wörter umfasst, wie im Englischen 'Decimal Degrees', fassen Sie die zwei Wörter zu einem zusammen (z. B., '20 DecimalDegrees'). | Linear unit ;Field |
line_side (optional) |
Die Seite(n) der Eingabe-Features, die gepuffert werden.
Lizenz: Dieser optionale Parameter ist mit einer Basic- oder Standard-Lizenz nicht verfügbar. | String |
line_end_type (optional) |
Die Form des Puffers am Ende der Linien-Eingabe-Features. Dieser Parameter ist für Polygon-Eingabe-Features nicht gültig.
Lizenz: Dieser optionale Parameter ist mit einer Basic- oder Standard-Lizenz nicht verfügbar. | String |
dissolve_option (optional) |
Gibt das Zusammenführen (Dissolve) an, das zum Entfernen von Pufferüberlappungen ausgeführt werden soll.
| String |
dissolve_field [dissolve_field,...] (optional) |
Die Liste der Felder aus den Eingabe-Features, anhand derer die Ausgabepuffer zusammengeführt werden. Alle Puffer, die Attributwerte in den aufgelisteten Feldern (übertragen aus den Eingabe-Features) gemeinsam nutzen, werden zusammengeführt. | Field |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie das Werkzeug "Puffer" verwendet wird.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Buffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet", "FULL", "ROUND", "LIST", "Distance")
Suche nach Flächen mit geeigneter Vegetation, in denen sich keine Bereiche befinden, auf die sich die Einflüsse von Hauptstraßen auswirken:
# Name: Buffer.py
# Description: Find areas of suitable vegetation which exclude areas heavily impacted by major roads
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/Habitat_Analysis.gdb"
# Select suitable vegetation patches from all vegetation
veg = "vegtype"
suitableVeg = "C:/output/Output.gdb/suitable_vegetation"
whereClause = "HABITAT = 1"
arcpy.Select_analysis(veg, suitableVeg, whereClause)
# Buffer areas of impact around major roads
roads = "majorrds"
roadsBuffer = "C:/output/Output.gdb/buffer_output"
distanceField = "Distance"
sideType = "FULL"
endType = "ROUND"
dissolveType = "LIST"
dissolveField = "Distance"
arcpy.Buffer_analysis(roads, roadsBuffer, distanceField, sideType, endType, dissolveType, dissolveField)
# Erase areas of impact around major roads from the suitable vegetation patches
eraseOutput = "C:/output/Output.gdb/suitable_vegetation_minus_roads"
xyTol = "1 Meters"
arcpy.Erase_analysis(suitableVeg, roadsBuffer, eraseOutput, xyTol)