Tile-Server für Openstreetmap

26.06.2013

Hier ein kleiner Überblick darüber, welche Ressourcen mir bei meinen Übungen zum Thema Geo-Informatik und Openstreetmap geholfen haben. Zum Testen der Implementierungen rund um dieses Themengebiet - unter anderem EBMap4D benötigte ich eine eigene Quelle für das Kartenmaterial.

Die Notwendigkeit für einen eigenen Server ergab sich unter anderem daraus, daß meine Tests es nötig machten, immer wieder die einzelnen Kacheln der Kartendarstellung neu zu laden. Es existieren zwar Enthusiasten, die eigene Tile-Server betreiben und diese im Internet zur Verfügung stellen, jedoch gilt es als höflich, solche nicht durch ständige hohe Last in die Knie zu zwingen.

Ich entwickelte unter anderem eine Komponente zur Verwendung in Java-Anwendungen, die einen Cache für solche Tiles einrichtet und verwaltet. Aber speziell in der Zeit ihrer Entwicklung - als der Cache also noch nicht zufriedenstellend funktionierte - hatte ich immer ein schlechtes Gewissen. Und so entstand damals die Idee, einen eigenen Tile-Server in meinem "Labor" zu betreiben, mit dem ich dann unabhängiger wäre.

Ein weiterer Grund dafür war, daß man dadurch in der Lage wäre, eigene Tiles für ganz unterschiedliche Anwendungszwecke zu erstellen: in einem eigenen Server ist es möglich, die Stylesheets nach Lust und Laune zu variieren. Das war auch eine der Ideen in unserer früheren Firma: mit problembezogenen Karten Umsatz zu generieren - Die Kunden kommen und schildern ihr Problem und wir entwickeln ein Stylesheet, das die Kartendaten so aufbereitet, daß Informationen, die zu diesem Problem in Beziehung stehen, besonders prominent dargestellt werden. Dazu ist es leider nie gekommen, aber jetzt ist eine weitere Idee dazugekommen, die eine Variante davon darstellt.

Die Idee, die ich durch einen eigenen Kartenserver umgesetzt habe ist, die normalen Karten durch Visualisierung der topografischen Strukturen aufzuwerten. Man findet im Internet unter dem Stichwort Hillshading durchaus einige Howtos, die erklären, wie man diese Anforderung umsetzen kann. Allerdings sind solche Howtos meist sehr problembezogen - Beispiel: Karten für Fahrradfahrer oder Wanderer. Die wollen natürlich immer wissen, wo es Täler und steile Anstiege gibt. Daher wird in den meisten der Howtos erklärt, wie man diese Informationen in die Tiles hineinbringt. Damit sind die Reliefinformationen untrennbar mit den anderen Kartendaten verbunden. Ich wollte dagegen diese Reliefinformationen als Layer in der Karte haben, die ich nach Belieben an- und abschalten kann.

Daher setzte ich einen weiteren TileServer auf, der nur die Reliefinformationen in den Tiles auslieferte. Dabei ist die Neigung des Geländes jeweils in der Helligkeit codiert: Weiß und Schwarz bedeutet maximale Neigung, grau hingegen flaches Land. Durch geschickte Nachbearbeitung (Übertragung der Helligkeit in den Kanal für die Deckkraft und gleichmäßige Schwarzfärbung der Kachel) lassen sich diese Tiles als Overlay über beliebige Karten-Tiles benutzen:

Hillshading über Openstreetmap-Karte Reliefinformationen als Überlagerung einer normalen OpenStreetMap-Karte

Die Server selbst setzte ich als virtuelle Linux-Container unter Ubuntu 13.04 als Wirt auf. in den Containern kanm Ubuntu 12.04 LTS als Betriebssystem zum Einsatz.

Ressourcen

LXC

Tile-Server

Hillshading

Artikel, die hierher verlinken

Tile-Server für Openstreetmap in LXC II

10.07.2018

Ich beschrieb vor einiger Zeit den Antrieb dafür, einen eigenen Tile-Server zu betreiben. Damals war als System Ubuntu 12.04 in LXC-Containern auf einem Ubuntu 13.04-Wirt zum Einsatz gekommen. Ich habe das System renoviert und auf Ubuntu 16.04 (Container und Wirt) angehoben

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.