Durch gerade Linien und Kreisbögen vereinfachen (Editing)

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

"An Stützpunkte anpassen" und "An Segmente anpassen"
Um die Ausgabelinie oder Polygonkante zu konstruieren, werden Geraden- und Kreisbogensegmente mit dem angegebenen maximal zulässigen Versatz eingepasst.

Verwendung

    Vorsicht:

    Mit diesem Werkzeug werden die Eingabedaten geändert. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter Werkzeuge, die keine Ausgabe-Datasets erstellen.

  • 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).

      Maximaler Bogenwinkelschritt
      Der Parameter "Maximaler Bogenwinkelschritt" wird zum Positionieren von Stützpunkten für die Konstruktion von Kreisbögen verwendet.

    • Hinweis:

      Der Parameter Maximaler Bogenwinkelschritt ist nicht verfügbar, wenn die Option An Segmente anpassen für den Parameter Anpassungstyp ausgewählt wurde.

  • 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.

Syntax

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})
ParameterErklärungDatentyp
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.

  • FIT_TO_VERTICESDie Versatzlücke zwischen den Ausgabe-Feature-Kanten und den Eingabe-Feature-Stützpunkten wird minimiert. Ausgabe-Feature-Kanten und -Kurven werden näherungsweise an die Positionen der Eingabe-Feature-Stützpunkte angepasst. Dies ist die Standardeinstellung.
  • FIT_TO_SEGMENTSDie Versatzlücke zwischen den Ausgabe-Feature-Kanten und Eingabe-Feature-Kanten wird minimiert. Ausgabe-Kanten und -Kurven werden näherungsweise an die Positionen der Eingabe-Feature-Shapes angepasst.
String
circular_arcs
(optional)

Gibt an, ob Kreisbögen erstellt werden.

  • CREATEKreisbögen werden erstellt. Dies ist die Standardeinstellung.
  • NOT_CREATEEs werden keine Kreisbögen erstellt.
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).

  • PRESERVEDie Endpunkte geschlossener Linien werden beibehalten. Dies ist die Standardeinstellung.
  • NOT_PRESERVEDie Endpunkte geschlossener Linien werden nicht beibehalten. Sie können verschoben oder gelöscht werden.
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

NameErklärungDatentyp
out_feature_class

Die aktualisierten Features.

Feature-Layer
out_feature_layers

Die aktualisierten Layer-Namen.

Feature-Layer

Codebeispiel

SimplifyByStraightLinesAndCircularArcs – Beispiel 1 (Python-Fenster)

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")
SimplifyByStraightLinesAndCircularArcs – Beispiel 2 (Python-Fenster)

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")

Lizenzinformationen

  • Basic: Nein
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen