Warum ist die Topologie von Polygon-Shapefiles oft fehlerhaft?

Der interne Aufbau von Shapefiles:

Der große Nachteil des Shapefile-Formats besteht darin, dass es im Gegensatz zu den sog. Coverages des großen Bruders ARC/INFO keine Information zur Topologie (d.h. dem Zusammenhang zwischen den einzelnen Punkten, Linien und Polygonen) beinhaltet. In Coverages sind die Grenzpunkte und -linien (sog. Arcs) zwischen den Polygonen abgelegt. Polygone ergeben sich aus all jenen Arcs, die einen sog. Label-Punkt umschließen.

In Shapefiles aber ist jedes Polygon als vollständige Liste der Punkte seines Umrisses gespeichert. Gemeinsame Grenzpunkte bzw. -linien zwischen zwei benachbarten Polygonen sind daher doppelt vorhanden. Da diese Punkte nicht zwingend identisch sein müssen, können sich Polygone überlappen oder Lücken haben. Diese Fehler können bei der Weiterverarbeitung der Daten zu unerfreulichen Überraschungen und gravierenden Problemen führen.


(Un-)Genauigkeit von Fließkommazahlen:

Interne Rechenungenauigkeiten mit Fließkommazahlen sind häufig Ursache von Fehlern, die meist nur in extremer Vergrößerung sichtbar sind. Eine Ursache dafür ist, daß es Unterschiede beim Zahlenformat zwischen Shapefiles, AutoCAD Zeichnungen, ARC/INFO Coverages und E00 Exportfiles gibt. Vor allem die Koordinaten importierter AutoCAD Zeichnungen, im Ursprungsformat noch "identisch", weichen geringfügig voneinander ab. Dies kann dazu führen, dass ein Coverage nach dem Import nicht mehr richtig dargestellt wird, sondern beim Zoomen instabile bzw. "umgestülpte" Polygone auftreten (siehe Koordinaten Runden).

Ein ähnliches Problem entsteht beim Verschnitt zwischen Linien oder Polygonen. Liegen zwei Koordinaten extrem eng beieinander, entsteht durch einen Rechenfehler (Division durch Null) ein Punkt mit dem X/Y-Wert 0. Die Linie springt dann inmitten des normalen Verlaufs zu einem anderen Punkt weit außerhalb des sichtbaren Kartenausschnitts und wieder zurück.

Selbst zwischen der internen Verwaltung von Koordinaten in ArcView und der Speicherung im Shapefile gibt es geringfügige Unterschiede. Die letzten Nachkommastellen zweier scheinbar identischer Punkte (die geringe Abweichung wird in Avenue ignoriert), differieren mitunter, nachdem sie im Shapefile gespeichert und wieder geladen wurden.


Variable Fuzzy Tolerance von ArcView:

Aufgrund der Ungenauigkeiten von Fließkommazahlen muss es eine Toleranzgrenze geben, unter der Punkte, Linien- oder Polygonabschnitte als identisch erkannt und bei der Bereinigung auch entfernt werden. Dies ist in ARC/INFO die sog. Unschärfe-Toleranz (Fuzzy Tolerance). In ArcView fehlt auf den ersten Blick eine derartige Kennzahl. In Wirklichkeit findet sie intern bei jeder Bearbeitung einer Linie oder eines Polygons Anwendung. Nur kann diese Genauigkeit nicht eingestellt werden, sondern wird von ArcView variabel als etwa 10-6 bis 10-12 der Ausdehnung des Shapes in X- und Y-Richtung errechnet.

In einem Shapefile werden also unzählige unterschiedliche Toleranzgrenzen angewendet. Feine Strukturen zwischen benachbarten Flächen werden im größeren Polygon entfernt, bleiben im kleineren jedoch erhalten. Dadurch entstehen winzige Überlappungen oder Lücken. Dies kommt sehr häufig bei der Teilung von Polygonen in unterschiedlich große Hälften vor. Da ArcView alle Vertices entfernt, deren Abstand zueinander unterhalb der Toleranzgrenze liegt, fehlen oft auch einzelne Vertices auf "geraden" Abschnitten. Die Umrißlinien zweier angrenzender Polygone sind dann nur mehr scheinbar identisch.

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ärfe-Toleranz unterliegt. Wenn die Polygone weiter zerschnitten oder verkleinert werden, wird jedoch auch die Unschärfe-Toleranz feiner, und es können an Stellen, die gar nicht bearbeitet wurden, bisher nicht "vorhandene" Überlappungen oder Lücken auftauchen. Wir bezeichnen diese Fehler als Unscharfe Punkte (Fuzzy Vertices), die Versteckte Überlappungen und Lücken verursachen.

2003 WLM Klosterhuber & Partner OEG