Community • 10. Mai 2023

Vector Tiles und QGIS

Vector Tiles sind ein nicht mehr so ganz neues Datenformat zur Darstellung von Geodaten. Aktuell sind damit in der Regel die Mapbox Vector Tiles gemeint, ein spezielles binäres Datenformat, das für schnelle Datenübertragungen über das Internet optimiert ist. Dafür werden die Koordinaten auf das Pixelgitter in einer Tile (engl. für Kachel) umgerechnet. Die Erdoberfläche wurde zu diesem Zweck in der Mercatorprojektion auf einer Kachel von 512 x 512 Pixel dargestellt und diese dann wiederum in vier gleich große Kacheln zerlegt. Durch diese Aufteilung entsteht eine Maßstabsreihe mit immer gleichgroßen Tiles. Als weitere Vereinfachung hat man sich dafür entschieden, als Basis die Erde als Kugel zu abstrahieren anstatt das sonst üblichen Rotationsellipsoid zu verwenden. Daher spricht man vom Pseudo- oder Webmercator mit dem EPSG-Code 3857. Vector Tiles sind heute der Standard für Karten auf mobilen Endgeräten und kommen ebenfalls vermehrt in reinen Desktopanwendungen zum Einsatz. Ziel dieses Beitrages ist es darzustellen, was mit Vector Tiles zurzeit in QGIS möglich ist und was noch nicht implementiert ist.

Einbinden und Visualisieren von Vector Tiles mit QGIS

Im Browserfenster von QGIS oder in der Datenquellenverwaltung lässt sich leicht eine neue Verbindung zu einem Vector Tiles Dienst anlegen, welcher hier unter dem Namen „Vector Tiles“ aufgeführt wird. Hier kann, wie bei den XYZ-Tiles, eine URL angegeben werden, welche den Zugriff auf die Kacheln ermöglicht.

In der URL sind die Platzhalter x, y und z enthalten, welche für Spalten, Zeilen und Zoomstufen der Kacheln stehen. QGIS fragt automatisch die für den Maßstab passenden Kacheln ab. Das ganze System baut aktuell fest auf der Webmercatorprojektion auf, weshalb QGIS in der Regel das KBS dahin anpasst beim Hinzufügen des entsprechenden Dienstes. Zum Testen können Sie gerne die folgenden URL verwenden:

https://wms.wheregroup.com/tileserver/tile/world-0-14/{z}/{x}/{y}.pbf

Fügen Sie die URL ein und vergeben Sie einen Namen für die Verbindung. Die Einstellungen für die Zoomstufen sind bereits passend voreingestellt. Wenn Sie weiter als Zoomstufe 14 heranzoomen, werden die Geometrien automatisch interpoliert. Mit einem Doppelklick auf die neue Verbindung wird diese in QGIS geladen und den einzelnen Layern in den Vector Tiles werden automatisch verschiedene Farben zugewiesen.

Einen Stil können Sie dem Layer per default mit der Verbindung zuweisen, dieser wird dann beim Laden automatisch zugewiesen. Dafür kann eine URL zu einem Stil angegeben werden. Genauso können Sie sich die Datei herunterladen und diese über die Layereigenschaften > Stil > Layer Stil… auf Ihrem Computer auswählen. Im Anschluss wird der Vector Tiles-Stil für QGIS konvertiert. Wie gut das Konvertieren funktioniert hängt von der verwendeten QGIS Version ab. Unter Umständen müssen dafür noch Schriftarten installiert und noch ein Rasterlayer geladen werden, wenn diese im Stil verwendet werden. Das folgende Beispiel zeigt den Stil mit den Vektordaten für den Berliner Standort der WhereGroup. Bei den merkwürdig schwarzen Straßenlabeln hat die Konvertierung nicht so gut geklappt. Zum Vergleichen können Sie unseren Webviewer aufrufen. Sie können den Stil nun in QGIS anpassen und auch als QGIS Stil speichern – damit bleiben Ihre Änderungen erhalten und müssen nicht erneut vorgenommen werden.

Vector Tiles bieten die Möglichkeit der Objektabfrage – dadurch lassen sich die Attribute der Objekte darstellen. Beim Klicken auf ein Objekt in der Karte werden zunächst alle geschnittenen Objekte rot markiert. Wählt man im nächsten Schritt im Fenster „Identifikationsergebnis“ den Layer in den Vector Tiles aus, wird nur das entsprechende Objekt rot hinterlegt, wie im Beispiel das Kamera-Symbol für den POI Reichstag. Interessant sind hier zum Beispiel die verschiedenen Namen, welche für das Reichstagsgebäude hinterlegt sind.

Vector Tiles erzeugen mit QGIS

Vector Tiles lassen sich mit QGIS nicht nur darstellen, sondern auch erzeugen. Dafür müssen Vektordaten in Vector Tiles konvertiert werden. Dafür stehen zwei Werkzeuge bereit: Vektorkacheln schreiben (MBTiles) und Vektorkacheln schreiben (XYZ). Im Grunde machen beide Werkzeuge das gleiche. Bei XYZ werden die Vector Tiles direkt im Dateisystem abgelegt, bei MBTiles in eine SQLite-Datenbank gespeichert. Praktischer ist dabei das Speichern als MBTiles, da so alle Dateien in einer Datei liegen und damit einfacher verschoben werden können.

Für die beispielhafte Erzeugung von Vector Tiles kann in dem Feld für „Koordinate“ in der untersten Zeile von QGIS „world“ eingegeben werden. Nach drücken der Enter-Taste wird dann ein Layer mit dem Namen „Weltkarte“ geladen, den wir als Beispiel verwenden wollen. Wenn Sie das Werkzeug „Vektorkacheln schreiben (MBTiles)“ wählen, können Sie dann die Eingabelayer wählen (einen oder mehrere Layer, zum Beispiel die Ebene „Weltkarte“) und im Anschluss die minimale und maximale Zoomstufe einstellen. Die Ausdehnung der Kacheln kann interaktiv auf der Karte oder durch einen Layer festgelegt werden. Achtung: bei den Einstellungen von Zoomstufe und Ausdehnung aufpassen, wenn hier eine weltweite Ausdehnung eingestellt wird, sollte die maximale Zoomstufe nicht größer als 6 sein. Ansonsten warten Sie sehr lange auf das Ergebnis! Abschließend wählen Sie noch den Speicherort für die MBTiles-Datei und starten das Werkzeug.

Das Ergebnis lässt sich einfach per Drag-and-Drop zu QGIS hinzufügen. In den Vector Tiles wurden alle verfügbaren Attribute der gewählten Layer gespeichert. Eine Auswahl an Attributen ist nicht möglich, genauso lässt sich nicht steuern, ob einzelne Layer erst ab einer bestimmten Zoomstufe eingebunden werden. Die fertige MBTiles-Datei kann zum Beispiel auf einem passenden Tileserver wie dem Tileserver GL oder dem TileServer PHP gehostet und von dort aus ausgeliefert werden. Das Styling kann dann mit Maputnik erfolgen. Mit QGIS ist es leider zur Zeit noch nicht möglich einen Stil zu erstellen.

Was geht noch nicht in QGIS?

Ab der QGIS Version 3.16 werden Vector Tiles unterstützt. Alle Möglichkeiten der Technologie werden vermutlich nicht in QGIS einfließen, weil diese zum Teil sehr komplex oder nur für eine sehr kleine Zielgruppe relevant sind. Aber zum Teil auch überraschend, wenn kleine Objekt durch die Verringerung der Koordinatengenauigkeit verloren gehen. Aus meiner Sicht sind gerade die folgenden Einschränkungen relevant:

  • Eigene Stile für Vector Tiles mit QGIS erstellen

  • Eine sonst für Vektordaten übliche Attributtabelle ist nicht vorhanden

  • Vektor Tiles mit gefilterten Inhalten in den verschiedenen Zoomstufen erstellen

  • Kleine Objekte gehen teilweise verloren

Aber warum dann überhaupt Vector Tiles nutzen, wenn diese noch nicht vollumfänglich unterstützt werden? Aus meiner Sicht sprechen die folgenden Vorteile dafür:

  • Sprache der Beschriftung lässt sich anpassen

  • Möglichkeit Informationen aus den Kacheln abzufragen

  • Karte kann rotiert werden und die Beschriftung dreht sich mit

  • Vector Tiles sind durch ihre effiziente Komprimierung optimal für das offline Vorhalten von Daten

  • Sehr gute Druckausgabequalität

Fazit

Mit jeder neuen QGIS-Version wird die Unterstützung von Vector Tiles besser. In Sachen Darstellung ist bereits ein guter Stand erreicht. Die Erstellung von Stilen und die Erzeugung von Vector Tiles sind sind im Augenblick nur eingeschränkt möglich. Die aktuelle QGIS LTR Version 3.28 bietet damit eine solide Basis, um Vector Tiles als Hintergrundkarten einzubinden.

Amtliche Geodaten sind ebenfalls als Vector Tiles verfügbar. basemap.de stellt für ganz Deutschland die Geodaten als Kachelservice bereit. Auf der Webseite sind ebenfalls die URLs zu den Kacheln und die Stile verfügbar. Allerdings natürlich nur für Deutschland – beachten Sie das beim Laden der Daten! Mit den folgenden URLs können Sie die Kacheln und den Stil in QGIS als Verbindung hinzufügen.

https://sgx.geodatenzentrum.de/gdz_basemapde_vektor/tiles/v1/bm_web_de_3857/{z}/{x}/{y}.pbf

https://sgx.geodatenzentrum.de/gdz_basemapde_vektor/styles/bm_web_col.json

Sie wollen noch mehr Wissen zum Thema Vector Tiles? Unsere Kolleginnen und Kollegen betraten Sie gerne. Die FOSS Academy bietet zum Thema Vector Tiles eine umfassende Schulung an, die Sie mit allen Besonderheiten und technischen Finessen des Themas Vector Tiles vertraut macht.

Weitere Beiträge, die Dich interessieren könnten:

Dr. -Ing. Mathias Gröbe

Mathias Gröbe hat Kartographie an der TU Dresden studiert und arbeitet als GIS-Experte bei der WhereGroup. Er ist in Dresden zu hause und verbindet seine Wanderungen gerne mit dem Ergänzen von fehlenden Informationen in OpenStreetMap.

Artikel teilen: