Puffer (Coverage)
Zusammenfassung
Erstellt Pufferpolygone um bestimmte Features des Eingabe-Coverages.
Weitere Informationen zur Funktionsweise des Werkzeugs "Puffer"
Bild
Verwendung
-
Mit der Option POLY können negative und positive Werte als Pufferabstand verwendet werden. Wenn das Pufferfeld positive und negative Zahlen enthält, ist es möglich, im selben Coverage einige Polygone zu verkleinern und andere zu vergrößern.
-
Die Optionen ROUND, FLAT, FULL, LEFT und RIGHT betreffen nur Liniendaten.
-
Mit dem Werkzeug "Puffer" können kleine Splitterpolygone erstellt werden. Sie können Probleme verursachen, wenn sie innerhalb einer Pufferzone als nicht gepufferte Bereiche kodiert sind. Mit dem Werkzeug Entfernen (Eliminate) können Sie diese entfernen.
-
Features mit einem Pufferabstand von 0 werden nicht gepuffert. Weisen Sie Features im Eingabe-Coverage, die Sie nicht puffern möchten, in einem Pufferfeld den Pufferabstand 0 und in einer Puffer-Tabelle den Wert DIST zu.
-
Wenn Sie das Werkzeug "Puffer" auf ein Coverage anwenden, das Inselpolygone enthält, werden alle Polygone gepuffert, deren Pufferabstand größer als 0 ist. Da sich der Inselpuffer jedoch vollständig im Puffer des ihn umgebenden Polygons befindet, wird er während der Phase der Zusammenführung in diesem aufgelöst. Die Inselpuffer sind dann nicht sichtbar.
-
Nodes können für Coverages mit oder ohne NAT-Datei gepuffert werden. Wenn keine NAT vorhanden ist, müssen alle Nodes in der AAT-Datei nummeriert sein (FNODE# und TNODE# müssen größer 0 sein). Wenn die Node-Nummern gleich 0 sind, starten Sie das Werkzeug Nodes neu nummerieren.
-
Mit den Optionen LEFT und RIGHT werden Puffer links bzw. rechts von einer Linie erstellt. Bei der Interpretation der linken und rechten Seite einer Linie ist Vorsicht geboten. Ein einzelnes Liniensegment definiert zwei Halbebenen, indem ein rechteckiger Puffer in zwei eindeutig definierte linke und rechte Abschnitte zerschnitten wird. Wenn Liniensegmente verbunden werden, können sich Punkte, die sich auf der linken Seite des einen Segments befinden, auf der rechten Seite eines anderen verbundenen Segments befinden. Diese Mehrdeutigkeit kann durch das Konzept, die Linie nicht zu überkreuzen, vermieden werden.
-
Die Optionen LEFT und RIGHT verwenden die topologische linke und rechte Seite der Linie. Daher muss für diese Optionen eine Linientopologie vorhanden sein. Verwenden Sie zum Zugriff auf die Linienpufferarten im Eingabe-Coverage das Werkzeug Topologie erstellen (Build) mit den Optionen LINE und NODE.
-
Die Funktion BUFFER arbeitet im euklidischen Raum und verwendet einen zweidimensionalen Algorithmus. Der Puffer hat dieselbe Breite unabhängig vom Koordinatensystem. Er gibt weder die Krümmung noch die Form der Erde wieder. Um ein optimales Ergebnis zu erzielen, erstellen Sie den Puffer in einer Kartenprojektion, bei der die Verzerrung im relevanten Bereich minimiert wird.
-
Bei Puffern, die Linien umgeben, entspricht die Fuzzy-Toleranz für das Ausgabe-Coverage möglicherweise nicht der Fuzzy-Toleranz des Eingabe-Coverages. Die Ausgabetoleranz kann jedoch als eine Funktion des Pufferabstands zurückgesetzt werden. Dies ist vor allem bei großen Pufferdistanzen der Fall und verdeutlicht die zunehmende Annäherung an einen Kreis mit einer festen Anzahl gerader Liniensegmente. Um diesen Effekt zu vermeiden, können Sie einen Puffer auch schrittweise vergrößern. Führen Sie zunächst das Werkzeug "Puffer" mit der Option LINE und einem niedrigen Pufferabstand aus. Die Fuzzy-Toleranz wird nur für Puffer um Linien geändert. Bei Puffern, die Polygone umgeben, bleibt sie unverändert.
-
Die Koordinatengenauigkeit des Ausgabe-Coverages wird durch die aktuelle Verarbeitungsregel entsprechend der Umgebungseinstellung Genauigkeit für abgeleitete Coverages bestimmt. Wenn die Verarbeitungsregel in der aktuellen Sitzung noch nicht festgelegt wurde, wird die Verarbeitungsregel HIGHEST verwendet. Das Werkzeug "Puffer" erstellt dann ein Ausgabe-Coverage mit der gleichen Genauigkeit wie im Eingabe-Coverage.
-
Für Coverages mit einfacher Genauigkeit und auch doppelter Genauigkeit wird vom Werkzeug "Puffer" eine Mindesttoleranz auf Basis der mathematischen Genauigkeit des Coverages (basierend auf der Grenze und der Anzahl an Dezimalstellen) berechnet. Die berechnete Mindesttoleranz wird verwendet, wenn sie größer als die eingegebene Fuzzy-Toleranz ist.
Weitere Informationen zur Berechnung der Standard-Fuzzy-Toleranz
-
Die Projektionsdatei (PRJ) wird in das Ausgabe-Coverage kopiert.
Syntax
Parameter | Erläuterung | Datentyp |
in_cover |
Das Coverage mit den Features, die gepuffert werden sollen. | Coverage |
out_cover |
Das zu erstellende Polygon-Puffer-Coverage. | Coverage |
feature_type (optional) |
Die zu puffernde Feature-Class:
| String |
buffer_item (optional) |
Ein Feld in der Feature-Attributtabelle des Eingabe-Coverages, dessen Wert als Pufferabstand des Features verwendet wird. Wenn eine Puffer-Tabelle verwendet wird, dient das Pufferfeld als Suchfeld in der Puffer-Tabelle. | String |
buffer_table (optional) |
Eine INFO-Lookup-Tabelle, in der für jedes Pufferfeld ein Pufferabstand angegeben ist. Sie können eine Puffer-Tabelle nur angeben, wenn das Pufferfeld festgelegt wurde. Die Puffer-Tabelle enthält mindestens zwei Felder:
| INFO Table |
buffer_distance (optional) |
Die Entfernung für die Erstellung von Pufferzonen um Eingabe-Coverage-Features, wenn das Pufferfeld und die Puffer-Tabelle nicht angegeben wurden. Der Standard-Pufferabstand beträgt 0,125 Coverage-Einheiten. Dieser Standard-Pufferabstand wird verwendet, wenn für den Parameter kein Wert angegeben wurde. Der kleinste, berechenbare Pufferabstand beträgt 0,00000005 Coverage-Einheiten. Wenn Sie einen Pufferabstand unterhalb dieses Grenzwertes angeben, erhalten Sie ein leeres Ausgabe-Coverage. Wenn für Polygon-Features einen negativen Pufferabstand verwendet wird, werden die Puffer auf der Innenseite der Polygone erstellt. | Double |
fuzzy_tolerance (optional) |
Der Mindestabstand zwischen den Koordinaten in "out_cover". Standardmäßig wird der Mindestwert für die Fuzzy-Toleranz von "in_cover" verwendet. | Double |
buffer_shape (optional) |
Bei Linien die Form des Puffers an den Linienendpunkten.
| String |
buffer_side (optional) |
Bei einer Linie ist dies die topologische Seite, auf welcher der Puffer erstellt werden kann.
| String |
Codebeispiel
Das folgende eigenständige Skript veranschaulicht, wie ein Puffer um ein Road-Coverage erstellt wird.
# Name: Buffer_Example.py
# Description: Creates a buffer around a road coverage.
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "road"
outCover = "C:/output/roadbuf"
featureType = "LINE"
bufferDistance = 200
bufferShape = "ROUND"
bufferSide = "FULL"
# Execute Buffer
arcpy.Buffer_arc(inCover, outCover, featureType, "", "", bufferDistance, "",
bufferShape, bufferSide)