13.01.2014 | Frederik Ramm
WMS-Server sind eine ziemlich altmodische Sache. Die WMS-Spezifikation wurde im Jahr 2000 erstellt, und viel hat sich seitdem nicht verändert: Der Client sagt “gib mir diese Karte, in dieser Projektion, für diesen Bereich, in dieser Auflösung”, und der Server schickt ein Rasterbild zurück. So lief das mit Karten im Web, bevor es Tiles oder sogar Vektorkarten gab. Nichtsdestotrotz sind WMS-Dienste auch heute noch ein wichtiger Bestandteil professioneller Arbeit im GIS-Umfeld.
In den Anfangstagen von OpenStreetMap gab es sogar für einige Zeit einen “offiziellen” Projekt-WMS, der allerdings bald durch die heutige Tile-basierte Karte ersetzt wurde, die für vielbesuchte Webseiten besser geeignet ist.
Bei der Geofabrik haben wir beides – Tileserver für öffentliche, vielbesuchte Seiten, und WMS für Nutzer mit speziellen Anforderungen. Unseren OpenStreetMap-WMS gibt es schon einige Jahre (wir bieten ihn ab €35/Monat ab, Details siehe Produktseite). Der Mapnik-basierte WMS ist eine Eigenentwicklung; der Quelltext ist Open Source.
Einen WMS aufzusetzen, ist keine Zauberei, aber weil der WMS für jede hereinkommende Anfrage ein neues Bild berechnen muss, gilt es, Kartenstil und Datenbank-Abfragen so anzupassen, dass die Antworten schnell genug kommen. Hier wir einiges an Arbeit investiert und beispielsweise spezielle Datenbank-Indizes eingerichtet oder vereinfache Geometrien für das Straßennetz und die Landnutzungsflächen berechnet. Diesen generalüberholten WMS führen wir jetzt schrittweise ein – neue Kunden erhalten gleich den neuen Server, und Bestandskunden werden einer nach dem anderen umgestellt. Hier ein paar Dinge, die unser WMS kann:
Echtes Rendern auf Anfrage – in jeder Projektion
Jedes einzelne Bild, das unser WMS herausgibt, wird aus aktuellen OSM-Daten in dem Augenblick berechnet, in dem die Anfrage hereinkommt. Das heisst, dass die Daten nie älter als ein paar Minuten sind (ausgenommen die vereinfachten Straßen und Landnutzungsflächen, die wir auf den großen Maßstäben einsetzen). Es heisst aber auch, dass wir keine Bitmap-Umprojektion vornehmen müssen, weil wir die Bilder gleich in der angeforderten Projektion ausrechnen.
Wenn Sie eine andere Projektion als die Standard-“Google Mercator” einsetzen, zum Beispiel UTM oder Gauß-Krüger, dann kennen Sie sicherlich die typischen Kartenbilder, auf denen die Beschriftungen alles mögliche sind, nur nicht waagerecht. Das passiert, wenn der WMS das Bild als Reprojektion aus vorberechneten Rasterdaten herstellt, anstatt es neu aus Vektordaten zu berechnen – es geht schneller, ist aber zum Schaden der Bildqualität. Wir tun das nicht.
Hochauflösende Bilder für den Druck
Einen hochauflösenden Druck-WMS hatten wir schon eine Weile im Angebot, aber der neue WMS unterstützt jetzt direkt benutzerdefinierte DPI, so dass die Karte in beliebiger Auflösung abgerufen werden kann. Einige Desktop-GIS-Programme, wie zum Beispiel Quantum GIS, fragen das Kartenbild für den Druck automatisch erneut in hoher Auflösung ab und bieten so ausgezeichnete Druckqualität.
Wählbare Layer
Weil wir jedes Bild auf Anfrage ausrechnen, können wir auch einzelne Layer ein- und ausschalten. Bisher mussten wir das für Kunden mit Sonderanforderungen einzeln konfigurieren, aber der neue WMS benutzt dafür einfach die Standard-Layerauswahl, die im WMS-Protokoll vorgesehen ist. So lassen sich Layer wie zum Beispiel Grenzen, Ortsnamen, Straßennetz, Landnutzung, Gebäude, POIs und so weiter getrennt an- oder abwählen. Die GIS-Software zeigt i.d.R. bei der Einbindung des WMS eine Layerauswahl an.
Diese Funktion ist besonders nützlich, wenn man eine etwas aufgeräumtere Basiskarte (zum Beispiel ohne POIs) anzeigen möchte. Man kann sie sogar nutzen, um ein transparentes Straßen- und Ortsnamen-Overlay über ein eigenes Luftbild zu legen.