DE:Einrichtung TileCache für Aerowest Luftbilder
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 -> 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: