Einleitung

Karten sind überzeugende Kommunikationsmittel zur Visualisierung und Analyse von Daten! Das Erstellen und Veröffentlichen von interaktiven Karten im Web (“Webmaps”) sollte daher so selbstverständlich sein wie das Schreiben eines Blog-Eintrags. Angesprochen sind vor allem Studierende, Schülerinnen und Schüler sowie Interessierte, Datenjournalisten und viele andere, die mit raumbezogenen Daten (oder kurz Geodaten) zu tun haben - also eigentlich jeder 😄.

Angenommen, es soll eine Webmap mit den Wohnorten der Teilnehmer eines Kurses erstellt werden. Hierfür wird eine Liste mit Namen und Adressen verwendet. Auf der Karte soll, sofern das Tool dies unterstützt, nur ein Marker-Symbol mit Nummer unterhalb dargestellt werden. Dieses Beispiel dient als Vorlage für die Erstellung von Symbol-Karten für alle hier vorgestellten Werkzeuge.

Ziele

Das Ziel dieses Arbeitsblattes ist es zu zeigen, wie man auf einfache Weise eine Webmap mit frei zugänglichen und datenschutzfreundlichen Werkzeugen erstellt, veröffentlicht (publizieren) und mit anderen Nutzern teilt.

Wir sprechen von "Webmaps" und nicht von "Karten", um zu betonen, dass es sich um eine Karte handelt, die jedoch interaktiv im Web mit der Maus gezoomt (zoom) und verschoben (pan) werden kann, um sich zu orientieren. Idealerweise kann man zudem in die Karte klicken, um mehr Informationen zu erhalten.

Ausgangspunkt sind nicht zu grosse Geodaten, die häufig in Tabellenform im CSV-Format vorliegen, wie die Liste der Teilnehmer in unserem Falle. Diese Daten müssen typischerweise aufbereitet werden. Darüber hinaus wird vorausgesetzt, dass keine Programmierkenntnisse zur Bedienung eines Werkzeugs erforderlich sind (sog. "Low-Code"-Tools).

Die Lernziele sind, ein geeignetes Web Mapping-Werkzeug auswählen zu können und weitere Lernmaterialien zu den empfohlenen Tools zu kennen.

datawrapper

Abbildung 1: Screenshot (statisches Bild) einer Webmap mit den Wohnorten von Teilnehmern eines Kurses. Erstellt und veröffentlicht mit Datawrapper (Quellen: eigene Daten, Basiskarte Datawrapper)

Hinweis: Für Webentwickler gibt es zwei bekannte JavaScript-basierte Software-Bibliotheken im Open-Source-Bereich: Leaflet und OpenLayers, wobei Leaflet verbreiteter ist. Dazu gibt es das Tutorial “OpenStreetMap Resources for Web Developers”. Für Data Scientists und Programmierer gibt es einen Anhang “Karten in Jupyter-Notebooks (Python) und R integrieren und im Web veröffentlichen”.

Elemente einer Webmap

Eine Webmap besteht aus verschiedenen graphischen Elementen und Interaktionsfunktionen. Folgende sind aber für diesen Anwendungsfall besonders wichtig:

  • Hintergrundkarte (auch Basiskarte) - Karte u.a. mit Strassen und Ortsnamen zur räumlichen Orientierung z.B. wo ein Marker liegt.

  • Marker - Symbol auf der Karte beispielweise für ein "Point of Interest" (POI).

  • Labels - Text-Beschriftungen eines Markers.

  • Tooltip – Beschreibung, die beim "Hovern" mit der Maus über einen Marker erscheint.

  • Infobox – Popup-Fenster, das erscheint, wenn ein Element mit der Maus angeklickt wird.

Das Besondere an einer Webmap ist ja ihre Interaktivität. So kann ein Benutzer die Karte vergrössern (zoom), sie verschieben (pan), mit der Maus über ein Element hovern oder eine Infobox anklicken. In der Tabelle 1 im Kapitel "Die Werkzeuge" unten gibt es eine Zusammenstellung der Werkzeuge mit ihren Funktionen und den unterstützten Elementen.

Vorgehen

Das Vorgehen aus Sicht eines Kartenerstellers ist typischerweise wie folgt:

  1. Festlegen, was dargestellt werden soll und die entsprechenden Daten beschaffen.

  2. Auf der Grundlage der Fragen und der Werkzeuge-Übersicht (unten) ein Werkzeug auswählen.

  3. Ggf. die Daten nach den Vorgaben des Tools aufbereiten.

  4. Das Werkzeug starten; eventuell vorher ein Konto einrichten und/oder Software installieren.

  5. Die Karte mit dem Werkzeug erstellen.

  6. Die Karte veröffentlichen.

Auswahl der Werkzeuge

Bei der Auswahl der hier vorgestellten Softwarewerkzeuge wurde darauf geachtet, dass es sich um Open-Source-Software handelt und ein frei zugänglicher Online-Dienst genutzt werden kann, der datenschutzfreundlich ist. Aus diesem Grund wird u.a. auf die Produktfamilie ArcGIS nicht weiter eingegangen (wobei anzumerken ist, dass ArcGIS sehr gut dokumentiert ist und im Anhang nochmals erwähnt wird). Was datenschutzfreundlich bedeutet und warum Google Maps & Co. hier nicht berücksichtigt werden, wird in einem eigenen Kapitel [Warum nicht Google Maps & Co] weiter unten erläutert. Wichtig ist, dass Open Source, freie Webdienste und eigenes Hosting noch keine Garantie für Datenschutzkonformität sind und man selbst genau hinschauen muss.

Als Nutzer bezahlt man immer! Wie im Kapitel zu Google Maps & Co. erwähnt, "bezahlt" man dort mit seinen persönlichen Daten für die "freie" Nutzung deren Dienste. Sinnvoller erscheint es uns aber, seine eigene Zeit - z.B. in Form von Engagement für ein quelloffenes Projekt - einzusetzen oder eine Mitgliedschaft oder eine Spende zugunsten eines quelloffenen Projekts in Erwägung zu ziehen.

