Ausgabe 102

Rückblick Kalenderwoche 2025-30

Es hat in der letzten Woche ziemlich viel geregnet und gewittert. Hier zieht gerade eine Gewitterfront heran. Für den Quadcopter war das schon zu spät, er hätte den Schauer nicht überlebt. Die Fotos wären aber mit Sicherheit spektakulär geworden.

🧭 In der Ausgabe 2025-06 habe ich geschrieben, dass unsere Garage vermessen werden musste.

Dazu wurden die Koordinaten (Nordwert, Ostwert, Höhe) der vier Eckpunkte des rechteckigen Gebäudes bestimmt und niedergeschrieben.

Letztens trudelten dann die Rechnungen dafür ein:

Vermessung: 552 Euro.

Eintragung in das Liegenschaftskataster: 125 Euro.

In OpenStreetMap habe ich die Koordinaten mit einer ähnlichen Genauigkeit innerhalb weniger Minuten eingetragen, natürlich kostenlos.

Äpfel und Birnen, ich weiß.


🗺️ Auf der Website von OpenStreetMap (OSM) wurden in der vergangenen Woche zum ersten Mal Vector Tiles-Versionen der Weltkarte angeboten.

Mir ist klar, dass die Karte auf openstreetmap.org nicht das Produkt ist, sondern nur eine Ansicht der OpenStreetMap-Datenbank – die in den meisten Fällen auch nur von den Leuten genutzt wird, um ihre Mapping-Sessions zu überprüfen1.

Die auf OpenStreetMap genutzten Kartenkacheln werden aber von unzähligen anderen Diensten und Anwendungen verwendet, um Karten im Web darzustellen (ich nutze sie bei bikerouter.de auch als meine primäre Kartendarstellung bei der Planung). Seit Google die Karten-API kostenpflichtig gemacht hat, ist die OSM-Karte die Go-To-Lösung für viele Leute, die eine Kartenansicht in ihre Webanwendung integrieren wollen.

Seit vielen Jahren sind Vector Tiles auf dem Vormarsch und OpenStreetMap dürfte vermutlich der letzte große Anbieter sein, der immer noch zum großen Teil auf Raster Tiles setzt. Der Einsatz von Vector Tiles auf OpenStreetMap wird aber auch schon seit vielen Jahren diskutiert und wir sehen jetzt die ersten Ergebnisse.

Alle technischen Vorteile der Vector Tiles mal zur Seite geschoben: Es ist noch ein weiter Weg.

Der unschlagbare Vorteil der OpenStreetMap Raster Tiles ist die unfassbare Detailtreue und die hohe Qualität der Darstellung. Der Kartenstil lässt sich gleichermaßen für viele verschiedene Anwendungsfälle nutzen, von der übersichtlichen High Level-Darstellung ganzer Länder bis runter zu Wanderpfaden in den Wäldern sind alle Details (je nach Zoomstufe) vorhanden. Sogar die verschiedenen Abstufungen von Waldwegen (tracktype) oder auch bestimmte Zugangsbeschränkungen sind sofort erkennbar und können für die visuelle Vorabplanung von Routen genutzt werden.

Vector Tiles dagegen sind immer ein Kompromiss, da vorab eine Datenreduzierung stattfindet, um die Vector-Tiles nicht zu groß werden zu lassen. Was für den Anwendungsfall in Städten ausreicht, ist für die Offroad-Tourenplanung in meinen Augen ungeeignet.

Was meine ich damit? Die folgenden drei Kartenausschnitte haben alle den gleichen Maßstab und zeigen die selbe Gegend.

Bekommt man von dieser Darstellung („Shortbread“) eine Vorstellung von der der Landschaft? (Direktlink zur Ansicht)

Die Antwort ist nein.

Etwas besser: Stil „MapTiler OMT”. Die folgende Karte sieht fast aus wie der gewohnte OpenStreetMap-Stil, jetzt sind sogar die Wege im Wald erkennbar.

Aber welche Art von Wegen sind das? Unfahrbare Sandwege? Schön verdichtete Schotterwege? Oder doch nur ein Trampelpfad? Alle Waldwege werden gleich dargestellt.

Für einen schnellen Überblick bei der Bike-Tourenplanung ist das immer noch nicht geeignet (Direktlink zur Ansicht):

Zum Vergleich: das ist die gewohnte OpenStreetMap-Karte, die auf den Raster Tiles basiert (Direktlink zur Ansicht):

Hier wird sofort klar2, welche Wege eine gute Chance haben, mit Trekking- oder Gravel-Bike befahrbar zu sein.

Ich habe vor einigen Jahren begonnen, eine Vektor-Karte für Bikerouter zu erstellen, die einen ähnlichen Detailgrad wie die OpenStreetMap-Raster-Karte hat, insbesondere bei Wald- und Feldwegen, aber auch bei der Darstellung verschiedener Landschaftseigenschaften (Wald, Wiesen, Heide, Strauchwerk, Sumpf, …).

Ich habe das Projekt nach einer Weile abgebrochen. Es gab im Grunde zwei Constraints, die die Umsetzung erschwert haben:

  1. Die Detail-Reduzierung bei der Erstellung der Vector Tiles. Hier werden bestimmte Datenbank-Einträge normalisiert und vereinfacht, um die Datenmenge zu reduzieren. Beispiel: aus den vielen verschiedenen Oberflächen-Typen von Wegen in OpenStreetMap (Asphalt, verdichtet, Gras, Betonplatten, Kopfsteinpflaster usw.) wird am Ende nur noch „befestigt“ und „unbefestigt“. Das ist für die meisten Anwendungsfälle in Städten auch völlig ausreichend, aber für die Offroad-Tourenplanung nicht3. Übernimmt man aber alle Details, wächst die Datenmenge, sodass die Vector Tiles irgendwann zu groß werden4. Die Daten werden natürlich je nach Zoomstufe mehr oder weniger vereinfacht, aber am Ende kommt man doch an die Limits.

    Die Reduzierung von Details in Vector Tiles lässt sich z. B. an alleinstehenden Bäumen oder Gebäuden erkennen:

    Alleinstehende Bäume fehlen in der Vektorkarte (links).
    Hausumrisse werden ungenauer in der Darstellung, aus Rechtecken werden unregelmäßige Vierecke (links).
  2. Die Style-Informationen, welche die Darstellung der Vector Tiles beeinflussen. Damit wird festgelegt, welche Features in welcher Zoomstufe wie dargestellt werden. Diese Informationen sind nicht in den Vector Tiles enthalten, sondern müssen separat bereitgestellt werden5.

    Beispiel: Style-Informationen für das Gravel-Overlay.

    Will man sehr detaillierte Karten erstellen und hat die Vector Tiles so erstellt, dass die notwendigen Daten enthalten sind, so müssen jetzt unzählige Style-Informationen erstellt werden (wir reden von vielen hundert einzelnen Anweisungen). Der Webbrowser muss dann jede einzelne Anweisung verarbeiten und darstellen. Das wird zu einer Herausforderung und es kommt zu Performance-Problemen beim Rendern (die Karte ruckelt beim Verschieben und Zoomen).

Beides zusammen macht es zur Zeit schwierig, eine Vector Tile-Karte zu erstellen, die den Detailgrad der gewohnten OpenStreetMap-Raster-Karte erreicht und dabei performant ist.

Wie gesagt – die beschriebenen Probleme sind für die meisten Anwendungsfälle gar keine und was ich hier mache, ist Jammern auf hohem Niveau. Bestimmte Features sind auch überhaupt erst mit Vector Tiles vernünftig umsetzbar, z. B. eine bessere und überhaupt erst praktisch nutzbare Darstellung von POIs auf Karten. Für mein Hauptanwendungsgebiet werden die Grenzen der Möglichkeiten von Vector Tiles aber sehr schnell deutlich.

Zur Vertiefung des Themas Vector Tiles hat Daniel einen interessanten Blogpost geschrieben: Everything You Wanted to Know About Vector Tiles (But Were Afraid to Ask)

Was mir jedenfalls in der letzten Woche noch mal klar geworden ist: der Standard-Kartenstil „Carto“ von OpenStreetMap ist unfassbar gut und es gibt aktuell nichts, was über alle Darstellungsmaßstäbe hinweg auch nur in die Nähe kommt.


🌍 Wikimap zeigt alle geolokalisierten Wikipedia-Artikel auf einer Karte an. Ein schlimmer Zeitdieb.


💡 Innerhalb von vier Wochen waren beide H7-Glühlampen im Auto defekt und mussten ersetzt werden. Interessante zeitliche Korrelation: Der letzte Tausch einer Lampe davor muss bald 10 Jahre her sein.


🏙️ Ciddle ist ein Wordle oder Past-Puzzle aber mit Städtenamen. Die erste Ausgabe war leicht lösbar, bei Nummer zwei, drei und vier habe ich versagt. Ich werde es trotzdem weiterspielen :-)


📋 Opengist ist ein Gist-Dienst, den man selbst hosten kann. Genau das habe ich noch gesucht.

Meine Software-Projekte habe ich seit sechs Jahren auf einem privaten Gitea zu liegen, dort fehlt aber die von GitHub bekannte Gist-Funktionalität.

Opengist macht genau das und das sogar ziemlich gut.


🗺️ Kleines Bikerouter-Update:

  • Der Build-Prozess ist jetzt komplett von Gulp auf Vite umgestellt. Es hakt noch an einer Handvoll Stellen, das sind aber Kleinigkeiten, die ich zügig beheben kann.
  • Im Zuge des Umbaus habe ich auch einige Third-Party-Software-Bibliotheken aktualisiert. Dabei waren auch Updates, die nicht rückwärtskompatibel zu den Vorgänger-Versionen sind und Anpassungen des Bikerouter-Codes erforderten.
  • Hier und da habe ich kleinere Verbesserungen vorgenommen, z. B. gibt es jetzt einen Indikator für Suchbegriffe, die bereits in den Such-Favoriten gespeichert sind sowie ein visuelles Feedback beim Speichern und Löschen der Suchfavoriten.
  • Die Änderungen sind noch nicht auf dem Live-System, da noch diverse Tests und kleinere Bugfixes notwendig sind. Eine Preview-Version ist auf next.bikerouter.de verfügbar. Ich nutze diese für meine täglichen Touren-Planungen und habe bisher zumindest keine größeren Probleme festgestellt.

🔊 In dieser Woche gehört:


  1. Das ist natürlich übertrieben, aber eine Nutzung wie bei Google Maps o. Ä. ist aktuell weder vorgesehen noch möglich. ↩︎

  2. Wenn man sich die Karten-Legende einmal bekannt gemacht hat. Aber das sollte man sowieso bei jeder Karte tun. ↩︎

  3. Dieses Problem habe ich auch beim Gravel-Overlay lösen müssen und habe die Software, die die Vector Tiles erstellt, entsprechend angepasst. ↩︎

  4. Je nachdem wie die Vector Tiles erstellt werden, führt das automatisch zu einer Vereinfachung der enthaltenen Daten, z. B. werden Nachkommastellen von Koordinaten gestrichen, um die Datenmenge zu reduzieren. Das führt zu dem beschriebenen Problem, dass eigentlich rechte Winkel nicht mehr rechte Winkel sind. ↩︎

  5. Das ist ein Riesenvorteil der Vector Tiles: Mit nur einem Datensatz lassen sich unzählige verschiedene Kartenstile erstellen. ↩︎

Tippe mindestens zwei Zeichen.