26.03.2025 –, HS3 (S1)
Die Grundlagenkarte der Stadtwerke München ist eine Sammlung von Daten aus verschiedenen Quellen wie amtlichen Daten und eigenen Erhebungen. Sie umfasst ca. 14.000 km² und wird mit PostGIS verwaltet. 2024 wurden die ETL-Prozesse auf eine Open Source Lösung basierend auf Python und GeoPandas migriert, um die Flexibilität und Performance zu erhöhen. Die Transformationen werden auf einem Kubernetes-Cluster ausgeführt, wodurch der Import von mehreren Tagen auf 6 Stunden reduziert werden konnte.
GeoPandas - als Tool zur Basiskartenaktualisierung
Markus Gruber, Markus Albrecht
Die Basiskarte (GEOBASISDATEN) der Stadtwerke München ist eine Vermengung von verschiedensten Datenquellen, welche den Bedürfnissen des Netzinformationssystems entsprechen. Hauptsächlich besteht die Basiskarte aus amtlichen Daten (ALKIS, DFK, …) vom Staatlichen Vermessungsamt, aus Zulieferer Daten von Fremdfirmen, OpenData oder selbst erfassten Daten der Fortführung und Planung der Stadtwerke München.
Die Daten werden in unterschiedlichsten Formaten geliefert (XML, SHAPE, CSV) und werden erst in vorgelagerten PostgreSQL Schema und von diesen in das PostgreSQL Ziel Schema BK importiert.
Die Basiskarte der SWM beinhaltet eine Fläche von ca. 14.000 qkm. Das Datenmodell wurde für den Anforderungen der SWM entwickelt, es enthält 67 Tabellen und ca. 30 Mio. Objekte. Sie ist die Datenbasis im Netzinformationssystem, in QGIS Anwendungen oder in Java REST Schnittstellen wie der Adress-Service.
Der Vollimport wurde in der Vergangenheit mit verschiedensten ETL Tools aus dem Open Source oder kommerziellen Bereich mehr oder weniger zufriedenstellend durchgeführt. Anfang 2024 erfolgte in nur drei Monaten die Migration der bestehenden ETL Transformationen vom Kaufprodukt hin zur Open Source Python / GeoPandas Lösung, mit dem Ziel, wesentlich mehr Flexibilität und Performance zu gewinnen.
Die Transformationen müssen in einer komplexen Prozesskette seriell, oder wenn möglich, parallel ausgeführt werden, so dass ein performanter Import mit allen Abhängigkeiten und Prioritäten erfolgreich durchgeführt werden kann. Mittels der der Open Source Python-Bibliothek Dask werden diese Aufgaben für paralleles und verteiltes Rechnen sichergestellt. Dask ist einfach zu verwenden und im Python Code einzubinden.
Die Ausführung der Transformationen erfolgt auf der Open-Source Kubernetes Cluster, welcher on premise bei den SWM betrieben wird. Aufgrund der Skalierbarkeit ist es uns gelungen den bisherigen Import Prozess der Basiskarte von mehreren Tagen auf 6 Stunden zu reduzieren. Aufgrund der hohen Flexibilität von GeoPandas können jetzt neue Anforderungen im Bereich von Geo-Daten Schnittstellen oder Auswertungen problemlos implementiert werden.
Architekt bei den Stadtwerken München im Bereich der Geo- und Netzinformationssysteme.
Markus Gruber entwickelt seit über 25 Jahren am Geografischen Netzinformationssysytem NIS der Stadtwerke München GmbH. Aufgrund seiner vielen Schnittstellenprojekte wurde er großer Befürworter der Open-Source Lösungen und war maßgeblich bei der Einführung der PostgreSQL Datenhaltung und QGIS bei den SWM beteiligt. Seit vielen Jahren arbeitet Markus Gruber im Team mit großem Erfolg an innovativen Lösungen, auf Basis von zukunftsfähigen Technologien, wie z.B. PostgreSQL, Java oder Python / GeoPandas. Markus liebt seinen Beruf aber auch das Klettern und Skitourengehen in seiner bayrischen Heimat, wo er auch als Gemeinderat tätig ist.