Arc4You Poly Clean 1.0.0.3
Mit dieser Erweiterung für ESRI ArcView GIS 3.x können Sie die Topologie von Polygonthemen bereinigen, d.h. alle möglichen Fehler wie zerstörte oder sich überlappende Polygone sowie Lücken zwischen den Polygonen reparieren. Dieser Befehl sollte sowohl nach dem Konvertieren einer Datenquelle in ein Shapefile (z.B. aus einem ARC/INFO Coverage oder einer AutoCAD Zeichnung) als auch nach dem Bearbeiten oder Verschneiden von Polygonthemen im GeoProcessing Wizard oder den XTools durchgeführt werden. Shapefiles sollten vor allem vor der endgültigen Datenübergabe oder der Umwandlung in ein ARC/INFO Coverage bereinigt werden.
Warum ist die Topologie von Polygon-Shapefiles oft fehlerhaft?
Warum sollten die Koordinaten von Shapefiles gerundet werden?
Nachdem Sie die Extension in Ihr Projekt geladen haben, erscheint in der Symbolleiste der View die neue Schaltfläche
.
Klicken Sie auf diese Schaltfläche um das aktive Polygonthema zu analysieren und zu bereinigen.
Hinweis: Halten Sie die Shift Taste gedrückt, wenn Sie auf die Schaltfläche klicken, um den Befehl mit den zuletzt gewählten Einstellungen erneut aufzurufen. Dadurch können Sie den Reinigungsprozess wiederholen oder andere Themen mit den selben Einstellungen bereinigen.

