Projektstatus: Im Einsatz

Generalisierung von OpenStreetMap-Daten mit osm2pgsql

Wir mischen die Karten neu.

Jochen Topf
#Runde12 #Softwareinfrastruktur #Transparenz

Welche gesellschaftliche Herausforderung adressiert euer Prototyp?

Karten sind ein wichtiges Werkzeug, um durch unsere Welt zu navigieren, sei es um den Arbeitsweg zu planen oder das nächste Urlaubsziel zu erkunden. Indem wir in Kartensystemen nachsehen, können wir uns häufig einen Eindruck von einem Ort erschaffen. Um große Räume, Distanzen und  Zusammenhänge zu verstehen, braucht es Übersicht. Klassische Karten bereiten diese Informationen und Visualisierungen mit viel Handarbeit von Kartograph*innen auf. Doch in einer modernen Welt mit Kartendaten, die sich von Minute zu Minute ändern und die wir auf ganz verschiedene Arten darstellen wollen, geht es nicht ohne eine Automatisierung dieser Prozesse. Karten formen unseren Blick auf die Welt. Die Verarbeitung der Daten soll nicht nur proprietären Algorithmen überlassen werden, die unverständlich und unbeeinflussbar sind.

Die Digitalisierung dieses Prozesses ermöglicht das Open-Source-Tool osm2pgsql. Es ist seit langem ein wichtiger Teil der Toolchain, die OpenStreetMap-Daten auf eine Karte bringt, unter anderem bei openstreetmap.org. Im Projekt soll osm2pgsql so erweitert werden, dass es die OSM-Daten generalisieren kann. So können erfassten Daten schnell und mit begrenztem Rechenaufwand in Karten übersetzt werden.

Wie geht ihr das Problem an?

Das Projekt besteht aus zwei Teilen, die ineinandergreifen. Zunächst sollen verschiedene Algorithmen wie zum Beispiel Linienzusammenfassung und -vereinfachung, Polygonvereinfachung und Beschriftungspunkte finden und priorisieren, prototypisch in SQL beziehungsweise in C++ in osm2pgsql umgesetzt werden. Dies soll dazu dienen, die Performance zu analysieren. Dabei kann teilweise auf vorhandene Software zurückgegriffen werden. 

Im zweiten Teil wird dann osm2pgsql entsprechend erweitert, sodass bei Änderungen der Ursprungsdaten erfasst werden kann, welche abgeleiteten Daten genau geändert werden müssen. Das soll auf verschiedene Arten geschehen: Zum Ersten durch die  Erweiterung des existierenden Expire-Mechanismus in osm2pgsql um die kachelweise Generalisierung von geänderten Daten; zum Zweiten durch das Speichern von eindeutigen IDs an den generalisierten Daten und Update aller generalisierten Daten, deren Quell-Objekte sich geändert haben. Für die Generalisierungsalgorithmen aus dem ersten Teil soll dann der jeweils geeignete Update-Mechanismus gefunden und umgesetzt werden.

An wen richtet sich euer Tool?

Zielgruppe sind Hobby- und professionelle Kartograph*innen, die aus OSM-Daten schöne Karten machen wollen. Die Arbeit soll in die Karten auf openstreetmap.org einfließen können, um der OpenStreetMap-Community dabei zu helfen, weiter hochqualitative Kartendaten zu sammeln.