DE:Einrichtung TileCache für Aerowest Luftbilder

From OpenStreetMap Wiki
Jump to navigation Jump to search

Einleitung

Diese Seite richtet sich primär an Nutzer des Editors Potlatch, kann aber ebenso in anderen Editoren wie JOSM genutzt werden. Potlatch erwartet für Hintergrundbilder einen TMS-Server (TMS=Tile Map Service). Um dennoch den lokalen WMS-Server mit den Aerowest-Bildern zu nutzen, wird Schritt für Schritt erklärt, wie TileCache als TMS-Server eingerichtet wird.

Wichtiger Hinweis: Mapper, die nur eine überschaubare Menge an Bildern vom Aerowest-Server herunterladen möchten, sind mit JOSM und dem PicLayer Plugin möglicherweise deutlich schneller produktiv. Ein eigener WMS-Server + TileCache stellt einen nicht ganz unerheblichen Aufwand dar, der sich in bei wenigen Bildern eher nicht rechnet.

Voraussetzungen

  • Ubuntu (Erfahrungen zu Windows liegen leider noch nicht vor)
  • Lokaler WMS-Server ist bereits wie im Wiki beschrieben eingerichtet.


TileCache installieren

TileCache kann als Debian Paket installiert werden, dazu den folgenden Befehl von der Kommandozeile ausführen:

sudo apt-get install tilecache

Damit ist die Installation auch schon erledigt!


Optional: Manuelle Installation

Sollte aus irgendwelchen Gründen eine manuelle Installation notwendig sein, so kann die Version 2.11 von http://tilecache.org herunterladen und im Apache-Webverzeichnis (z.B. /var/www) ins Verzeichnis tilecache entpackt werden. Für den Apache Server muss zunächst in der Konfigurationsdatei /etc/apache2/sites-available/default die Ausführung der cgi-Scripte erlaubt werden. (siehe auch http://tilecache.org/docs/README.html#running-under-cgi)). Dazu als Superuser (root) den folgenden Ausschnitt in die Konfigurationsdatei hinzufügen:

<Directory /var/www/tilecache>
    AddHandler cgi-script .cgi
    Options +ExecCGI
</Directory>

Dadurch ändern sich auch die unten genannten Pfade: Die Konfigurationsdatei findet sich in /var/www/tilecache/tilecache.cfg und die URL ändert sich von http://127.0.0.1/cgi-bin/tilecache.cgi... in http://127.0.0.1/tilecache/tilecache.cgi.


tilecache.cfg anpassen

Die Standard-Konfiguration des TileCache findet sich in der Datei /etc/tilecache.cfg. Damit TileCache den lokalen WMS-Server findet und die Tiles für Potlatch aufbereiten kann, muss diese Datei an die lokalen Gegebenheiten angepasst werden. Auch für diesen Schritt werden ebenfalls Superuser-Rechte benötigt. Dazu am besten von der Kommandozeile den Editor mit "sudo gedit /etc/tilecache.cfg" aufrufen und die folgende Vorlage in die Konfigurationsdatei einfügen. Nach der Installation finden sich in der Datei schon einige Einträge, insbesondere auch im Bereich [cache]. Dieser Abschnitt sollte mit # - Zeichen auskommentiert werden, da wir einen eigenen Bereich für den Cache festlegen.

[cache]
type=Disk
base=/media/ext/tilecache

[AerowestOSM]
type=WMSLayer
url=http://127.0.0.1/cgi-bin/mapserv?map=/mapserver/osm.map
extension=jpeg
layers=Luftbilder_Musterstadt
bbox=-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892
srs=EPSG:900913
levels=23
tms_type=google
extent_type=loose
mime_type=image/jpeg

