You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#1 2013-05-25 10:50:26
- cziehr
- Member
- Registered: 2013-04-04
- Posts: 241
Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
Hallo,
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: 19auf
numZoomLevels: 20geä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?
Danke und viele Grüße,
Christoph
Offline
#2 2013-05-26 20:58:42
- woodpeck
- Member
- Registered: 2009-12-02
- Posts: 1,210
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
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).
Bye
Frederik
Offline
#3 2013-05-27 12:41:23
- cziehr
- Member
- Registered: 2013-04-04
- Posts: 241
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
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):
[renderd]
stats_file=/var/run/renderd/renderd.stats
socketname=/var/run/renderd/renderd.sock
num_threads=4
tile_dir=/var/lib/mod_tile ; DOES NOT WORK YET
[mapnik]
plugins_dir=/usr/lib/mapnik/2.0/input
font_dir=/usr/share/fonts/truetype/ttf-dejavu
font_dir_recurse=false
[default]
URI=/osm/
XML=/etc/mapnik-osm-data/osm.xml
;XML=/home/server/osm/mapnik/mapnik_hy.xml
DESCRIPTION=This is the standard osm mapnik style
;ATTRIBUTION=©<a href=\"http://www.openstreetmap.org/\">OpenStreetMap</a> and <a href=\"http://wiki.openstreetmap.org/w\
iki/Contributors\">contributors</a>, <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">CC-BY-SA</a>
;MINZOOM=0
MAXZOOM=19
;HOST=tile.openstreetmap.org
;SERVER_ALIAS=http://a.tile.openstreetmap.org
;SERVER_ALIAS=http://b.tile.openstreetmap.org
;HTCPHOST=proxy.openstreetmap.orgWenn ich nun renderd -f starte (den "normalen" renderd-Service habe ich währenddessen angehalten), erhalte ich folgende Ausgabe:
Error opening file for reading: Permission denied
renderd[3179]: Rendering daemon started
renderd[3179]: Parsing section renderd
renderd[3179]: Parsing render section 0
renderd[3179]: Parsing section mapnik
renderd[3179]: Parsing section default
renderd[3179]: config renderd: unix socketname=/var/run/renderd/renderd.sock
renderd[3179]: config renderd: num_threads=4
renderd[3179]: config renderd: num_slaves=0
renderd[3179]: config renderd: tile_dir=/var/lib/mod_tile
renderd[3179]: config renderd: stats_file=/var/run/renderd/renderd.stats
renderd[3179]: config mapnik: plugins_dir=/usr/lib/mapnik/2.0/input
renderd[3179]: config mapnik: font_dir=/usr/share/fonts/truetype/ttf-dejavu
renderd[3179]: config mapnik: font_dir_recurse=0
renderd[3179]: config renderd(0): Active
renderd[3179]: config renderd(0): unix socketname=/var/run/renderd/renderd.sock
renderd[3179]: config renderd(0): num_threads=4
renderd[3179]: config renderd(0): tile_dir=/var/lib/mod_tile
renderd[3179]: config renderd(0): stats_file=/var/run/renderd/renderd.stats
renderd[3179]: config map 0: name(default) file(/etc/mapnik-osm-data/osm.xml) uri(/osm/) htcp() host()
renderd[3179]: Initialising unix server socket on /var/run/renderd/renderd.sock
renderd[3179]: Created server socket 4
renderd[3179]: Renderd is using mapnik version 2.0.0
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-BoldOblique.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-Italic.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerifCondensed-BoldItalic.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-ExtraLight.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-Oblique.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-BoldOblique.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Oblique.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-Bold.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-Bold.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerifCondensed.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-BoldItalic.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerifCondensed-Italic.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerifCondensed-Bold.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-BoldOblique.ttf
renderd[3179]: DEBUG: Loading font: /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
Running in foreground mode...
renderd[3179]: Starting stats threadMeine 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.confalso 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:
sudo ln -s /etc/renderd.conf /usr/local/etc/Weiß jemand Rat wo der Fehler zu suchen ist?
Danke schonmal!
Viele Grüße,
Christoph
Last edited by cziehr (2013-05-27 12:42:24)
Offline
#4 2013-05-27 14:25:54
- wambacher
- Member

- From: Schlangenbad/Wambach, Germany
- Registered: 2009-12-16
- Posts: 16,769
- Website
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
Weiß jemand Rat wo der Fehler zu suchen ist?
Da Rat und Raten ziemlich nah beieinander sind: was ist mit "/var/run/renderd/renderd.stats" ? lösche es mal und starte neu.
eventuell??
Gruss
walter
Offline
#5 2013-05-27 14:32:38
- cziehr
- Member
- Registered: 2013-04-04
- Posts: 241
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
Ne, das wars nicht...
Grüße,
Christoph
Offline
#6 2013-05-27 21:18:31
- couchmapper
- Member
- Registered: 2013-02-17
- Posts: 462
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
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?
Offline
#7 2013-05-28 09:38:25
- cziehr
- Member
- Registered: 2013-04-04
- Posts: 241
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
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
Danke und Grüße,
Christoph
Offline
#8 2013-05-28 10:11:01
- wambacher
- Member

- From: Schlangenbad/Wambach, Germany
- Registered: 2009-12-16
- Posts: 16,769
- Website
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
ok, back to the roots:
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)
Gruss
walter
Offline
#9 2013-05-28 10:28:38
- cziehr
- Member
- Registered: 2013-04-04
- Posts: 241
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
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...
Last edited by cziehr (2013-05-28 12:21:19)
Offline
#10 2013-05-29 21:40:50
- cziehr
- Member
- Registered: 2013-04-04
- Posts: 241
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
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!
Offline
#11 2013-05-31 17:06:44
- amm
- Member
- Registered: 2009-09-20
- Posts: 618
- Website
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
cziehr wrote:Leider weiß ich nicht wo ich jetzt den Fehler suchen soll...
Hab ich vielleicht noch irgendwo eine Einstellung vergessen?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).
Bye
Frederik
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.
Wenn du die Packages aus meinem "osm-unstable" repository nimmst ( https://launchpad.net/~kakrueger/+archive/osm-unstable ), kannst du diese Verbesserungen auch in Ubuntu 12.04 verwenden.
Offline
#12 2013-05-31 17:31:34
- cziehr
- Member
- Registered: 2013-04-04
- Posts: 241
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
Vielen Dank!
Das werde ich mal ausprobieren und dir Rückmeldung geben.
Viele Grüße,
Christoph
Offline
#13 2013-06-13 16:38:23
- cziehr
- Member
- Registered: 2013-04-04
- Posts: 241
Re: Auf eigenem Tileserver Zoomstufen höher als 18 nutzen
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!
Viele Grüße,
Christoph
Offline