Multipolygons

Hallo liebe Community!

Ich stehe aktuelle vor der (scheinbar unlösbaren) Aufgabe, Multipolygone in Shapefiles (die Multipolygone enthalten) umzuwandeln. Ich habe mir die diesbzgl Dokumentation im OSM-Wiki angesehen und verstehe sie auch, habe aber nun folgendes Problem:

Um Polygone für Shapefiles zu erstellen, müssen sie geschlossen sein; nach der Dokumentation ist die Reihenfolge der Members einer Relation egal; wie aber schafft man es nun, ein geschlossenes Polygon aus den einzelnen “outer”-Wegen zu formen? Muss ich mir selbst den jeweiligen Nachfolger aus allen Members heraussuchen (sprich: starte mit irgendeinem outer-Way und suche einen anderen outer-Way, der den gleichen Start- oder Endpunkt hat usw.)? Das ist wenig performant und hilft mir vor allem dann nicht weiter, wenn es mehr als ein geschlossenes outer-Polygon gibt (was Multipolygone bei OSM ja zulassen).

Hat irgendjemand eine Idee?

Danke und liebe Grüße,
Bernd

Ehrlich gesagt würde ich mich damit nicht rumärgern, sondern den Umweg über eine PostGIS Datenbank gehen. Also die Daten mit osm2pgsql in eine Datenbank importieren, so als ob Du sie rendern würdest. Dabei wird der ganze Multipolygonverhau aufgelöst. Mit den Daten in der DB kannst Du dann weiterarbeiten.

bye, Nop

Alternativvorschlag: Mit einer Bibliothek wie Osmium einlesen, das hat ebenfalls eine Multipolygonverarbeitung integriert.

Ich selber hab es bisher noch nicht auf diesem Weg gemacht, sondern meinen eigenen Code gestrickt. Frederik hat dazu sogar einen Algorithmus im Wiki beschrieben: Relation:multipolygon/Algorithm. Aber wenn man die Möglichkeit hat, auf eine fertige Lösung zurückzugreifen, ist das sicher die bessere Idee.