ich will auf meinem eigenen Tileserver (Ubuntu, Mapnik 2) höhere Zoomlevel als nur bis Stufe 18 anzeigen, da sich Beschriftungen teilweise gegenseitig überdecken. Ich habe in der slippymap.html die Einträge für
numZoomLevels: 19
auf
numZoomLevels: 20
geändert (anscheinend wird bei 0 angefangen zu zählen).
In der Datei /etc/mapnik-osm-data/osm.xml hab ich per Suchen und Ersetzen alle Einträge von
&minscale_zoom18;
auf
&minscale_zoom19;
geändert.
Wenn ich nun aber im Browser auf der Slippymap auf Zoomlevel 19 zoome werden die Kacheln als nicht vorhanden angezeigt. Ich habe renderd im Debug-Modus laufen, bis Zoomlevel 18 rendert er einwandfrei, ab Zoomlevel 19 passiert einfach gar nichts mehr, keine einzige Ausgabe oder Fehlermeldung.
Leider weiß ich nicht wo ich jetzt den Fehler suchen soll…
Hab ich vielleicht noch irgendwo eine Einstellung vergessen?
Ja, Du hast bisher dem OpenLayers erlaubt, Zoom 19 anzufragen, und den Style angepasst, so dass Zoom 19 auch brauchbar aussieht, aber Du hast der Rendering-Engine nicht gesagt, dass sie auch Anfragen fuer Zoom 19 bearbeiten soll. Je nachdem, ob Du Tirex oder renderd benutzt, geht das anders.
Bei Tirex mustt Du in der fuer Deinen Style zustaendigen Config-Datei in /etc/tirex/renderer/mapnik/ ein “maxz=19” eintragen.
Bei renderd ist es ein MAXZOOM=19 in der renderd.conf. (Sehr alte Versionen von renderd haben das Limit fest eingebaut, aber das ist schon seit einer Weile im Configfile).
Danke für die Hilfe. Es funktioniert aber immer irgendwie noch nicht. Ich setze renderd ein. Dafür verwende ich ein Ubuntu 12.04 mit dem Repo von Kai Krüger, das Paket wurde auch gerade erst letzte oder vorletzte Woche über die Paketverwaltung aktualisiert, so alt kann die Version also eigentlich nicht sein…
Meine /etc/renderd.conf sieht nun so aus (;MINZOOM=0 und MAXZOOM=19 habe ich gegenüber der Originalversion hinzugefügt):
Meine MAXZOOM-Angabe wird also gar nicht erst geparst. Ich könnte mir vorstellen dass das Problem gleich in der ersten Zeile liegt (Error opening file for reading: Permission denied). Ich frage mich nur welche Datei er denn da nicht öffnen kann. Ein ls -l /etc | grep renderd ergibt
-rw-r--r-- 1 root root 831 Mai 27 13:32 renderd.conf
also müsste die renderd.conf ja eigentlich auch für alle lesbar sein…
Hab auch schon probiert die renderd.conf nach /usr/local/etc zu linken, aber auch das brachte keinen Erfolg:
Du könntest mit strace analysieren woher das permission denied herkommt und dann die Dateiberechtigung oder Gruppenzugehörigkeit oder sowas in der Richtung anpassen. Hat renderd ansonsten noch einen brauchbaren debug trace mit mehr Details?
Habe renderd mit strace laufen lassen. Der Fehler der “Permission Denied” liefert tritt beim Öffnen von /proc/self/auxv auf, was eine Pseudo-Datei ist die Informationen über den derzeitigen CPU-Status ausgibt. Die ist also meiner Meinung nach vermutlich dazu da um die Mapnik-Queue zu steuern, aber sicherlich nicht um irgendeine config-Datei einzulesen.
Der Vollständigkeit halber hab ich mir auch nochmal /var/log/syslog angeschaut, da kommen aber auch nicht mehr Infos bei rum als wenn ich renderd mit der Option -f aufrufe. Noch detailliertere Ausgaben als mit renderd -f gibts wohl nicht, jedenfalls nicht beim Aufruf von renderd
minzoom & maxzoom sind relativ neu und mußten letztes Jahr noch eincompiliert werden [1]
prüfe doch mal, ob du wirklich eine top-aktuelle Version von renderd verwendest. (oder bau das in config.h ein)
Meine renderd-Version ist 0.4-12~precise2, diese Version ist vom 28.07.2012. Anscheinend hatte das Update nichts mit renderd zu tun…
Das Paket für Ubuntu 12.10 und 13.04 ist Version 0.4-15, ich werde mal probieren das 12.10er zu installieren, mit etwas Glück bekomme ich da nicht allzu viele Probleme mit den Abhängigkeiten.
Selbst kompilieren dürfte zwar auch kein allzu großes Problem werden, allerdings greife ich wenn Möglich doch lieber auf Pakete zurück…
EDIT: Die Abhängigkeiten waren alle in Ordnung, allerdings funktionierte die Einrichtung des neuen libapache2-mod-tile-Pakets nicht. Ich werde es nun doch selbst compilieren…
Nach knapp eineinhalb Tagen vorm SSH-Terminal läuft mein Tile-Server seit 10 Minuten nun endlich wieder (zum Glück hab ich gerade frei).
Das “geschummelte Update”, eine rückwirkend betrachtet wohl nicht ganz saubere Deinstallation der Tileserver-Pakete in Verbindung mit anderer Software die noch auf dem Server laufen muss hat im Endeffekt dazu geführt dass nach dem Compilieren (streng nach Anleitung von switch2osm) gar nichts mehr ging, noch nichtmal der normale Apache zum Anzeigen von den übrigen Seiten die auf dem Server liegen. Nachdem ich dann den ganzen gestrigen Tag sowie heute Vormittag versucht habe die selbst compilierte Version ans Laufen zu bekommen (wobei das Problem eher weniger beim Compilieren lag sondern bei den zurückgebliebenen Resten der Paket-Installation) habe ich dann heute Nachmittag beschlossen wieder alles auf Anfang zu stellen. Auch das gestaltete sich geschätzt 10 mal komplizierter als eine Neuinstallation.
Ich bleibe nun erstmal bei meinen 18 Zoomleveln und warte bis ich nächstes Frühjahr auf Ubuntu 14.04 update, da ist dann die aktuelle Version von renderd auch in den Paketquellen. Ich ärgere mich im Nachhinein nur für so ein Nice-to-Have-Feature eineinhalb Tage verbraten zu haben und am Ende genausoweit wie vorher zu sein, aber wenn der Kartenserver erstmal down ist kann man ja schlecht alles hinschmeißen
Trotzdem danke nochmal für die Hilfe, verbockt hab ich es ja selbst!
Wenn mit sehr alten Versionen alles vor Gestern gemeint war, dann ja…
Mod_tile kann bereits seit einer Weile automatisch mit hoeheren Zoomstufen umgehen und hat dafuer den Parameter MAXZOOM in renderd.conf verwendet (renderd.conf wird sowohl fuer mod_tile als auch renderd zur configuration verwendet und manche Parameter sind nur fuer eines der beiden Komponenten gedacht).
Renderd, hingegen hatte noch ein fest eingebautes Limit von 18, war jedoch vorbereitet, so das man mit einer Neukompilation sehr einfach auf hoehere Zoomstufen gehen konnte.
Ich habe nun das Festeingebaute Limit auf 20 erhoeht und renderd sollte nun auch den Parameter MAXZOOM in renderd.conf beruecksichtigen, so das jeder Style ein verschiedenes max zoom haben kann (so lange es <= 20 ist).
Das limit von Z20 kommt dadurch zu stande wie die Tiles auf der Festplatte gespeichert werden. Es wird ein 40 bit directory hash verwendet. 20 bit fuer X und 20 bit fuer Y.
Man kann zwar auch den Hashwert erhoehen, sodas man >20 gehen kann, allerdings wuerde es die gespeicherten Tiles inkompatibel machen und ohne extrem guten Grund wuerde ich das ungerne tun.
Sorry für die späte Antwort, bin erst jetzt dazu gekommen da ich mir mittlerweile für solche “Projekte” immer einen Zeitpuffer mit einplane falls was schief läuft und ich bei 0 beginnen muss
Hat absolut reibungslos funktioniert, vielen Dank!