[Talk-de] Demo mehrsprachige Karte

Lars Lingner gislars+list at googlemail.com
Sa Dez 1 13:15:38 UTC 2012


On 01.12.2012 12:29, Jochen Topf wrote:
[...]
> 
> Nein. So geht das leider nicht. Renderer sind komplex und haben ihre eigene
> Configfiles und man muss passende SQL-Queries schreiben und alles muss auch
> noch performant sein. Eventuell kann man in den Mapnik was einbauen, aber
> das ist nichts, was mal eben schnell geht.
> 

Ich habe gerade diesen Thread überflogen. Bei dem Thema Configfiles und
SQL-Queries musste ich an den MapServer denken.

Dieser wird auch über ein Configfile gesteuert in dem alle Layer
definiert sind. Datenquelle, Stile, Beschriftung, Zoomlevel etc..

Man kann dabei auch Variablen benutzen, die bei einem Request
mitgesendet werden. Diese Variablen werden dann ersetzt und bestimmen so
das Rendern des Bilds.

Wie das im Detail aussieht, kann man in der Doku [1] nachlesen.

Damit kann man recht einfach den hier vorliegenden Anwendungsfall
bedienen. Im DATA-Statement benutzt man folgendes

...SELECT foo, bar FROM table WHERE languages->"%lang%"...

und beim REQUEST fügt man einen "lang"-Parameter an:

...REQUEST=GetMap&...&lang=de

Standardwerte sind ebenso möglich (definiert im Mapfile). Wenn man das
SQL geschickt formuliert, kann man auch Fallback-Sprachen benutzen.

Man könnte auch die Variable in den CLASS-Definition benutzen, so das in
Abhängigkeit vom Wert eine anderer Stil oder Label benutzt wird.
Schriftarten, Schriftgrößen usw. können dadurch auch getriggert werden.

Ich möchte hier niemanden vom MapServer überzeugen, aber vielleicht kann
man sich hier etwas abschauen.


Viele Grüße

Lars


[1] http://mapserver.org/cgi/runsub.html




Mehr Informationen über die Mailingliste Talk-de