Hinweis: Grössere Geodatenmengen erfordern aufwändigere Lösungen. Dies erfordert mehr Know-how und es müssen GIS-Spezialisten hinzugezogen werden. Wer es trotzdem wissen will, dem sei das Portal OpenSchoolMaps empfohlen. Speziell könnte dieses Arbeitsblatt zu "Betriebssystem-Shells und Command Line Interfaces" hilfreich sein, das zeigt, wie man lokal mit OGR auch grössere Datenmengen verarbeiten kann.

Wichtige Fragen

Folgende Fragen stellen sich vor jeder Erstellung und Publikation einer Webmap:

  • Welcher Kartentyp soll gewählt werden?

  • Welches Geodatenformat verwenden und wie konvertieren?

  • Wie werden die Daten und die Webmap gehostet?

Diese Fragen werden in den folgenden drei Kapiteln behandelt.

Welcher Kartentyp soll gewählt werden?

Welcher Kartentyp gewählt wird, hängt von den Daten ab und davon, was mit der Karte kommuniziert werden soll. Der Oberbegriff für Kartentypen in der Kartographie ist "thematische Karte". Es handelt sich also um Karten, mit denen ein bestimmtes Thema kommuniziert werden soll. Dies im Gegensatz z.B. zu einer topographischen (Hintergrund-)Karte.

Wir behandeln hier folgende thematischen Kartentypen:

  • Standort-Karte (engl. "location map"): Karte mit einem Marker/Symbol, der einen Standort kennzeichnet, z.B. einen Shop-Standort.

  • Symbol-Karte (engl. "symbol map"): Karte mit mehreren Symbole/Marker, die gegebenenfalls in Farbe, Grösse und Ausrichtung variieren und die gegebenenfalls beschriftet sind.

  • Choroplethen-Karte (auch Flächenkartogramm) (engl. "choropleth map"): Karte mit Gebieten, die entsprechend der Datenwerte wie beispielsweise Abstimmungsergebnisse eingefärbt sind.

Hinweis: Zu verschiedenen Begriffen: Marker sind grafische Zeichen auf einer Karte oder einem Diagramm, die einen bestimmten Ort oder Punkt kennzeichnen. Wir bevorzugen hier diesen Begriff. Icons und Symbole sind kleine Grafiken. POIs (Points of Interest) bezeichnen bestimmte Orte, die für Nutzer einer Karte oder Navigation von Interesse sein könnten.
kartentypen

Abbildung 2: Die drei Kartentypen Standort-Karte, Symbol-Karte und Choroplethen-Karte (Quelle: links eigene Darstellung, Rest Datawrapper)

Dieses Arbeitsblatt konzentriert sich auf die ersten beiden Kartentypen, die Standort-Karte und die Symbol-Karte, und nicht alle Tools unterstützen diese: Siehe Tabelle 1 unten.

Das Arbeitsblatt Apache Superset für Fortgeschrittene auf OpenSchoolMaps erklärt ausführlicher, was es für Kartentypen gibt.

Es gibt einige weitere Kartentypen, die hier nur kurz erwähnt werden sollen: Die Zeitreihen-Karte (engl. "time series map", z.B. animierte GIFs). Die "Hotspot-Karte" (ein Bild ohne Zoom und Pan aber mit Popup-Fenster: vgl. nachfolgender Tipp), die Heatmap (ein "Wärmebild", z.B. von hoher menschlicher Aktivität) und die "Mapstory" (vgl. Anhang "Mapstories und ArcGIS StoryMaps").

Hinweis: Technisch kann das mit dem HTML-Element "Image Hotspots" realisiert werden. Dies ist z.B. mit dem LMS H5P bzw. Lumi möglich oder auch mit QGIS. Lumi Cloud ist ein kostenloses LMS, mit dem interaktive Lerninhalte vn H5P erstellt online erstellt und veröffentlicht werden können. Lumi Desktop erfüllt denselben Zweck, jedoch lokal und offline. Es ist Open Source und basiert auf H5P (HTML5 Package).

Welches Geodatenformat verwenden und wie konvertieren?

Wenn es sich um weniger als eine Handvoll Punkte handelt, können die Marker in einigen Werkzeugen manuell erfasst und direkt online veröffentlicht werden (siehe Tabelle 1 unten). In der Regel müssen die Geodaten jedoch vorher aufbereitet werden, da je nach Werkzeug die Daten im GeoJSON-Format oder ggf. als GPX oder KML vorliegen müssen.

  • GeoJSON ist ein standardisiertes Format, das auf JSON (JavaScript Object Notation) basiert und zur Kodierung von Punkten, Linien und Flächen (Polygonen) verwendet wird. Es unterstützt die JSON-Datentypen und wird häufig in Webanwendungen verwendet.

  • GPX (GPS Exchange Format) ist ein XML-basiertes Datenformat zum Austausch und zur Speicherung von GPS-Daten wie Routen, Tracks und Wegpunkten.

  • KML (Keyhole Markup Language) ist ein XML-basiertes Format zur Darstellung von Geodaten auf digitalen Karten und in Kartenviewer wie ursprünglich Google Earth.

  • Shapefiles gehören nicht zu den empfohlenen Formaten: siehe unten, warum.

Die Geodaten können u.a. mit folgenden Konvertierungs-Werkzeugen aufbereitet und konvertiert werden (Auswahl):

Tabellenkalkulationen (Excel) und tabellarische Daten im .XSLX- bzw. CSV-Format müssen meist ebenfalls im GeoJSON-Format aufbereitet werden. Dabei müssen die Felder, welche die Geometrie (Koordinaten) enthalten, sowie idealerweise die Datentypen manuell angegeben werden.

Nebst den oben erwähnten Konvertierungs-Werkzeugen gibt es speziell noch togeojson.com und Mapshaper, die beide frei zugänglich und online CSV nach GeoJSON konvertieren.

