Funktionsweise von "Linie vereinfachen" und "Polygon vereinfachen"

Die Werkzeuge Linie vereinfachen, Polygon vereinfachen und Gemeinsame Kanten vereinfachen vereinfachen Linien und Polygone, um die Feature-Komplexität bei der Anzeige im kleineren Maßstab zu reduzieren. Die Werkzeuge identifizieren und entfernen relativ unbedeutende Stützpunkte, um die Komplexität des Features zu reduzieren, während die inhärente(n) Eigenschaften und Form beibehalten werden. Es gibt verschiedene Vereinfachungsalgorithmen, die geringfügig unterschiedliche Ergebnisse erzielen.

Vereinfachungsalgorithmen

Kritische Punkte beibehalten (Douglas-Peucker)

Die Option Kritische Punkte beibehalten (Douglas-Peucker) (algorithm='POINT_REMOVE' in Python) bietet einen Algorithmus zur einfachen, schnellen Linienvereinfachung. Es behält kritische Punkte bei, die die wesentliche Form einer Linie beschreiben. Alle anderen Punkte werden entfernt. Der Algorithmus beginnt mit der Verbindung der Endpunkte einer Linie mit einer Trendlinie. Der senkrechte Abstand jedes Stützpunktes zur Trendlinie wird gemessen. Stützpunkte, die näher an der Trendlinie liegen als die Toleranz, werden entfernt. Die Linie wird dann durch den Stützpunkt geteilt, der am weitesten von der Trendlinie entfernt ist, wodurch zwei neue Trendlinien entstehen. Die übrigen Stützpunkte werden in Bezug auf diese Linien gemessen und der Vorgang wird so lange fortgesetzt, bis alle innerhalb der Toleranz liegenden Stützpunkte entfernt wurden. Diese Option basiert auf dem von Douglas und Peucker (1973) definierten Algorithmus.

Kritische Punkte beibehalten (Douglas-Peucker) eignet sich hervorragend für die Datenkomprimierung und zum Löschen überflüssiger Details. Allerdings weist die so entstehende Linie möglicherweise unerwünschte scharfe Winkel und Erhebungen auf, welche die kartografische Qualität der Linie beeinträchtigen. Verwenden Sie Kritische Punkte beibehalten (Douglas-Peucker) für ein relativ geringes Maß an Datenreduktion und Komprimierung sowie in Fällen, in denen es nicht auf hohe kartografische Qualität ankommt.

Kritische Biegungen beibehalten (Wang-Müller)

Beim Algorithmus Kritische Biegungen beibehalten (Wang-Müller) (algorithm='BEND_SIMPLIFY' in Python) werden Formerkennungstechniken verwendet, die Biegungen feststellen, deren Merkmale analysieren und unbedeutende Biegungen beseitigen. Ein lineares Feature kann als aus einer Reihe von Biegungen bestehend angesehen werden (Wang, 1996), wobei jedes so definiert ist, dass es das gleiche Zeichen (positiv oder negativ) für Beugungswinkel an aufeinander folgenden Stützpunkten hat. Verschiedene geometrische Eigenschaften jeder Biegung werden mit denen eines Referenz-Halbkreises verglichen. Dessen Durchmesser entspricht der angegebenen Vereinfachungstoleranz. Anhand dieser Messungen wird bestimmt, ob eine Biegung beibehalten oder entfernt wird, was bedeutet, dass die Biegung durch ihre Basislinie (die Linie, die die Endpunkte der Biegung verbindet) ersetzt wird. Die Vereinfachung wird iterativ durchgeführt, sodass die kleineren Biegungen möglicherweise in den ersten Runden "verschwinden" und so größere Biegungen bilden. Die resultierende Linie folgt der wesentlichen Form der ursprünglichen Linie wirklichkeitsgetreuer und zeigt eine bessere kartografische Qualität als sie mit Kritische Punkte beibehalten (Douglas-Peucker) erzielt werden würde. Diese Option basiert auf dem von Wang und Müller (1998) definierten Algorithmus.

Gewichtete effektive Flächen beibehalten (Zhou-Jones)

Der Algorithmus Gewichtete effektive Flächen beibehalten (Zhou-Jones) (algorithm='WEIGHTED_AREA' in Python) identifiziert zuerst Dreiecke einer effektiven Fläche für jeden Stützpunkt. Anschließend erfolgt anhand mehrerer Kennwerte eine Gewichtung der ermittelten Dreiecke nach Flachheit, Schiefe und Krümmung der jeweiligen Fläche. Die gewichteten Flächen bestimmen die Entfernung ihrer entsprechenden Stützpunkte, um die Linie zu vereinfachen, während so viele Eigenschaften wie möglich beibehalten werden. Diese Option basiert auf dem von Zhou und Jones (2005) definierten Algorithmus.

Effektive Flächen beibehalten (Visvalingam-Whyatt)

Der Algorithmus Effektive Flächen beibehalten (Visvalingam-Whyatt) (algorithm='EFFECTIVE_AREA' in Python) weist den Stützpunkten basierend auf der Größe eines Dreiecks, das vom jeweiligen Stützpunkt und seinen beiden Nachbarn gebildet wird, eine relative Bedeutung zu. Daraufhin werden die unbedeutendsten Stützpunkte zuerst entfernt. Das Entfernen der Stützpunkte mit den kleinsten Dreiecken hat den geringsten Einfluss auf die Linien- oder Umrisseigenschaften. Dieser Prozess erfolgt iterativ, d. h. nach dem ersten Durchgang zum Entfernen von Stützpunkten werden die Dreiecke der verbleibenden Stützpunkte neu berechnet, und der Vorgang wird fortgesetzt wiederholt. Diese Option basiert auf dem von Visvalingam und Whyatt (1992) definierten Algorithmus.

Beibehalten topologischer Integrität

Die Werkzeuge stellen sicher, dass die Topologie während der Verarbeitung beibehalten wird. Topologische Fehler werden nicht verursacht. In Fällen, in denen eine Vereinfachung anderenfalls zu einer Verletzung der Topologie führen würde, versuchen die Werkzeuge zuerst, die Geometrie in zwei Teile zu unterteilen und sie dann einzeln zu vereinfachen. Dies ist ein rekursiver Prozess. Die Komponenten können anschließend wieder geteilt werden. Wenn die Topologie bei dieser Methode nicht beibehalten werden kann, wird das Feature in den Wartemodus versetzt und erneut aufgerufen, nachdem die benachbarten Features bearbeitet wurden, um zu sehen, ob die Topologie dann beibehalten werden kann.

Ältere Versionen:

In vorherigen Versionen dieses Werkzeugs konnten topologische Fehler bei der Verarbeitung erzeugt werden. Parameter wurden hinzugefügt, um diese Fehler zu identifizieren und beheben. Die Werkzeuge verursachen keine topologischen Fehler mehr, weswegen eine Prüfung und Behebung nicht mehr notwendig ist. Die Parameter Auf topologische Fehler überprüfen (error_checking_option in Python) und Topologische Fehler lösen (error_resolving_option in Python) sind in der Syntax des Werkzeugs für Kompatibilität in Skripten und Modellen nach wie vor enthalten, funktionieren aber nicht und werden aus dem Dialogfeld des Werkzeugs ausgeblendet.

Das Feld SimPgnFlag (im Fall von Polygon vereinfachen) oder das Feld SimLnFlag field (im Fall von Linie vereinfachen) wird zur Ausgabe-Feature-Class hinzugefügt, um Topologiefehler in der Eingabe-Feature-Class zu kennzeichnen. In vorherigen Versionen dieser Werkzeuge wurden diese Felder verwendet, um Topologiefehler zu kennzeichnen, die stattdessen bei der Verarbeitung des Werkzeugs verursacht wurden. Außerdem haben frühere Versionen der Werkzeuge im Verlauf der Topologieauflösung Toleranzen pro Feature geändert und diese Werte in den Feldern MinSimpTol und MaxSimpTol gespeichert. In der aktuellen Implementierung sind die Werte in diesen Toleranzfeldern identisch mit und gleich der Toleranz, die im Parameter Vereinfachungstoleranz angegeben wird. Ändern Sie vorhandene Modelle oder Skripte, die auf einem dieser Felder basieren.

Verwenden Sie den Parameter Eingabe-Barriere-Layer zum Identifizieren von mindestens einer Feature-Class, die Features enthält, die nicht von vereinfachten Linien oder Polygonen gekreuzt werden sollen. Zu den Beispielen gehören Seen und Flüsse, an denen sich keine vereinfachten Straßen befinden sollten, Höhenpunkte oder andere Vermessungsmarkierungen, die von Konturlinien nicht gekreuzt werden können, oder Verwaltungsgrenzen, in denen vereinfachte Daten vollständig enthalten bleiben müssen.

