de
en

Geometry Cleaner

Self-Intersections in Simple Feature Geometrien führen in der Regel zu Problemen bei der Weiterverarbeitung von PostGIS Daten. So ist eine Figur, wie sie unten in der Abbildung dargestellt ist zwar von PostGIS speicherbar, aber geometrische Analysen können mit solchen fehlerhaften Geometrien nicht durchgeführt werden. 

Ungültiges, sich selbst überschneidendes Polygon

Die Lösung für das Problem bietet die von Kappasys entwickelte PostgreSQL-Funktion cleangeometry(geometry) die hier herunter geladen werden kann. Diese Funktion bereinigt die selbst überschneidenden Polygone so, dass nach der Bereinigung alle überschneidenden Objekte aufgetrennt und in ein Multiobjekt überführt worden sind. Nach der Bereinigung liegen keine Selbstüberschneidungen vor. In der Abbildung unten sind zur Verdeutlichung die beiden Teilpolygone des neuen Multipolygons auseinander gezogen.

Um die Bereinigung von selbstüberschneidenden Polygonen und Linien mit Postgres durchzuführen muss zuerst die Funktion cleangeometry() in der PostgreSQL Datenbank angelegt werden:

psql -d mydb -f cleanGeometry.sql

zur Bereinigung der Tabellen mit fehlerhaften Geometrien wird ein Update über die Geometrie-Objekte durchgeführt mit:

update myTable set the_geom = cleangeometry(the_geom)