Was ist neu in Version 1.0.0.3:
- Überlappungen von Polygonen, die sich über mehrere Zonen erstreckten, wurden in der vorigen Version nur in der ersten Zone bereinigt (die Bereinigung erfolgt Zone für Zone). Dieser Fehler wurde behoben. Sie sollten Shapefiles mit der neuen Version nochmals auf Überlappungen überprüfen!
- Wenn durch das Runden der Koordinaten Selbstverschneidungen von Polygonen entstanden, wurden diese bisher nicht als Multipart-Polygone erkannt und in einzelne Polygone aufgeteilt. Dieser Fehler wurde behoben.
- Beim Entfernen von Splitter-Polygonen werden diese nicht mehr an Polygone angefügt, mit denen sie nur an einem Punkt verbunden sind (sog. versteckte Knoten), da dabei Multipart-Polygone entstehen würden.
- Die Vertices von Splitter-Polygonen, die überlappt waren und entfernt wurden, wurden in der vorigen Version als unscharf (fuzzy) identifiziert. Dieser Fehler hatte keine Auswirkung auf die Bereinigung, es wurden nur gelöschte Vertices als unscharf gemeldet und markiert.
Was ist neu in Version 1.0.0.2:
- Das Aufteilen von Mehrfach-Polygonen in einzelne Flächen erfolgt nun wesentlich schneller. In der vorigen Version wurde das Shapefile kopiert, und dann die Datensätze innerhalb dieses Shapefiles dupliziert. Dies ist in ArcView jedoch wesentlich langsamer, als wenn die Datensätze von einem (Quell) in ein anderes Shapefile (Ziel) kopiert werden.
- Das Entfernen von Splitter-Polygonen wurde ebenfalls deutlich beschleunigt. Das Entfernen von Tausenden Polygonen führte in der vorigen Version durch Überlastung des Arbeitsspeichers zu einer enormen Verlangsamung.
Folgende Fehler können Sie mit dieser Extension vollautomatisch finden und bereinigen:
- Kollabierte Polygone (Fläche 0) werden gelöscht, da es sich um irreguläre Datensätze handelt, die Probleme verursachen können.
- Mehrfach-Polygone (Multipart Polygons) können in mehrere einzelne Flächen aufgeteilt werden. Diese Flächen stellen zwar keine Fehler dar, können aber die weitere sinnvolle Verarbeitung verhindern. In ArcView können derartige Flächen unbeabsichtigt beim Editieren, Verschneiden oder Zusammenfassen von Flächen entstehen.
- Fehlerhafte Polygone werden mit den maximalen Einstellungen von ArcView bereinigt, bei der neben Schnittpunkten, Laufrichtung von Umriß (im Uhrzeigersinn) und Inseln (gegen den Uhrzeigersinn) auch auf überlappende Ringe geprüft wird. Dies ist nach der Umwandlung eines ARC/INFO Coverage in ein Shapefile erforderlich, da dabei die Umgebungspolygone von Pseudo-Inseln (das sind "Halbinseln", die mit einem einzelnen Eckpunkt am umgebenden Polygon hängen) fehlerhaft konvertiert werden. Da die Insel nicht als solche erkannt und nicht aus dem Umgebungspolygon entfernt wird (Punkte in der falschen Laufrichtung), ist dessen Fläche um die Fläche der Insel zu groß. Flächensummen derartiger Shapefiles sind inkorrekt!
- Überlappende Flächen (Overlaps) können mit dieser Extension einfach identifiziert und bereinigt werden. Dabei haben die im Vordergrund gelegenen Polygone mit höherer Datensatznummer Priorität. Das Thema wird daher nach der Bereinigung exakt gleich dargestellt wie zuvor. Polygone, die vollständig von anderen verdeckt sind, werden gänzlich gelöscht, ansonst wird nur der überlappte Bereich entfernt. Alle verdeckten und aus dem bereinigten Thema gelöschten Flächen werden in einem separaten Shapefile gespeichert. Dadurch können Sie das Ergebnis überprüfen und nachträglich eventuell noch benötigte Daten wiederherstellen. So können Sie beispielsweise Flächen, die erhalten bleiben sollen, mit dem Update Befehl der XTools Extension wieder in das bereinigte Thema übertragen.
- Splitter-Polygone (Sliver Polygons) sind sehr kleine oder schmale und daher kaum sichtbar Flächen, die bei der Bearbeitung oder beim Verschnitt von Polygonthemen entstehen. Das Löschen dieser Flächen ist meist nicht sinnvoll, da Lücken entstehen würden. Mit dieser Extension können Sie Polygone, die kleiner oder dünner als ein bestimmter Wert sind (siehe Thinness Ratio), entfernen bzw. an ein benachbartes Polygon anfügen. Es stehen verschiedene Methoden zur Verfügung, das am besten geeignete Nachbarpolygon zu finden (Gesamtfläche, Länge der Grenzlinien, eingeschlossene Fläche oder Winkel der Nahtlinien - siehe Method).
- Lücken zwischen Polygonen (Gaps) sind leere Bereiche, die auf allen Seiten von Polygonen umgeben sind. Bei der Bearbeitung von Polygonen können sehr kleine oder schmale Lücken entstehen, die kaum sichtbar sind und fast unmöglich oder nur mit enormen Zeitaufwand entdeckt und bereinigt werden können. Mit dieser Extension können Sie Lücken zwischen Polygonen füllen, die kleiner oder dünner als ein bestimmter Wert sind. Das Füllen kann wie das Entfernen von Polygonen mit verschiedenen Methoden erfolgen (siehe Method).
- Versteckte Löcher (Hidden Gaps) sind Einbuchtungen in randlich gelegenen Polygonen, die nur an einem einzelnen Punkt geschlossen sind. Da diese Polygone keine Nachbarn haben, ergibt sich keine Lücke zwischen den Polygonen (die Umrißlinie ist durchgehend, durchläuft den versteckten Knoten aber zweimal). Die Bereinigung kann wie bei den normalen Lücken erfolgen.
- Fehlerhafte Vertices an der Koordinate 0/0 entstehen durch Rundungsfehler in ArcView beim Bearbeiten und vor allem beim Verschneiden von Polygonen (siehe Koordinaten Runden). Sie machen sich als schmale "Keile" bemerkbar, die aus dem Thema über alle anderen Polygone hinweg weit nach links unten außerhalb des sichtbaren Bereichs verschwinden. Es handelt sich meist um einen einzelnen Punkt, der inmitten der Umrißlinie zur Koordinate 0/0 und von dort zum nächsten Punkt auf der Umrißlinie zurückführt. Es kann vorkommen, daß der Rundungsfehler nur in der X- oder Y-Achse aufgetreten ist, sodaß nur die X- oder Y-Koordinate 0 beträgt. Solche Fehler können ebenfalls festgestellt werden, da diese Vertices außerhalb der im Shapefile gespeicherten Ausdehnung des Polygons liegen (sog. Extent). Dies deutet darauf hin, daß die Rechenfehler erst beim Speichern des Polygons im Shapefile und nicht zuvor auftreten.
Achtung: Wenn Sie ein Polygonthema bereinigen ohne derartige Fehler zu Entfernen, würden irreparable Schäden entstehen. Es würden Selbstverscheidungen und Überlappungen festgestellt und "bereinigt" werden, wodurch jedoch andere Polygone abgedeckt werden würden.
- Unscharfe Punkte (Fuzzy Vertices) sind geringfügig verschobene Punkte im Umriss von angrenzenden Polygonen (die Grenzlinien sind nicht identisch). Sie entstehen bei der Bearbeitung von Shapefiles aufgrund der variablen Unschärfetoleranz von ArcView (siehe Fuzzy Tolerance). Die dadurch entstehenden winzigen Lücken und Überlappungen sind meist nicht sichtbar und können mit "normalen" Mitteln in ArcView nicht festgestellt werden, da jeder Vergleich oder Verschnitt zwischen den Polygonen der internen Unschärfetoleranz unterliegt. Diese winzigen Überlappungen und Lücken bezeichnen wir als Versteckte Überlappungen und Lücken. Diese Fehler können bereinigt werden, indem alle anderen Vertices im unmittelbaren Umfeld auf diesen Punkt verschoben werden (als Distanz wird 1/10.000 der Ausdehnung des Themas verwendet).
Wie Fuzzy Vertices gefunden werden: Unscharfe Punkte können mit folgendem Trick gefunden werden: In einem Shapefile müsste jeder Vertex zwischen benachbarten Polygonen doppelt, Eckpunkte zwischen den Polygonen (Knoten) drei- oder mehrfach und Randpunkte nur einfach vorhanden sein. Die randlich gelegenen Punkte erhält man, indem man alle Polygone des Shapefiles zu einem Gesamt-Polygon vereint. Alle anderen Punkte, die nur einmal vorkommen, sind "unscharf".
Wie Splitter-Polygone gefunden werden: Zur Identifizierung schmaler Flächen wird das sog. Dünnheitsmaß (Thinness Ratio) verwendet: das Verhältnis zwischen dem Quadrat der Maximalausdehnung eines Polygons in X- und Y-Richtung (z.B. 100x100 m² bei einer X-/Y-Ausdehnung von 30/100 m) und seiner Fläche. Dieses Maß stellt den Kehrwert der sog. QDRatio bzw. Thickness Ratio dar (die beispielsweise in der Extension Edit Tools von Ianko Tchoukanski Anwendung findet). Je größer der Wert, desto schmäler das Polygon (bei einem Wert von 10 deckt das Polygon nur ein Zehntel seiner Ausdehnung ab). Quadrate erreichen den Minimalwert 1. Im Gegensatz zur sog. Sliver Ratio (ab ArcView 3.2), dem Verhältnis von Fläche zu Umfang, ist dieser Wert unabhängig von Länge und Ausfransung der Umrißlinie des Polygons. Auch ein dichtes Netzwerk aus feinsten Adern würde nicht als schmale Fläche eingestuft, wenn es einen Großteil seiner Ausdehnung ausfüllt.
Wie Lücken und Überlappungen gefunden werden: Der Algorithmus zur Feststellung von Lücken und Überlappungen wurde (soweit dies in Avenue möglich ist) auf Geschwindigkeit optimiert und benötigt auch bei Zehntausenden Polygonen nur wenige Minuten. Die Zeitdauer steigt nahezu linear mit der Anzahl der Flächen. Dies wird dadurch erreicht, daß das Thema in rechteckige Bereiche von wenigen Hundert Polygonen aufgeteilt wird, und Lücken und Überlappungen für alle Polygone innerhalb dieses Bereichs in einem Arbeitsschritt geprüft werden. Wenn einer dieser Bereiche mehr als 400 Polygone enthält, wird er in so viele gleich große Rechtecke aufgeteilt, daß in jedem etwa 200 Polygone liegen (z.B. bei 800 Polygonen in 2x2 Rechtecke). Wenn Sie die Option Display Errors as Graphics aktiviert haben, wird der jeweils analysierte Bereich in der View schwarz umrandet.
© 2003 WLM Klosterhuber & Partner OEG