Analysieren und Verbessern der Ergebnisse

Die Werkzeuge vereinfachen Linien und -Polygon-Umrisse einzeln. Je länger eine Linie oder ein Umriss verläuft, desto besser ist das Ergebnis. Denken Sie daran, wenn Sie die Quelldaten erfassen oder konstruieren. Positionieren Sie Endpunkte wenn möglich auf langen, glatten Abschnitten der Linien. Vermeiden Sie stark abgewinkelte Abschnitte.

Topologieprobleme in der Eingabe-Feature-Class – Features, die andere Features ohne einen Schnittpunkt überlappen – werden in einem Feld in der Eingabe-Feature-Class gekennzeichnet. Dieses Feld hat die Bezeichnung SimPgnFlag im Fall von Polygon vereinfachen und SimLinFlag im Fall von Linie vereinfachen. Ein Wert von 1 in diesen Feldern gibt an, dass für dieses Feature in der Eingabe-Feature-Class ein topologischer Fehler vorliegt.

Zu Referenzzwecken wird ein ID-Feld, das der Objekt-ID des Eingabe-Features entspricht, zur Ausgabe-Feature-Class hinzugefügt. Das Feld hat die Bezeichnung InPoly_FID im Fall von des Werkzeugs Polygon vereinfachen und InLine_FID im Fall des Werkzeugs Linie vereinfachen. Zudem werden MinSimpTol und MaxSimpTol-Felder der Ausgabe hinzugefügt, um die verwendete Toleranz zu speichern.

Eine abgeleitete Ausgabe-Point-Feature-Class wird aus Punkt-Features erstellt, die entweder die Endpunkte der Linien, die auf Linien mit der Länge 0 vereinfacht wurden (im Fall von Linien vereinfachen), oder Polygone, die auf Polygone mit einer Fläche von NULL oder auf ein Polygon kleiner als die Mindestfläche vereinfacht wurden, darstellen (wie vom Parameter Mindestfläche im Fall von Polygon vereinfachen oder möglicherweise auch im Fall von Gemeinsame Kanten vereinfachen definiert). Ein vereinfachtes Polygon, das auf leere Geometrie oder auf ein Polygon kleiner als die Mindestfläche reduziert wurde (wie im Parameter Mindestfläche definiert).

Arbeiten mit großen Datasets

Die Verarbeitung der Topologie dieser Werkzeuge erfordert, dass mehrere Features gleichzeitig berücksichtigt werden. Beim Arbeiten mit großen Datasets werden möglicherweise Speicherbeschränkungen überschritten. Erwägen Sie in diesem Fall, die Eingabedaten partitionsweise zu verarbeiten. Identifizieren Sie dazu eine relevante Polygon-Feature-Class in der Umgebungseinstellung Kartografische Partitionen, die die Eingabedaten abdeckt und teilt. Teile der Daten, die von Partitionsgrenzen definiert werden, werden sequenziell vereinfacht, die Ausgabe-Feature-Class ist jedoch nahtlos und konsistent an Partitionsrändern. Weitere Informationen erhalten Sie unter Generalisieren von großen Datasets mit Partitionen.

Referenzen

Douglas, David H. und Thomas K. Peucker. 1973. "Algorithms for the Reduction of the Number of Points Required to Represent a Digitised Line or its Caricature." The Canadian Cartographer, 10(2): 112–122.

Wang, Zeshen und Jean-Claude Müller. 1998. "Line Generalization Based on Analysis of Shape Characteristics." Cartography and Geographic Information Systems 25(1): 3–15.

Zhou, Sheng und Christopher B. Jones. 2005. "Shape-Aware Line Generalisation with Weighted Effective Area." In Developments in Spatial Handling: 11th International Symposium on Spatial Handling, herausgegeben durch Peter F. Fisher, 369–80.

Visvalingam, M. und, J. D. Whyatt. 1992. "Line Generalisation by Repeated Elimination of the Smallest Area", Cartographic Information Systems Research Group (CISRG) Discussion Paper 10, University of Hull.

Verwandte Themen