Hinweise zum Runden der Koordinaten

Warum sollten die Koordinaten von Shapefiles gerundet werden?

Das Runden der Koordinaten behebt folgende Fehler bzw. verhindert deren Auftreten:

Aufgrund von Unterschieden im Zahlenformat zwischen den verschiedenen Datenformaten können Knoten und Verbindungen, die im ARC/INFO und AutoCAD noch scheinbar geschlossen waren im konvertierten Shapefile offen und hängend sein (die Abweichungen sind derart klein, daß sie nur bei extremer Vergrößerung sichtbar werden). Durch eine Rundung der Koordinaten werden diese Fehler weitgehend behoben. Dies ist vor allem bei Shapefiles, die aus anderen Datenquellen importiert wurden, unbedingt empfehlenswert.

Unscharfe und Fehlerhafte Vertices: Beim Verschnitt zweier Polygone, deren Vertices geringfügig gegeneinander verschoben sind, kann es vorkommen, daß einzelne Punkte aufgrund eines Rechenfehlers in ArcView auf die Koordinaten 0/0 gesetzt werden (Division durch Null). Wenn beim Bearbeiten oder Verschneiden eines Themas zahlreiche Linien entstehen, die zum Koordinatenursprung führen (je nach lokalem Koordinatensystem weit links unten), sind derartige Fehler aufgetreten, und die Koordinaten müssen unbedingt zuvor gerundet werden. Dadurch werden einerseits bereits bestehende "unscharfe", d.h. dicht nebeneinander liegende Punkte auf die selbe Koordinate verschoben. Andererseits kann die weitere Entstehung derartiger Punkte weitgehend vermieden werden (siehe Was bewirkt die Rundung?).

Darstellungsfehler: Wenn bei der Bildschirmdarstellung eines Polygonthemas je nach Maßstab und Ausschnitt plötzlich Löcher entstehen, und beim Vergrößern einzelne Polygone "umgestülpt" werden und andere abdecken, dann liegen ebenfalls Probleme mit den Koordinaten vor (zu viele Nachkommastellen). Es scheint, daß auch bei der Umrechnung der Punkt- in Bildschirmkoordinaten (Pixel) Rechenfehler entstehen (Division durch Null), wodurch einzelne Punkte außerhalb des sichtbaren Bildbereichs landen. Auch die Bearbeitung oder der Verschnitt eines derartigen Themas mit anderen Themen führt zu zahlreichen, meist sehr skurrilen grafischen Fehlern. Durch Rundung der Koordinaten können diese Probleme behoben werden. Sie können ein derartiges Polygonthema von unserer Downloadseite herunterladen.


Was bewirkt die Rundung?

Durch die Rundung sinkt die Wahrscheinlichkeit von Rechenfehlern und somit die Entstehung von neuen unscharfen oder fehlerhaften Vertices: Schnittpunkte von Linien werden über eine mathematische Formel mit den Koordinaten der angrenzenden Punkte erzeugt. Daher steigt die Wahrscheinlichkeit, daß bei dieser Berechnung die Anzahl der verfügbaren Kommastellen überschritten wird und Rundungsfehler auftreten mit der Anzahl der Kommastellen der beteiligten Werte (obwohl eine geringe Anzahl von Kommastellen im Dezimal- nicht immer eine geringe Anzahl im Dualsystem einer Fließkommazahl bedeutet - daher wäre es optimal auf 2er-Potenzen zu runden).

Durch die Entfernung der Nachkommastellen wird außerdem die Informationsmenge im Shapefile wesentlich reduziert (eine große Zahl von 0 Bytes entsteht in den Fließkommazahlen), und es kann deutlich höher komprimiert werden. Daher sollten Sie die Koordinaten eines Shapefiles runden, wenn Sie möglichst kleine Archiv-Dateien erhalten wollen.


Auf wie viele Nachkommastellen soll gerundet werden?

Aus den oben genannten Gründen sollten die Koordinaten eines Shapefiles unbedingt auf eine konstante Genauigkeit gerundet, d.h. alle nicht benötigten Nachkommastellen abgeschnitten werden. Um sichtbaren Datenverlust zu vermeiden, sollte die Rundung etwa 1/10 mm bis 1/100 mm auf der Karte betragen (d.h. abhängig vom Kartenmaßstab sollte auf 2 Stellen bei 1:1.000, 1 Stelle bei 1:10.000 und 0 Stellen bei 1:100.000 gerundet werden). Da alle identischen Vertices wieder die selbe Koordinate erhalten, wird auch die Topologie des Themas nicht beeinträchtigt. Das Abschneiden von zu vielen Nachkommastellen kann jedoch zu sichtbarem Datenverlust und treppenartigen Linienverläufen führen. Im Extremfall können parallel verlaufende Linien, schmale Abschnitte eines Polygons oder ganze Flächen kollabieren (da die gegenüberliegenden Grenzlinien auf eine Linie bzw. die gesamte Fläche auf einen einzigen Punkt zusammenfallen können).


Warum sollen doppelte Vertices entfernt werden?

Durch die Rundung kann es vorkommen, daß eng nebeneinander liegende Punkte die selben Koordinaten erhalten, und direkt aufeinander folgende, identische Vertices entstehen. Diese überflüssigen Punkte sind zwar nicht fehlerhaft, sollten aber dennoch entfernt werden, da sie vor allem am Linienanfang und -ende (Knoten) zu Problemen und Fehlern in der Weiterverarbeitung der Daten führen können. Identische Punkte, die im Umriß des Polygons nicht unmittelbar aufeinander folgen, bleiben natürlich erhalten. Durch das Entfernen identischer Vertices wird auch der Speicheraufwand des Shapefiles reduziert.

2003 WLM Klosterhuber & Partner OEG