Puffer (Analyse)
Zusammenfassung
Erstellt Pufferpolygone mit einem festgelegten Abstand um Eingabe-Features herum. Optional kann ein Zusammenführungsvorgang durchgeführt werden, um die sich überlappenden Puffer zu kombinieren.
Weitere Informationen zur Funktionsweise des Werkzeugs "Puffer"
Abbildung
Verwendung
-
-
Beim Puffern einer projizierten Feature-Class, deren Features ein großes Gebiet umfassen, oder Verwenden einer sehr großen Pufferdistanz können Verzerrungen in der Projektion zu fehlerhaften Puffern führen.
- Punkt- oder Multipoint-Eingabe – Sie können Verzerrungen vermeiden, wenn Sie Punkte mit einer Feature-Class puffern, die ein geographisches Koordinatensystem aufweist, und eine Pufferdistanz in linearen Einheiten angeben (Metern, Fuß usw. im Gegensatz zu Winkeleinheiten wie Grad). Wenn diese Kombination aus Eingaben verwendet wird (Punkt- oder Multipoint-Features in einem geographischen Koordinatensystem gepuffert durch lineare Einheiten), handelt es sich bei der Ausgabe um geodätische Puffer. Geodätische Puffer werden auf jeder ebenen Karte als Ovale und nur bei der Anzeige auf einem Globus als perfekte Kreise dargestellt. (Mit ArcGlobe oder ArcGIS Explorer können Sie geographische Daten auf einem dreidimensionalen Globus anzeigen.)
- Linien- oder Polygoneingabe – Sie können Verzerrungen nur mit Projektionen minimieren, die Entfernungsverzerrungen reduzieren, wie äquidistante Kegelprojektionen oder azimutale äquidistante Projektionen.
Sie können das Koordinatensystem Ihrer Eingabe-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.
Weitere Informationen finden Sie unter Funktionsweise des Werkzeugs "Puffer".
-
Beim Puffern von Polygon-Features können auch negative Pufferdistanzen verwendet werden, um Puffer innerhalb der Polygon-Features zu erstellen. Wenn Sie eine negative Pufferdistanz verwenden, werden die Grenzen der Polygone um den angegebenen Abstand verkleinert.
Vorsicht:Wenn die negative Pufferdistanz groß genug ist, um das Polygon ganz auszublenden, wird eine NULL-Geometrie generiert. Es wird eine Warnmeldung angezeigt, und die Features der NULL-Geometrie werden nicht in die Ausgabe-Feature-Class geschrieben.
-
Wenn Sie die Ausgabe des Werkzeugs "Puffer" als Eingabe für einen Überlagerungsvorgang wie Vereinigen (Union) oder Überschneiden (Intersect) verwenden möchten, sollten Sie unter der Option Dissolve-Typ LIST oder ALL auswählen, um die Anzahl der sich überlappenden Features zu reduzieren, die vom Werkzeug produziert werden. Wählen Sie unter der Option Dissolve-Typ LIST, und wählen Sie unter Dissolve-Feld(er) nur die Attribute aus den Eingabe-Features, die für die durchzuführende Analyse erforderlich sind. Hierdurch wird die Anzahl der räumlichen Beziehungen zwischen den Datasets reduziert, die am Überlagerungsvorgang beteiligt sind. Auf diese Weise verringert sich der Arbeitsspeicher- und Zeitaufwand für die Verarbeitung.
-
Wenn Sie die Option Dissolve-Typ auf NONE einstellen, wird der Ausgabe-Feature-Class das Feld BUFF_DIST hinzugefügt. Dieses Feld enthält die Pufferdistanz für das Puffern jedes Features in der linearen Einheit des Koordinatensystems der Eingabe-Features.
-
Wenn ein Feld aus den Eingabe-Features verwendet wird, um Pufferdistanzen zu entnehmen, können die Werte des Felds entweder eine Zahl (z. B. 5) oder eine Zahl mit einer gültigen linearen Einheit (z. B. 5 Kilometer) sein. Falls die Feldwerte einfach eine Zahl sind, bedeutet dies, dass für diese Entfernungen die lineare Einheit des Raumbezugs der Eingabe-Features gilt. Feldwerte können mit einer beliebigen gültigen linearen Einheit eingegeben werden. Das Feature wird dann mit dieser angegebenen Entfernung gepuffert. 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.
-
Das Werkzeug "Puffer" kann sehr große Multipart-Polygon-Features erstellen, wenn die Option Dissolve-Typ auf ALL oder LIST eingestellt ist. Dies ist insbesondere dann der Fall, wenn ein Dissolve-Feld mit nur wenigen Einzelwerten verwendet oder alle Polygone zu einem Polygon zusammengeführt werden. Sehr große Polygon-Features können zu Anzeigeproblemen führen oder Performance-Einbußen bei der Darstellung der Features auf einer Karte oder bei ihrer Bearbeitung zur Folge haben. Um diese Probleme zu vermeiden, verwenden Sie die Option Multipart zu Singlepart für die Ausgabe des Werkzeugs "Puffer", sodass größere Multipart-Features in viele kleine Features geteilt werden.
-
Ausführliche Informationen zur Funktionsweise der Dissolve-Typen ALL und LIST finden Sie in der Dokumentation des Werkzeugs Zusammenführen (Dissolve).
-
Features mit einer Pufferdistanz gleich 0 sind von der Pufferung ausgeschlossen.
-
Die gepufferten Kanten der linksseitigen und rechtsseitigen Puffer unterscheiden sich aufgrund von Unterschieden in den zur Erstellung der Puffer verwendeten Algorithmen leicht von denen, die durch einen vollständigen Puffer erstellt wurden. Der Unterschied zwischen den beiden Optionen liegt in der Genauigkeit der Eingabe-Features.
-
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 ArcInfo-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 Ausgabe-Feature-Puffer enthält. | Feature Class |
buffer_distance_or_field |
Die Entfernung um die Eingabe-Features herum, in der Pufferzonen erstellt werden. Entfernungen können folgendermaßen angegeben werden: als Wert, der eine Entfernung angibt, oder als Zahlenfeld der Eingabe-Features, das die Entfernungen zum Puffern der einzelnen Features enthält. Wenn keine Entfernungseinheiten angegeben oder als "Unbekannt" eingegeben werden, wird die lineare Einheit des Raumbezugs der Eingabe-Features verwendet. | Linear unit ; Field |
line_side (optional) |
Die Seite(n) der Eingabe-Features, die gepuffert werden.
Lizenz: Dieser optionale Parameter ist mit einer ArcView- oder ArcEditor-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 ArcView- oder ArcEditor-Lizenz nicht verfügbar. | String |
dissolve_option (optional) |
Beschreibt den Vorgang "Zusammenführen", der zum Entfernen von Überlappungen des Ausgabepuffers durchgeführt wird.
| String |
dissolve_field [dissolve_field,...] (optional) |
Die Liste der Felder aus den Eingabe-Features, anhand derer die Ausgabepuffer zusammengeführt werden. Alle Puffer, die in den aufgelisteten Feldern (übertragen aus den Eingabe-Features) Attributwerte 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 # Author: ESRI # 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)