Es kann sein, dass keine Koordinaten vorhanden sind. Dann können die Daten vorher geokodiert werden - man spricht auch von "Data Enrichment". Der Datawrapper und QGIS haben diesen Geocodierungsprozess beispielsweise integriert. Bei der Geokodierung werden (Post-)Adressen und geografische Namen in Koordinaten umgewandelt. Zum Beispiel wird "Oberseestrasse 10, Rapperswil" mit den Koordinaten 47.223303, 8.816775 ergänzt. Damit können Daten mit Adressen auf der Karte dargestellt werden. Dieser Prozess ist recht aufwendig, was auch der Grund dafür ist, dass es kaum freie Dienste dafür gibt. Mehr dazu im Arbeitsblatt Geokodierung von Adressen mit QGIS auf OpenSchoolMaps.

"Verwende GeoPackages oder GeoJSON anstelle Shapefiles". Shapefiles unterliegen einigen Einschränkungen. Unter anderem dürfen Feldnamen nicht länger als 10 Zeichen sein: dies schränkt die Interpretation der Daten so stark ein, dass es häufig zu Datenverlusten kommt. Ausserdem sind mindestens zwei Dateien (.shp und .dbf) erforderlich: Wenn eine davon fehlt, sind die Daten unbrauchbar. Weitere Argumente sind auf der Website switchfromshapefile.org zusammengestellt. Die Formate GeoPackage und GeoJSON sind darum dem Shapefile vorzuziehen.

Wie werden die Daten und die Webmap gehostet?

Das Hosting der Daten - d.h. das "Hochladen" ins Web - und das Hosting der Webmap selber sind zwei verschiedene Dinge, die aber meist am gleichen "Ort" sind.

Nachfolgend haben wir die verschiedenen Lösungen für das Hosting der Daten und der Webmap zusammengestellt:

  • Bei Datawrapper und uMap kann man die eigene Datei im Format GeoJSON oder CSV hochladen und direkt als Webmap veröffentlichen. Das ist am Einfachsten.

  • Der Kartenviewer der Schweiz, geo.admin.ch, erfordert eine eigene Datei-Hosting-Lösung (z.B. mit GitHub/GitLab), um die KML- oder GPX-Dateien zu hosten.

  • Wenn es ausreicht, eine GeoJSON-Datei als einfache Symbol-Karte (mit Punkten, Linien oder Polygonen) darzustellen, genügt es, sie auf GitHub hochzuladen. GitHub ist dabei zusätzlich zum Hosting auch ein Kartenviewer. Dabei kann die Datei ein Code oder aber ein "Gist" (GitHub) bzw. "Snippet" (GitLab) sein.

  • Nebst GitHub können auch Dateien in einem Content Management System (CMS), ein Learning Management System (LMS) oder Dropbox oder Google Drive (oder Amazon S3) als Datei-Hosting-Lösungen dienen.

  • Wer sich mit Wordpress (oder Typo 3) auskennt und Zugang zu einem entsprechenden Provider hat, kann dort seine Geodaten hochladen und im Web direkt veröffentlichen.

  • Bei QGIS mit QGIS Cloud übernimmt der QGIS Cloud-Server das Hosting und die Veröffentlichung im Web.

  • Bei QGIS und dem QGIS-Plugin qgis2web werden Dateien erzeugt, die auf eine eigene Webseite hochgeladen werden müssen.

  • Karten von uMap und geo.admin.ch können mittels HTML-iframe in eine Webseite eingebettet werden, falls man Zugriff auf eine eigene Webseite hat.

  • Die eigene Webseite kann eine statische GitHub-/GitLab-"Page", ein CMS (wie Wordpress, Typo3) oder ein LMS (wie Moodle, H5P/Lumi) sein.

Alle Werkzeuge erfordern eine Registrierung (Benutzerkonto), wobei Datawrapper und geo.admin.ch mit gewissen Einschränkungen und im Rahmen der Nutzungsbedingungen auch direkt und ohne Registrierung genutzt werden können.

Ein HTML-iframe ist ein Element, das es ermöglicht, eine externe Webseite in eine andere Webseite einzubetten. Dies geschieht durch Einfügen des iframe-Tags in den HTML-Code, wobei die URL der einzubettenden Seite als src-Attribut angegeben wird. iframe wird häufig verwendet, um Inhalte wie Videos, Karten oder interaktive Elemente nahtlos in Webseiten zu integrieren.

Die Werkzeuge

Im Folgenden werden die in Tabelle 1 genannten Werkzeuge in eigenen Kapiteln vorgestellt mit einer ersten Bewertung. Zuvor jedoch noch ein Hinweis zu statischen Karten im Web und eine Begründung, warum wir Google Maps & Co. nicht empfehlen.

Folgende Low-Code-Werkzeuge stehen zur Auswahl (ohne Anspruch auf Vollständigkeit):

Werkzeug

Hosting

Tooltip

Infobox

Formate

Kartent.

Hintergrundkarte

Datawrapper

ja

ja

nein

GeoJSON,CSV,GPX,KML

St,Sy,Ch

OSM, andere

uMap

ja

ja

ja

GeoJSON,GPX,KML…​

St,Sy,Ch

OSM, andere, WMTS

geo.admin.ch

ja

ja

nein

GPX,KML

Sy

nur Schweizer Karte

GitHub

ja

nein

nein

GeoJSON,TopoJSON

Sy

nur OSM

WordPress (CMS…​)

evtl.

ja

nein

GeoJSON

Sy

OSM, Google Maps

QGIS mit QGIS Cloud

ja

nein

ja

sehr viele

viele

viele, andere, WMTS

QGIS mit qgis2web

nein

ja

nein

sehr viele

viele

viele, andere, WMTS