Was muss angepasst werden?

  • base=/media/ext/tilecache ist das lokales Cache-Verzeichnis, in dem die Tiles zwischengespeichert werden. Bitte auch darauf achten, dass TileCache Schreibberechtigung für dieses Verzeichnis besitzt und ausreichend Platz zur Verfügung steht (hängt natürlich sehr von der Zahl der Bilder ab).
  • url: Dies entspricht der Service-URL aus dem Wiki. Nur ändern, wenn in der lokalen WMS-Installation abweichend eingerichtet.
  • layers bezieht sich auf den Namen des Layers in der Map-Datei. Im Wiki entspricht dies Luftbilder_Musterstadt im Bereich LAYER :: NAME.

WMS-Server: Map-Datei anpassen

In der Konfiguration des lokalen WMS-Servers fehlt noch die Projektion EPSG:900913, die entsprechend ergänzt werden muss.

Im Abschnitt MAP::WEB::METADATA wird also aus

  "wms_srs"    "EPSG:4326"

ein:

  "wms_srs" "EPSG:4326 EPSG:900913"


EPSG-Datei überprüfen

In manchen Installationen fehlt die "Google-Projektion" 900913. Das lässt sich in der Datei /usr/share/proj/epsg überprüfen. Fehlt dort der Eintrag für EPSG_900913, so muss diese Datei als Superuser (root) entsprechend ergänzt werden:

<900913> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs

Einrichtung für JOSM

Josm starten und unter Bearbeiten -> Einstellungen -> WMS/TMS Imagery.png -> Bilddienste den Url zum TileCache hinzufügen.

Dieser ist bei dieser Beispielinstallation über die folgende Adresse erreichbar:

http://localhost/cgi-bin/tilecache.cgi/1.0.0/AerowestOSM/{zoom}/{x}/{y}.jpg

Hat man vergessen, dem neuen TMS-Eintrag einen sinnvollen Namen zu geben, so lässt sich dieser auch nachträglich unter Bilddienste ändern, indem man zunächst in der Spalte "Menüname" auf den zu korrigierenden Eintrag doppelklickt, den Namen entsprechend anpasst, anschließend die Enter/Return-Taste drückt und erst dann auf OK klickt.

Wichtig Enter/Return Taste Drücken ist hier unbedingt erforderlich; klickt man nur auf OK wird die Änderung nicht übernommen!

Einrichtung für Potlatch

Potlatch2 starten und unter Background -> Edit den lokalen TileCache hinzufügen. Dieser ist über die folgende Adresse erreichbar: (per Copy und Paste nach Potlatch übertragen).

http://localhost/cgi-bin/tilecache.cgi/1.0.0/AerowestOSM/!/!/!.jpg

Potlatch merkt sich die Adresse des TileCache leider nicht dauerhaft, d.h. beim nächsten Start muss die Adresse erneut eingegeben werden. Abhilfe bietet der tileurl-Parameter, der an die Potlatch-Editor-URL (z.B. http://www.openstreetmap.org/edit?editor=potlatch2&lat=49.227891&lon=6.998568&zoom=18) angehängt wird.

&tileurl=http://localhost/cgi-bin/tilecache.cgi/1.0.0/AerowestOSM/!/!/!.jpg

Beispiel für Saarbrücken mit Potlatch2 und tileurl:

http://www.openstreetmap.org/edit?editor=potlatch2&lat=49.227891&lon=6.998568&zoom=18&tileurl=http://localhost/cgi-bin/tilecache.cgi/1.0.0/AerowestOSM/!/!/!.jpg

Als Favorit gespeichert steht so immer der TileCache sofort zur Verfügung.

Für Potlatch 1.x sollte das ganze analog funktionieren, also statt editor=potlatch2 einfach editor=potlatch verwenden:

http://www.openstreetmap.org/edit?editor=potlatch&lat=49.227891&lon=6.998568&zoom=18&tileurl=http://localhost/cgi-bin/tilecache.cgi/1.0.0/AerowestOSM/!/!/!.jpg

Und so sieht es aus

Wenn alles geklappt hat, sollte das Ergebnis so aussehen: