MapFish Print - die umfassende Open-Source Lösung für das Drucken von Karten
Andreas Jobst
In dieser Serie von Artikeln beschäftigen wir uns mit den Herausforderungen, die beim Drucken von webbasierten Karten auftreten, erkunden die Technologien, die für die Erstellung professioneller Drucke erforderlich sind, und zeigen einige interessante Beispiele aus der Praxis anhand bestehender Anwendungen.
In diesem Artikel befassen wir uns mit der Open-Source Software MapFish Print, geben einen Überblick über die Anwendung und stellen das vielfältige Einsatzgebiet des Printing Engines vor.
MapFish Print ist eine Java-basierte Lösung zum Drucken von Karten, die in einer Vielzahl von Web GIS Anwendungen und Geoportalen eingesetzt wird. Camptocamp ist der langjährige Herausgeber und Maintainer des Projekts (https://github.com/mapfish/mapfish-print), das vor 15 Jahren initiiert wurde und dessen letzte große Überarbeitung (Version 3) im Jahr 2014 veröffentlicht wurde. Bis heute ist MapFish Print weiterhin ein sehr aktives Open-Source Projekt.
MapFish Print kombiniert mehrere ausgereifte Open-Source Tools und Frameworks wie GeoTools für die Kartierung und JasperReports für die Konfiguration von Layouts. Eine modulare Architektur, die auf dem Spring-Framework basiert, ermöglicht ein äußerst flexibles Anpassen des Layouts. Mit Jaspersoft Studio können auch Anwender ohne Programmierkenntnisse ihre eigenen Templates erstellen. Die finalen Berichte können sich aus mehreren Seiten zusammensetzen, wobei sämtliche Karten mit einem einheitlichen Layout gestylt werden können.
Ein interessanter Anwendungsfall ist das Schweizer Kataster der öffentlich-rechtlichen Eigentumsbeschränkungen (ÖREB-Kataster). Neben dem Kanton Basel-Landschaft als Initiator des Projekts wird MapFish Print mittlerweile von 9 weiteren Kantonen für den Druck von Kataster-Karten und den zugehörigen Metadaten eingesetzt.
Der resultierende Bericht im PDF Format zeigt auf der ersten Seite eine Übersichtskarte der ausgewählten Parzelle und eine Tabelle mit den wichtigsten Attributen. Die folgenden Seiten enthalten eine detaillierte Ansicht aller möglichen Eigentumsbeschränkungen der jeweiligen Parzelle. Als solche sind zusätzliche Karten im Bericht enthalten, die die Flächennutzung auf regionaler und kommunaler Ebene zeigen (Nutzungsplanung), gefolgt von einem Verschnitt der Parzelle mit den offiziellen Lärmempfindlichkeitsstufen.
In den aktuellen Berichten sind nun auch Hyperlinks enthalten, die weiterführende Informationen zu den zugrundeliegenden Rechtsvorschriften und gesetzlichen Grundlagen (z. B. Lärmschutz-Verordnung) enthalten.
Ein weiterer Anwendungsfall ist SchweizMobil, wo MapFish Print als Teil des Geoportals zum Drucken von Routen für verschiedene Outdoor-Aktivitäten innerhalb der Schweiz verwendet wird. Die gedruckten Karten enthalten sowohl eine topografische Karte im Hintergrund als auch die Vektorlayer der ausgewählten Routen innerhalb des Interessensgebiets. Jeden Tag werden Tausende von PDFs über diese Plattform generiert, was die Performanz und sehr gute Skalierbarkeit der MapFish Print-Dienste unterstreicht.
Auch das eidgenössische Geoportal der Schweiz geo.admin.ch nutzt MapFish Print als Printing Client. Geoadmin enthält eine große Anzahl von Geodaten und seit dem 1. März dieses Jahres hat swisstopo der Öffentlichkeit den Zugang zu allen Geobasisdaten frei zugänglich gemacht.
Die Dienste des Printing Clients müssen daher sehr gut skalierbar sein und den Druck von verschiedenen Datentypen wie z.B. WFS, WMS, WMTS sowie vom Benutzer gezeichnete überlagernde Elemente ermöglichen. MapFish Print stellt sicher, dass im selben Druck sämtliche in der Kartenansicht sichtbaren Inhalte korrekt und mit einer angemessenen Auflösung gerendert werden (siehe auch https://www.youtube.com/watch?v=VP79mP_zKZY).
Die resultierenden PDFs enthalten zusätzlich einen QR-Code, der den Benutzer direkt zum Geoportal mit der entsprechenden Kartenansicht zurückführt.
Neben dem Einsatz in WebGIS und Geoportalen ist MapFish Print auch in weitverbreitete GIS Tools wie GeoServer (https://docs.geoserver.org/stable/en/user/extensions/printing/index.html) und GeoNetwork (https://geonetwork-opensource.org/manuals/trunk/en/install-guide/map-print-setup.html) integriert.
Der nächste Artikel in dieser Serie beschäftigt sich mit den unterschiedlichen technischen Herausforderungen, die beim Drucken von Karten über webbasierte Anwendungen entstehen können, es bleibt also spannend!
Sie möchten mehr erfahren?
Bitte zögern Sie nicht, uns zu kontaktieren.
Karriere
Sie sind daran interessiert, in einer inspirierenden Umgebung zu arbeiten und sich unseren motivierten und multikulturellen Teams anzuschliessen?