Zusammenfassung
Vereinfacht Polygon- und Linien-Features, indem aufeinanderfolgende Liniensegmente oder Kanten durch weniger Liniensegmente oder Kanten ersetzt werden. Die Liniensegmente und Polygonkanten werden basierend auf einem angegebenen maximal zulässigen Versatz vereinfacht. Darüber hinaus können aus aufeinanderfolgenden Liniensegmenten oder Polygonkanten Kreisbögen erstellt werden.
Abbildung
Verwendung
Dieses Werkzeug kann verwendet werden, um die Geometrie von Linien- und Polygon-Features, in denen sich in verschiedenen Datenkonvertierungs- und Datenbearbeitungsprozessen unerwünschte Stützpunkte oder kurze Segmente angesammelt haben, zu vereinfachen. Sequenzen aus nichtlinearen Segmenten oder Kanten können durch 2-Punkt-Geraden ersetzt werden und mehrere Segmente oder Kanten, die Kreisbögen darstellen, durch echte Kurven. Dieses Werkzeug führt Näherungsberechnungen durch und ersetzt mehrere Segmente oder Kanten durch Geraden und Kreisbögen innerhalb eines angegebenen maximal zulässigen Versatzes.
Als Eingabe-Features sind Polygone oder Linien zulässig. Die Ausgabelinie oder -polygonkante enthält einen Teil der ursprünglich vorhandenen Stützpunkte. Es werden weder neue Stützpunkte eingeführt noch Features gelöscht.
Vorhandene parametrische Kurven, wie zum Beispiel Bézierkurven, Kreisbögen und Ellipsenbogensegmente, werden nicht verändert.
Hinweis:
Wenn die Eingabe-Features in einem Shapefile gespeichert sind, bleiben die Kreisbögen in den Ausgabe-Features eine verdichtete Reihe aus kleinen geraden Segmenten. Shapefiles unterstützen echte Kurven nicht. Um echte Kurven abzuleiten, exportieren Sie das Shapefile in eine Feature-Class.
Verwenden Sie den Parameter Kreisbögen erstellen, um echte Kurven zusätzlich zu geraden Linien zu generieren. Mit den fünf optionalen Parametern Maximaler Bogenwinkelschritt, Mindestanzahl an Stützpunkten, Min. Radius, Max. Radius und Minimaler Bogenwinkel wird gesteuert, wie Kreisbögen aus Segmenten oder Kanten erstellt werden.
- Maximaler Bogenwinkelschritt (Dezimalgrad) ist der maximale Bogenwinkel, der zum Konstruieren von Kreisbögen verwendet werden kann. Der Bogenwinkel ist der Mittelwinkel der Kandidatenkurve (die Kurve, die konstruiert werden soll). Der maximale Bogenwinkelschritt definiert die Obergrenze für die Mittelwinkelbreite, innerhalb derer nach Stützpunkten für die Konstruktion von kreisförmigen Kurven gesucht wird. Wird mehr als ein Stützpunkt innerhalb jedes maximalen Bogenwinkelschritts gefunden, stehen diese Stützpunkte für die Erstellung eines Kreisbogens zur Verfügung. Verwenden Sie einen kleineren Bogenwinkel, um Kreisbögen aus dicht verteilten Segmenten zu erstellen und die Überanpassung an große Segmente zu verhindern. Verwenden Sie einen größeren Bogenwinkel, um Kreisbögen aus weniger dicht verteilten Segmenten zu erstellen. Die gültigen Werte liegen im Bereich von 2 bis 95 Dezimalgrad. Die Standardeinstellung ist 20 Dezimalgrad.
In der Abbildung unten steht ein Segment mit einem Mittelwinkel von 90 Grad für die Erstellung eines Kreisbogens zur Verfügung. Wenn als maximaler Bogenwinkelschritt 89 Grad festgelegt wurde, wird das Segment nicht berücksichtigt, und die Ausgabe besteht aus einer Kurve und einer geraden Linie (mittlere Abbildung). Wurden 91 Grad festgelegt, wird das Segment zum Erstellen des Kreisbogens verwendet, und die Ausgabe besteht aus einer durchgehenden Kurve (letzte Abbildung).
Hinweis:
Der Parameter Maximaler Bogenwinkelschritt ist nicht verfügbar, wenn die Option An Segmente anpassen für den Parameter Anpassungstyp ausgewählt wurde.
- Maximaler Bogenwinkelschritt (Dezimalgrad) ist der maximale Bogenwinkel, der zum Konstruieren von Kreisbögen verwendet werden kann. Der Bogenwinkel ist der Mittelwinkel der Kandidatenkurve (die Kurve, die konstruiert werden soll). Der maximale Bogenwinkelschritt definiert die Obergrenze für die Mittelwinkelbreite, innerhalb derer nach Stützpunkten für die Konstruktion von kreisförmigen Kurven gesucht wird. Wird mehr als ein Stützpunkt innerhalb jedes maximalen Bogenwinkelschritts gefunden, stehen diese Stützpunkte für die Erstellung eines Kreisbogens zur Verfügung. Verwenden Sie einen kleineren Bogenwinkel, um Kreisbögen aus dicht verteilten Segmenten zu erstellen und die Überanpassung an große Segmente zu verhindern. Verwenden Sie einen größeren Bogenwinkel, um Kreisbögen aus weniger dicht verteilten Segmenten zu erstellen. Die gültigen Werte liegen im Bereich von 2 bis 95 Dezimalgrad. Die Standardeinstellung ist 20 Dezimalgrad.
Aktivieren Sie den Parameter Endpunkte bei geschlossenen Linien beibehalten, wenn die Endpunkte einer Linie mit lagegleichen Endpunkten (Schleife) erhalten bleiben sollen. Wenn Endpunkte bei geschlossenen Linien beibehalten deaktiviert wurde, können die Endpunkte verschoben oder gelöscht werden.
Vorsicht:
Mit diesem Werkzeug werden die Eingabedaten geändert. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter Werkzeuge, die Eingabedaten ändern oder aktualisieren.
Syntax
arcpy.edit.SimplifyByStraightLinesAndCircularArcs(in_features, max_offset, {fitting_type}, {circular_arcs}, {max_arc_angle_step}, {min_vertex_count}, {min_radius}, {max_radius}, {min_arc_angle}, {closed_ends}, {anchor_points})
Parameter | Erklärung | Datentyp |
in_features [in_features,...] | Die zu vereinfachenden Features. Bei Features kann es sich um Linien oder Polygone handeln. Wenn mehrere Eingaben verwendet werden, müssen die Features über denselben Raumbezug verfügen. | Feature Layer |
max_offset | Die maximale Entfernung, um die die Ausgabe-Feature-Kanten von der Form der Eingabe-Features abweichen können. Wenn die Option An Stützpunkte anpassen für den Parameter Anpassungstyp ausgewählt wurde, wird die Entfernung zwischen den Eingabestützpunkten und den Ausgabe-Feature-Kanten gemessen. Wenn die Option An Segmente anpassen ausgewählt wurde, wird die Entfernung zwischen den Eingabe-Feature-Kanten und den Ausgabe-Feature-Kanten gemessen. | Linear Unit |
fitting_type (optional) | Gibt an, wie die Ausgabe-Feature-Kanten und Kreisbögen an die Form der Eingabe-Features angepasst werden. Wenn An Segmente anpassen ausgewählt wurde, sind die Parameter Maximaler Bogenwinkelschritt und Mindestanzahl an Stützpunkten nicht verfügbar.
| String |
circular_arcs (optional) | Gibt an, ob Kreisbögen erstellt werden.
| Boolean |
max_arc_angle_step (optional) | Der maximale Bogenwinkelschritt (Dezimalgrad), der zum Konstruieren von Kreisbögen verwendet wird. Der Bogenwinkel definiert die Breite eines Visualisierungsfeldes für jeden Schritt beim Positionieren von Stützpunkten für die Konstruktion von kreisförmigen Kurven. Der Bogenwinkel ist der Mittelwinkel der Kandidatenkurve (die Kurve, die konstruiert werden soll). Wenn innerhalb jedes maximalen Bogenwinkelschrittes Stützpunkte gefunden werden, wird ein Kreisbogen konstruiert. Wenn zum Beispiel nur wenige Stützpunkte und Kanten vorhanden sind, verwenden Sie einen großen Bogenwinkelschritt. Die gültigen Werte liegen im Bereich von 2 bis 95 Dezimalgrad. Die Standardeinstellung ist 20 Dezimalgrad. Dieser Parameter ist nicht verfügbar, wenn die Option An Segmente anpassen für den Parameter Anpassungstyp ausgewählt wurde. | Double |
min_vertex_count (optional) | Die Anzahl der Stützpunkte, die mindestens erforderlich sind, damit ein Kreisbogen erstellt werden kann. Der Wert muss größer als 3 sein. Die Standardeinstellung ist 4. Dieser Parameter ist nicht verfügbar, wenn die Option An Segmente anpassen für den Parameter Anpassungstyp ausgewählt wurde. | Long |
min_radius (optional) | Der kleinste zulässige Radius für Ausgabekreisbögen. Dieser Wert muss größer als 0 und kleiner als der angegebene Wert für Max. Radius sein. Wenn kein Wert angegeben wird, wird der Radius der Ausgabekreisbögen nicht geprüft (Standard). | Linear Unit |
max_radius (optional) | Der größte zulässige Radius für Ausgabekreisbögen. Dieser Wert muss größer als der angegebene Wert für Min. Radius sein. Wenn kein Wert angegeben wird, wird der Radius der Ausgabekreisbögen nicht geprüft (Standard). | Linear Unit |
min_arc_angle (optional) | Der minimale Bogenwinkel (Dezimalgrad), der zum Konstruieren von Kreisbögen verwendet wird. Der minimale Bogenwinkel ist der kleinste zulässige Mittelwinkel der Ausgabekreisbögen. Wenn der Mittelwinkel eines Ausgabekreisbogens kleiner als dieser Wert ist, wird er nicht erstellt. Die gültigen Werte liegen im Bereich von 2 bis 360 Dezimalgrad. Die Standardeinstellung ist 2 Dezimalgrad. | Double |
closed_ends (optional) | Gibt an, ob die Endpunkte einer geschlossenen Linie beibehalten werden. Eine geschlossene Linie ist eine Linie mit lagegleichen Endpunkten (Schleife).
| Boolean |
anchor_points (optional) | Der Pfad und Name der Feature-Class mit Ankerpunkten. Ankerpunkte überlagern Stützpunkte auf den Eingabe-Features und geben an, dass diese bei der Vereinfachung nicht verschoben oder gelöscht werden sollen. | Feature Layer |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_feature_class | Die aktualisierten Features. | Feature-Layer |
out_feature_layers | Die aktualisierten Layer-Namen. | Feature-Layer |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion SimplifyByStraightLinesAndCircularArcs zum Vereinfachen von Linien verwenden.
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.edit.SimplifyByStraightLinesAndCircularArcs_edit("myDensifiedLines",
"1.5 feet")
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion SimplifyByStraightLinesAndCircularArcs zum Vereinfachen von Linien und Polygonen gleichzeitig mit Ankerpunkten verwenden.
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.edit.SimplifyByStraightLinesAndCircularArcs("myDensifiedPolygons;myDensifiedLines",
"0.4 Meters",
anchor_points="myAnchorPoints")
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Ja
- Advanced: Ja