Startseite · Die Idee · Der Cache · Tileauswahl · Zugriffssteuerung · Beratung/Preise

osmCache

Die auf der Java-Enterprise-Edition (JEE) basierende Software osmCache ist eine Anwendung für die Bereitstellung und Erzeugung von Kartenausschnitten (Tiles), die auf dem Kartenmaterial des Projektes OpenStreetMap (OSM) basieren. Die Hauptfunktionen der Software sind
  • ein Servlet für den rechtegesteuerten Zugriff auf Tiles (ersetzt den direkten Zugriff über den Tileserver, der im Allgemeinen mit Hilfe eines Apache-Web-Servers realisiert ist)
  • automatisches Generieren fehlender Tiles
  • automatisches Generieren veralteter Tiles
  • Generieren geänderter Tiles durch die Verarbeitung von Expired Listen aus der Datenbank-aktualisierung der Mapnik Datenbank
  • Generierung der Tiles entsprechend ihrer Relevanz
  • Aktualisierung der ältesten Tiles im System
  • ein Cache für den Zugriff auf die Tiles (Tiles werden direkt im Hauptspeicher gehalten)
osmCache ist aus den Ergebnissen verschiedener Projekte der schönberg-solutions GmbH entstanden und befindet sich im stabilen Einsatz.

Aufbau

Die folgende Abbildung zeigt die Komponenten eines osmCache-Gesamtsystems, das eine OSM-Datenbank aktualisiert und die Funktionen zur Erzeugung und Auslieferung von Tiles zur Verfügung stellt. Hierbei integriert sich osmCache in das System und steuert den Abruf und verwaltet selbständig die Erzeugung von Tiles.

osmCache wird vor den normalerweise zur Abfrage der Tiles verwendeten Apache-Web-Server geschaltet. osmCache nimmt die Anfragen der Clients aus dem Internet (bzw. LAN oder WAN) entgegen, prüft gegebenenfalls die Authentifizierungsdaten (zukünftig können hierüber auch Download-Volumina gesteuert werden) und stellt als Antwort die angeforderten Tiles bereit. Die Tiles selber werden über einen intern konfigurierten Apache oder direkt aus dem Dateisystem bereitgestellt.

Liegen die angefragten Tiles nicht vor oder sind diese entsprechend der osmCache-Konfiguration veraltet, werden in osmCache Renderaufträge erzeugt, die die jeweiligen Tiles erzeugen. osmCache versieht die zu erstellenden Tiles mit Prioritäten, so dass Tiles die nicht im System vorhanden sind, vor Tiles, die veraltet sind, erstellt werden. Da im Allgemeinen umliegende Tiles eines abgefragten Kartenausschnitts ebenfalls benötigt werden (zeitliche und räumliche Lokalität), kann osmCache so konfiguriert werden, dass neben den angeforderten Tiles die nähere Umgebung auf verschiedenen Zoom-Ebenen ebenfalls erstellt wird. osmCache gleicht während der Erstellung die Renderaufträge ab, so dass keine Doppelerzeugung durchgeführt wird. Änderungen, die durch Aktualisierungen der Datenbank entstehen, können über automatisch generierte Listen eingelesen und in "Ruhephasen" des Systems erzeugt werden.

Die Erzeugung der Tiles erfolgt über die von Mapnik bereitgestellten Python Skripte, die durch osmCache erzeugt und überwacht werden.