x

Mapnik-Label öfters wiederholen


Geschrieben von cziehr (Gast) am 15. Juni 2013 21:55:26: [flux]

Hallo,

ich habe mal wieder eine Frage zu meinem Feuerwehr-Projekt: Wie kann ich Mapnik anweisen die Beschriftungen von Straßen, Wegen, etc. öfters zu wiederholen als in der Basiseinstellung?

Ich habe folgenden Wunsch:
In diesem Kartenausschnitt http://ffebg.no-ip.org:911/osm/slippyma … layers=0B0 ist die "Uhlandstraße" zu sehen. Speziell in diesem Ortsteil ist es mit dem Auffinden von Hausnummern (vor Ort) etwas schwierig, da die Straßen nur als Zufahrt dienen und die eigentlichen Häuser nur an Wegen zwischen den Straßen stehen. Dazu kommt noch dass aufgrund von anderen angrenzenden Straßen plötzlich der Straßen- bzw. Fußwegname wechselt. Wenn es jetzt also längere Ways gibt die nicht durch irgendwas unterbrochen werden schreibt Mapnik für unseren Anwendungsfall nicht oft genug den Namen des Weges hin; sprich wenn der Weg z.B. um die Ecke geht ist er danach nicht nochmals beschriftet (in meinem Beispiel ist das bei den Hausnummern 21 bis 24 so). Natürlich könnte man sagen: "Wenn man da zweimal draufschaut sieht man das doch!", aber die ganze Sache soll halt "feuerwehrsicher" sein, und das kommt noch nach "idiotensicher" 😄
Zur Veranschaulichung: Man soll es möglichst einfach erkennen können, auch wenn man die (ausgedruckte) Karte nachts um 3 auf der Alarmfahrt bei schlechtem Licht in den Händen hält und vor 5 Minuten noch im Bett lag.

In der Mapnik-Hilfe zum Thema TextSymbolizer habe ich etwas in die Richtung gefunden: https://github.com/mapnik/mapnik/wiki/TextSymbolizer, allerdings um genau das Gegenteil zu bewerkstelligen, nämlich den Mindestabstand zwischen zwei Beschriftungen anzugeben. Ich will ja aber eigentlich einen Maximalabstand definieren (oder?).
Na ja, allerdings ergibt sich da noch ein zweites Problem: Wo gebe ich denn die TextSymbolizer-Optionen an? In der XML-Datei für die Renderregeln? Wenn ja, wo bzw. wie? Oder müssen diese Optionen gar eincompiliert werden (kann ich mir aber eigentlich nicht vorstellen...)?

Viele Grüße und schonmal Danke,

Christoph


Antworten: