[OSM-Devserver] Globales Directory für tirex Stylefiles

Nop ekkehart at gmx.de
Mo Apr 5 22:59:41 CEST 2010


Hallo!

Am 05.04.2010 17:29, schrieb Kay Drangmeister:
> Um mehr als ein Projekt mit tirex rendern zu lassen sollten wir ein
> globales
> Directory mit styles haben.
 > Frederik Ramm schrieb:
 >> Man sollte das anpassen, am besten irgendwie ein Verzeichnis mit
 >> lauter Symlinks bauen.
 >>
 >> Aber Vorsicht: Falls das Stylesheet irgendwelche relativen Pfade
 >> referenziert (z.B. inc/...), so muessen die *auch* richtig versymlinkt
 >> werden. Das bedeutet auch, dass man keine zwei Stylesheets haben kann,
 >> die beide ein "inc/..." benutzen, das verschiedenen Inhalt hat!

Mapnik erwartet seine Ressourcen relativ zu den stylefiles. Ich verwende 
Icons und Shapefiles. Die Shapefiles wiederum haben ihrerseits .dbf und 
.shx files. Wenn ich das richtig lese muß für jede direkt und indirekte 
Abhängigkeit ein extra symlink erzeugt werden.

Das finde ich äußerst umständlich, unübersichtlich und fehleranfällig. 
Das würde in meinem Fall bedeuten, momentan schon 15 symlinks die ganze 
Zeit parallel mitzupflegen! Und wenn einer davon nicht stimmen sollte, 
steht der Renderer (?). Schwer zu debuggen ist es auch noch, weil mapnik 
was anderes sieht als ich direkt im Filesystem.

> Ich habe den Vorschlag mit getrennten Directories gelesen und fände das
> auch
> besser, aber so lange niemand tirex ändert können wir das wohl nur so
> realisieren.

Meiner Ansicht nach macht es keinen Sinn, durch dieses gemeinsame 
Styleverzeichnis künstlich starke Abhängikeiten zwischen eigentlich 
unabhängigen Projekten zu schaffen. Das ist noch ein großer Nachteil von 
tirex gegenüber renderd, wo die Projekte nichts voneinander wissen mußten.

Da würde ich lieber mal die Frage in den Raum stellen: Kann man nicht 
tirex auf eine Liste von Verzeichnissen umstellen? Es dürfte doch nicht 
allzu schwer sein, einfach mehrere Pfade abzuklappern und dann könnte 
jedes Projekt in seinem Verzeichnis in aller Ruhe wirtschaften.

bye
          Nop