Tabelle 1: Low-Code-Werkzeuge zur Erstellung und Publikation von Webmaps. Bei kleinen Bildschirmen evtl. nach rechts scrollen. Legende: Kartent.=Kartentypen, St=Standort-Karte, Sy=Symbol-Karte, Ch.=Choroplethen-Karte; WMTS (Web Map Tile Service), ein Standard für die Bereitstellung von georeferenzierten, vorgefertigten Kacheln (Tiles) über das Internet.

Bewertung der Werkzeuge

Datawrapper hat wahrscheinlich die beste "User Experience" für gewöhnliche Benutzer. Dies liegt vor allem an der Benutzerführung, den massgeschneiderten Funktionen, sowie den bereitgestellten administrativen Grenzen und am integrierten Hosting der eigenen Daten.

uMap folgt gleich nach Datawrapper. Damit kann man kartographische Elemente konfigurieren, wie geografische Suche, Kartenlegende, Massstab, Nordpfeil etc.

Der Online-Kartenviewer geo.admin.ch der swisstopo bietet die Einbindung von KML und GPX an und ist auf das Gebiet der Schweiz beschränkt. Hier und auf sCHoolmaps.ch gibt es zahlreiche Anleitungen dazu. Bei geo.admin.ch wie auch bei GitLab oder GitHub ist die Hintergrundkarte fest vorgegeben und kann nicht angepasst werden.

Dazwischen gibt es eine Reihe von Werkzeugen, die sehr zweckgebunden sind und nur rudimentäre kartographische Elemente enthalten. Je nach Zielsetzung, Vorkenntnissen und der Beantwortung der drei oben genannten wichtigen Fragen sind sie mehr oder weniger geeignet.

Das "Power-Tool" QGIS bietet schliesslich die meisten Funktionen. Dafür aber erfordert es einiges an technischem Know-How und im Falle von qgis2web ein separates Hosting. Das Erlernen von GIS-Kenntnissen mit QGIS ist jedoch machbar. Dazu gibt es unter anderem diese Einführung in QGIS 3 und Geoinformationssysteme (GIS) auf OpenSchoolMaps.

👉 Für Webentwickler mit Kenntissen in HTML/CSS, JavaScript und/oder VueJS zeigt das Tutorial OpenStreetMap Resources for Web Developers das Entwickeln einer interaktiven Webmap als Standort-Karte ("Location Plan") oder als Symbol-Karte ("POI Map") mit JavaScript.

Beispieldaten "Adressliste"

Als Geovisualisierungs-Beispiel für die Webmap verwenden wir die Adressliste vom bereits erwähnten Arbeitsblatt Geokodierung von Adressen mit QGIS. Die Personen dort sind rein fiktiv und daher vom Datenschutz her unbedenklich.

Hier die Daten in aufbereiteter Form:

Statische Karten als Bild

Eine statische Karte ist technisch gesehen ein reines Bild, das für viele Zwecke ausreicht und keine weiteren Internetressourcen benötigt. Damit lässt sich auch besser kontrollieren, wie die Karte im PDF oder gedruckt aussieht.

Bei allen oben genannten Werkzeugen kann ein Screenshot des Kartenausschnitts gemacht werden, der dann als Bild auf ein Datenhosting hochgeladen und als statische Karte in eigene Webseiten eingebettet werden kann.

Für Datawrapper und QGIS gilt, dass sie zusätzlich einen eigenen Export als Bilddatei anbieten, der eine höhere Auflösung erlaubt, als ein Screenshot normalerweise bietet.

Warum nicht Google Maps & Co.?

Es ist der grosse Verdienst von Google, mit "Google Maps" Webkarten und Navigation zum Allgemeingut gemacht zu haben. Aber Technologiekonzerne wie Google & Co. tendieren mit ihren kommerziellen Produkten zu "Vendor-Lock-in", zu Monopolen und "Gatekeepern", die nicht datenschutzfreundlich sind. Sie machen sich damit zu potentiellen Datenkraken oder zumindest ethisch fragwürdig.

  • "Vendor-lock-in" kann dazu führen, dass Behörden, Unternehmen und Studierende von einem Anbieter abhängig werden und dass Innovation, Flexibilität und Anpassungsfähigkeit eingeschränkt werden.

  • Eine Verletzung oder Umgehung der Datenschutzkonformität bedeutet, dass die Vorschriften über die Verarbeitung personenbezogener Daten, wie z.B. die Datenschutz-Grundverordnung der EU oder Gesetze der Schweiz, nicht eingehalten werden.

Ein Dienst, der ethisch fragwürdig und datenschutzunfreundlich ist, wirft Bedenken auf, wie z.B:

  1. Persönliche Konten und Kreditkarten: Risiken entstehen, wenn Dienste die Nutzer zwingen, mehr sensible Informationen anzugeben, als erforderlich ist. Das Ziel wäre "Datensparsamkeit".

  2. Personenbezogene Daten: Die Sammlung personenbezogener Daten, einschliesslich Standort- und Bewegungsdaten, können Datenschutzstandards verletzen, da oft Transparenz und Einwilligung fehlen.

  3. Praktiken: Unklare oder schlecht umgesetzte Praktiken sind fragwürdig, insbesondere in Bezug auf die Nutzung und Weitergabe von Benutzer-Daten.

Der erste Punkt ist ein No-Go für Studierende und Schülerinnen und Schüler. Von ihnen kann nicht erwartet werden, dass sie eine Kreditkarte angeben. Zur Lösung dieses "Bedürfnisses" bieten einige Produkte Gruppenbenutzerkonten an, was der "Datensparsamkeit" etwas näher kommt.

Die Punkte 2 und 3 sind ein No-Go für Behörden. Damit tragen sie potenziell dazu bei, dass die Daten ihrer Bürger ins Ausland gelangen und dort möglicherweise weiterverkauft werden. Google Maps enthält immer mehr kommerzielle Werbung. So etwas sollte auf Behörden-Websites tabu sein. In allen drei Fällen "bezahlen" die Nutzer mit ihren eigenen Daten für die Nutzung deren Dienste, ohne dass sie sich dessen möglicherweise bewusst sind und ohne wirklich eingewilligt zu haben.

Datawrapper

Datawrapper ist ein Online-Visualisierungstool zur Darstellung von Daten in Form von Geschäftsdiagrammen und Karten. Es hostet auch die Daten. Es hat einen kostenlosen Kosten-Plan, ist Low-Code und Open Source und erfordert nicht zwingend ein Konto. Es wird u.a. von Journalisten verwendet.

Abbildung 3 (👆 interaktiv im Web!): Unsere interaktive Karte, erstellt und veröffentlicht mit Datawrapper mit Tooltips. Eingebettet mit HTML-iframe. (Quellen: Eigene Daten, Kartenmaterial von Swisstopo)

Hinweis: Datawrapper kann Tooltips von Labels anzeigen. Datawrapper unterstützt jedoch keine Infoboxen wie uMap und QGIS.

Datawrapper kennt die folgenden Kartentypen: * Standort-Karte, die bei Datawrapper "Locator-Karte" genannt wird. * Symbol-Karte ("Symbol-Map"), die entsprechend der Daten in ihrer Grösse und Farbe variieren. * Choroplethen-Karte.

Bei der Symbol-Karte und der Choroplethen-Karte kann man aus umfangreichen, vordefinierten administrativen Grenzen (Länder, Kantone) auswählen und Adressen geokodieren, d.h. das Ergänzen von Adressen mit Koordinaten. Diese beiden Eigenschaften sind bemerkenswert.

Datawrapper-Karten können mittels HTML-iframe in eigene Webseiten eingebunden werden, jedoch nur wenn der Karten-Autor ein Konto hat. Datawrapper läuft stabil und ist in Deutschland, einem der Länder mit den strengsten Datenschutzbestimmungen, ansässig.

Wie oben erwähnt, ist es zudem auch möglich, Screenshots von einem Kartenausschnitt zu machen und dieses Bild als statische Karte zu veröffentlichen. In Datawrapper ist es zusätzlich möglich, einen eigenen Export als Bilddatei durchzuführen, der eine höhere Auflösung erlaubt, als ein Screenshot normalerweise bietet.

Vorgehen

Das grundsätzliche Vorgehen wurde oben erklärt. Ein konkretes Vorgehen zur Erstellung einer Webmap mit den Wohnorten der Teilnehmer eines Kurses mit Datawrapper ist nun wie folgt:

  1. Daten beschaffen. Wir nehmen hier die Beispieldaten address_list_geokodiert.csv und laden sie herunter.

  2. Daten aufbearbeiten: Wenn eigene Daten beschafft werden, müssen sie typischerweise geokodier werden (was bei unseren Beispieldaten schon der Fall ist). Als CSV oder Excel abspeichern.

  3. Datawrapper Konto erstellen.

  4. Datawrapper Web-App öffnen

  5. Karte erstellen → Symbol-Map wählen.

  6. Select your map: Passende Karte auswählen z. B. Switzerland Municipalities (2024)

  7. In "Add your data": Klick auf Upload File → CSV-Datei auswählen

  8. In "Visualize":

    • Name der Karte wählen

    • Bei Appearance → "make map zoomable" einschalten

    • Städte-Namen anzeigen: Reiter "Annotate" → "Show labels" einschalten und Regler anpassen.

    • Label auf Hover: Bei "Tooltips" → "Show tooltips" einschalten und bei Tooltip body mit {{ Feldname }} das Feld auswählen, welches als Label beim Hovern auf einen Marker angezeigt wird.

  9. Die Karte veröffentlichen → Embed Code kopieren und auf einer Webseite einbetten.

Dieser Ablauf funktioniert zum Testen auch ohne Konto, nur dass man dann die Karte nicht einbetten kann.

Alternativen

Eine Alternative zu Datawrapper ist TimeMapper (Open-Source).

uMap

uMap ist ein Karteneditor mit Publikationsfunktionen mit mehreren vordefinierten Hintergrundkarten, basierend auf OpenStreetMap oder als Webservice (MTS) von einem anderen Kartenserver. Mit uMap können eigene Geometrien (inkl. Marker) definiert und Dateien in den Formaten GeoJSON, GPX, KML und OSM eingelesen werden. uMap verfügt über umfangreiche Konfigurationsmöglichkeiten.

Abbildung 4 (👆 interaktiv im Web!): Eine mit uMap erstellte und veröffentlichte, interaktive Karte mit Tooltips und Infoboxen. Mit HTML-iframe eingebunden. (Quellen: Eigene Daten, Basiskarte OpenStreetMap)

Hinweis: uMap unterstützt beide Features Tooltip und Infobox

uMap kennt Standort-Karte und Symbol-Karte, sowie auch Choroplethen-Karte und Heatmap. Kartenersteller benötigen zwar einen OpenStreetMap-Account. Doch dieser verlangt vorbildlicherweise nur optional die Angabe einer E-Mail-Adresse ("opt-in" statt "opt-out").

uMap-Karten können mit HTML-iframe in eigene Webseiten eingebunden werden.

Zur uMap-Webapplikation der Schweizer OpenStreetMap Association. Es gibt noch weitere Instanzen von uMap in Deutschland und Frankreich.

Auf OpenSchoolMaps gibt es einige Materialien (Arbeitsblätter, Tutorials) zur Verwendung von uMap. Auch das Tutorial "OpenStreetMap Resources for Web Developers" zeigt das Erstellen einer interaktiven Webmap als Standort-Karte ("Location Plan") oder als Symbol-Karte ("POI Map") mit uMap.

Vorgehen

  1. Daten aufbearbeiten im CSV-, GeoJSON- oder KML-Format. Wir nehmen hier die Beispieldaten address_list_geokodiert.csv (oder .geojson) und laden sie herunter.

  2. uMap Editor aufrufen (online).

  3. Klicken Sie auf Erstelle eine Karte.

  4. Der Karte einen Namen geben.

  5. Hintergrund-Karte wählen: Kachelebenen ändern → Swiss "Mapnik".

  6. Daten importieren (CSV, GeoJSON, GPX, KML)

  7. Ebene anpassen:

    • Klicken Sie auf rechts auf den Knopf "Ebenen verwalten"

    • Klicken Sie bei der importierten Ebene auf das Stift Symbol "Bearbeiten"

    • Infobox: Klicken Sie bei den Interaktionsoptionen auf Popup-Vorlage und schreiben Sie eine Popup-Vorlage (Infobox). Mit {}-Klammern (z. B. Stefan Keller, im Februar 2024.) können Sie Felder aus den Daten referenzieren.

    • Label auf Hover: Gehen Sie in den Layer Optionen in die Erweiterten Eigenschaften und geben Sie den Feld-Namen unter Anzeigeschlüssel ein, den Sie als Label setzen möchten. Gehen Sie dann zurück in die Interaktionsoptionen und wählen Sie bei Beschriftung anzeigen "beim Draufzeigen" aus.

    • Schauen Sie sich die weiteren möglichen Einstellungen an und passen Sie die Einstellungen diese gegebenenfalls an.

  8. Speichern Sie die geänderten Einstellungen mit dem Knopf oben rechts

  9. Karten einbinden: Teilen und Herunterladen –> Karte einbinden

Speichern und Duplizieren

Sie können die uMap-Karte auch lokal speichern und duplizieren. Klicken Sie dazu auf den Share-Button oben in der Karte. Klicken Sie dann auf "Komplettes Backup" unter "Alle Daten und Einstellungen". Damit laden Sie eine uMap-Datei mit der Endung .umap herunter. Mit dieser Datei können Sie dann eine neue uMap-Karte mit den gleichen Einstellungen und Geodaten erstellen.

GitHub

GitHub ist eine webbasierte Plattform, die Hosting für Softwareentwicklungsprojekte unter Verwendung des Versionskontrollsystems Git anbieten. Man spricht auch von "Repository". GitHub ist vor allem für seine grosse Open-Source-Community und seine Kollaborationsfunktionen bekannt.

Im Kapitel "Wie werden die Daten und die Webmap gehostet?" wurde bereits erklärt, was GitHub und Gitlab sind und dass man dort Dateien als Datei oder aber als öffentlich zugängliche Snippets ("Textschnipsel") oder "Gists" hochladen kann. GitHub und Gitlab sind aber auch Kartenviewer für einfache Symbol-Karten (mit Punkten, Linien oder Polygonen) - solange die Dateigrösse eine bestimmte Grenze nicht überschreitet. Wenn man eine GeoJSON-Datei zu einem Repository auf GitHub hinzufügt, wird sie als interaktive, durchsuchbare Karte (mit Leaflet) angezeigt. Diese Funktion bietet eine einfache Möglichkeit, den Inhalt von GeoJSON-Dateien direkt in der GitHub-Benutzeroberfläche anzuzeigen und zu teilen.

Abbildung 5 (👆 interaktiv im Web!): "Unsere" Webmap als GitHub Gist veröffentlicht. Mit HTML-iframe eingebunden. Wenn die Abbildung nicht richtig angezeigt wird, klicken Sie auf "view raw" und kehren Sie dann zu dieser Seite zurück. (Quellen: Eigene Daten, Basiskarte TomTom und OSM (OpenStreetMap Standard))

GitHub macht in der Webmap ein Point-Clustering, was man nicht abschalten kann. Bei Datawrapper, uMap und QGIS beispielweise könnte man das konfigurieren.

Für die Nutzung von GitHub wird ein Account benötigt.

Zu den Dokumentationen über GeoJSON-Dateien von GitHub

Vorgehen

  1. GitHub Gist erstellen

  2. Dateiname (mit Dateiendung .geojson) wählen

  3. GeoJSON einfügen

  4. Create public gist wählen und veröffentlichen

  5. Einbetten: 5a. Mit JavaScript Code-Block einbetten 5b. Share link kopieren, .pibb anfügen und mit iframe einbetten.

Beispiel eines Gist

Hier Beispiel eines Gist mit Share-Link für die Einbettung mittels HTML-iframe: https://gist.github.com/lukasschnellmann/314841f865845805bd08cd5b3b540a31.pibb

Hinweis: Warum muss man bei der Datei .pibb anfügen? Wenn bei einer Github Gist URL .pibb angefügt wird, ruft Github die sog. "HTML only"-Variante auf, die für das Einbetten benötigt wird.

WordPress und andere CMS

Mit einem Content Management System (CMS) kann man seine eigene Website oder seinen eigenen Blog erstellen. Es handelt sich um ein Low-Code-Tool. WordPress ist wohl das bekannteste CMS. Unter anderem gibt es auch Typo3.

Für Wordpress gibt es das Plugin "Leaflet Map", mit dem man mit Hilfe eines "Shortcodes" eine eigene interaktive Webmap als Standortkarte ("Location Plan") oder als Symbolkarte ("POI Map") erstellen kann.

wordpress screenshot

Abbildung 6: Screenshot (statisches Bild) der in WordPress erstellten, interaktiven Karte. (Quellen: Eigene Daten, Basiskarte OpenStreetMap)

WordPress und Typo 3 sind unter einer Open-Source-Lizenz und können über einen Provider oder selbst gehostet werden.

Zum Wordpress Plugin "https://wordpress.org/plugins/leaflet-map/[Leaflet Map]" gibt es u.a. dieses Tutorial "OpenStreetMap Resources for Web Developers".

Vorgehen

  1. Leaflet Map Plugin in WordPress installieren.

  2. GeoJSON in /wp-content/uploads/ hochladen.

  3. Karte mittels WordPress Shortcodes erstellen.

  4. Pfad zum GeoJSON im leaflet-geojson shortcode als src property eintragen.

  5. Veröffentlichen

Beispieldaten können im Abschnitt Beispieldaten "Adressliste" heruntergeladen werden.

QGIS

QGIS, kurz für Quantum GIS, ist ein freies und quelloffenes Geoinformationssystem, das eine Vielzahl von Werkzeugen zur Visualisierung, Bearbeitung und Analyse von Geodaten bietet. QGIS unterstützt zahlreiche Vektor-, Raster- und Datenbankformate und ermöglicht es Benutzern, Karten zu erstellen, räumliche Analysen durchzuführen und Geodaten zu bearbeiten. QGIS und wird weltweit von GIS-Profis, Forschern, Studenten und Interessierten für eine Vielzahl von Anwendungen in Bereichen wie Umweltwissenschaften, Stadtplanung und Ressourcenmanagement eingesetzt.

Dieses "Power-Tool" bietet sicherlich die meisten Funktionen von allen hier erwähnten Werkzeugen. Dafür ist einiges an technischem Know-How und ein separates Hosting nötig.

QGIS-Projektbeispiel

Vorgehen zur Erstellung eines QGIS-Projekts

  1. QGIS starten

  2. Neues Projekt öffnen

  3. Hintergrundkarte hinzufügen

  4. Koordinatensystem anpassen

  5. Daten importieren

  6. Punkte anpassen (e.g. Farbe wählen, Label setzen)

Download des QGIS-Beispielprojekts

Das entsprechende Beispiel steht Ihnen hier zum Download zur Verfügung. Sie laden damit eine .qgz-Datei herunter, die als QGIS-Projekt in QGIS importiert werden kann.

Bilddatei-Export

Wie im Kapitel "Werkzeuge" erwähnt, ist es jederzeit und bei allen Tools möglich, Screenshots von einem Kartenausschnitt zu machen und dieses Bild als statische Karte zu veröffentlichen. In QGIS kann man zusätzlich einen eigenen Export als Bilddatei durchführen, der eine höhere Auflösung erlaubt, als ein Screenshot normalerweise bietet.

QGIS bild export
Abbildung 1. Screenshot unserer mit QGIS Desktop erstellten Karte (Quelle: eigene Daten, Basiskarte OpenStreetMap)

Ausserdem bietet QGIS die Möglichkeit, Geodaten mit Zeitreihen als Bildreihe zu exportieren, aus der ein animiertes GIF erstellt werden kann. Das Arbeitsblatt "Zeitreise mit QGIS" auf OpenSchoolMaps erklärt, wie das geht.

QGIS mit QGIS Cloud

QGIS Cloud ist eine einfache Möglichkeit, ein Web-GIS zu betreiben, ohne dass man einen eigenen Server warten und sichern muss. Mit dem QGIS Cloud-Plugin kann man lokale Daten in die QGIS Cloud-Datenbank hochladen und Webmaps und OGC-konforme Dienste veröffentlichen. Mit QGIS Server sehen die veröffentlichten Karten sehr ähnlich aus wie auf dem Desktop.

Abbildung 7 (👆 interaktiv im Web!): "Unsere" mit QGIS erstellte und auf QGIS Cloud veröffentlichte, interaktive Karte. Mit HTML-iframe eingebunden. (Quellen: Eigene Daten, Basiskarte OpenStreetMap).

QGIS Cloud Free ist ein Dienst, der für Testzwecke und die nicht-kommerzielle Nutzung kostenlos genutzt werden kann. Er erfordert einen Account und die einmalige Installation des freien QGIS Cloud Plugins.

Website QGIS Cloud Free.

Vorgehen

QGIS Cloud Account erstellen und QGIS Cloud Plugin in QGIS installieren. 2. QGIS Projekt erstellen, wie oben erklärt, oder Projekt mittels download importieren. 3. Im QGIS Cloud Plugin mit dem neu erstellten QGIS Cloud Konto anmelden. 4. Über Kontextmenu eine neue Datenbank erstellen oder bereits vorhandene verwenden. 4. In der Registerkarte 'Upload Data' die Layers hochladen. 5. In der Registerkarte 'Maps' auf 'Publish Map' klicken.

Das QGIS-Projektbeispiel steht Ihnen im Abschnitt Download des QGIS-Beispielprojekts zum Download zur Verfügung.

QGIS mit dem Plugin qgis2web

Für QGIS gibt es das Plugin qgis2web, mit dem man ein QGIS-Projekt in eine Webmap umwandeln und dann beliebig verwenden kann. Dabei kann zwischen den Kartenbibliotheken Leaflet und OpenLayers gewählt werden. Der Export erzeugt eine HTML-Datei und weitere Dateien (in den Formaten JavaScript, GeoJSON, PNG) in einem Dateiverzeichnis. Diese Dateien müssen dann auf einen separaten Webserver kopiert werden, der die HTML-Datei interpretieren kann, um die Karte zu veröffentlichen. Diese Lösung bietet die grösste Kontrolle über das Kartendesign und das Hosting bzw. die Veröffentlichung, ist aber auch aus Nutzersicht am anspruchsvollsten.

Abbildung 8 (👆 interaktiv im Web!): "Unsere" mit QGIS und mit dem Plugin qgis2web erstellte, interaktive Webmap (Leaflet), die auf GitLab Pages veröffentlicht wurde. Mit HTML-iframe eingebunden. (Quellen: Eigene Daten, Basiskarte OpenStreetMap)

Das Arbeitsblatt "5. Präsentation von Geodaten" auf OpenSchoolMaps zeigt beispielsweis, wie man schöne Karten mit QGIS erstellt, die dann mit qgis2web exportiert werden können.

Das QGIS-Plugin qgis2web ist im Tutorial "Web Mapping with QGIS2Web (QGIS3)" von qgistutorials.com auf Englisch erklärt. Dazu gibt es viele weitere Videos.

Vorgehen

  1. QGIS2Web Plugin über QGIS installieren

  2. QGIS Projekt erstellen, wie oben erklärt, oder Projekt mittels download importieren.

  3. In der Registerkarte 'Web' –> 'qgis2web' –> 'Create web map'

  4. Unten bei 'Set All' –> 'Popup fields to: hidden field'

  5. Gewüschte Felder zurück auf 'no Label' oder je nach gewünschtem Resultat auswählen.

  6. In der Registerkarte 'Appearance' bei 'Template' auf 'full-screen' einstellen.

  7. Zu unterst noch Leaflet als Map Engine auswählen und Preview updaten.

  8. Ordner für den Export in der Registerkarte 'Export' wählen

  9. Web Map exportieren

  10. Web Map auf beliebigen Hosting Service hosten.

Das QGIS-Projektbeispiel steht Ihnen im Abschnitt QGIS-Projektbeispiel zum Download zur Verfügung.

Abschluss

Mit diesem Arbeitsblatt haben wir gelernt, wie man auf einfache Weise Webmaps erstellt und veröffentlicht. Dabei wurden Werkzeuge verwendet, die frei zugänglich, Open Source und datenschutzfreundlich sind. Ziel war es, nicht zu grosse Geodatensätze ohne Programmierkenntnisse zu veröffentlichen. Wir haben gesehen, dass man sich mindestens diese drei Fragen stellen muss: Welcher Kartentyp? Welches Geodatenformat? Welches Hosting? Empfohlene Tools sind Datawrapper, uMap, geo.admin.ch, GitHub/GitLab, WordPress und QGIS mit zwei Erweiterungen.

In diesem Arbeitsblatt wurde vieles ausgelassen. So haben wir z.B. Aspekte der Kartenerstellung wie Farbwahl, Symbolwahl, Marker-Beschriftung, externe Webmap-Dienste oder Dekorationen wie Kartenlegende, Massstab, Nordpfeil usw. nicht behandelt. An einigen Stellen wurde jedoch auf andere Quellen verwiesen, namentlich auf OpenSchoolMaps.ch.

Zum Schluss noch folgender Hinweis: Man achte darauf, die Quellen der Geodaten anzugeben und befolge die Daten- und Software-Lizenzen. Hier ist ein Beispiel für einen Text bei der Verwendung von OpenStreetMap (inklusive Hintergrundkarte), der sich normalerweise unten rechts auf der Karte befindet:

Daten & Karte © OpenStreetMap Mitwirkende ODbL | Problem melden.

Bei "Problem melden" (auf der Karte) kann man sogar die Koordinaten des aktuellen Kartenausschnitts als Parameter übergeben. Es ist jedoch klar, dass es nicht immer möglich ist, (Karten-)"Problem melden" in die Webmap einzubauen.

Viel Spass beim Erstellen, Veröffentlichen und Teilen von Webmaps!

Hinweis: Apropos melden - Haben Sie Kommentare oder Anregungen? Kontaktieren Sie den Erstautor dieses Merkblatts.

APPENDIX: Mapstories und ArcGIS StoryMaps

Eine "Mapstory" ist eine Geschichte mit einer interaktiven Karte (Webmap). Sie ist ein Text mit multimedialen Inhalten (Bilder, Audio, Video, Social Media), der mit interaktiven Webmaps kombiniert wird, um eine (Daten-)Geschichte zu erzählen.

Je nach dem liegt der Einstieg und Fokus mehr auf dem Blog oder aber der Webmap, woraus sich zwei Anwendungsfälle ergeben:

  • Der Anwendungsfall "Blog mit Webmaps", ist eine Story oder ein Blog-Eintrag ergänzt durch eingebettete, interaktive Karten (Webmaps). Dazu benötigt man eine beliebige Blog-Applikation und das Wissen, wie man Webmaps einbindet - wie hier oben beschrieben.

  • Beim Anwendungsfall der eigentlichen "Mapstory" (Plural "Mapstories"), ist eine Geschichte bei der Karten das zentrale Element der Einstiegs und des Inhalts sind. Ein viel versprechendes Projekt ist Mapstories.de: Es ist quell-offen und bietet eine freie, gehostete Webapplikation an. Mapstories eignen sich auch gut für den Geographieunterricht, unabhängig davon, ob sie mit Mapstories.de oder anderen Werkzeugen umgesetzt werden. Im Open-Source-Bereich gibt es neben dem frei nutzbaren und quell-offenen Mapstories.de-Projekt dazu kaum Angebote. Meist handelt es sich um verwaiste Projekte, wie z.B. das Projekt MapStory.

"ArcGIS StoryMaps™" bzw. StoryMaps.com™ (nur für den "persönlichen" Gebrauch) decken beide Anwendungsfälle aus einer Hand ab und nutzen das kommerzielle ArcGIS Online inklusive Hosting. Zur Einbettung mit HTML-iframe kann der ArcGIS Online "Map Viewer Classic" verwendet werden (anscheinend nicht den neuen "Map Viewer"). Der Begriff "StoryMaps"™ (singular StoryMap) ist von der Firma Esri markenrechtlich geschützt und daher gleichzusetzen mit "ArcGIS StoryMaps™".

APPENDIX: Karten in Jupyter-Notebooks (Python) und R integrieren und im Web veröffentlichen

Für die Anzeige von Karten in Jupyter-Notebooks (Python) kann man die Bibliothek "Folium" verwenden. Das ist ein Python-Wrapper zu Leaflet. Man kann die Jupyter-Notebooks mit Folium-Karten auf verschiedenen kostenlosen Plattformen wie NBViewer, Binder, Google Colab und Microsoft Azure Notebooks veröffentlichen.

Um Karten in der Programmiersprache R zu verwenden, kann man die Pakete "leaflet" oder "mapview" in Betracht ziehen, die beide ebenfalls auf Leaflet beruhen. Sie können als Teil einer "Shiny App" publiziert werden.


license Dieses Dokument ist frei verwendbar unter der Lizenz (c) CC0 1.0, sofern nicht anders angegeben.