[Mapnik-de] Beschriftung mit name:de (name)

Max Berger max at dianacht.de
Sa Jun 7 22:35:34 CEST 2014


Tag zusammen,

im Forum ist mal wieder die periodische Diskussion um die deutschen
Namen im deutschen Mapnik-Stil entbrannt. Wer Lust hat und resistent
gegen wilde Anschuldigungen kann sich ja mal [1] durchlesen...

Da das Thema immer wieder aufkommt, hab ich mal als Diskussionsgrundlage
eine Karte gebastelt, die die Namen mit den landesüblichen Namen in
Klammern rendert:

* Wenn es name:de nicht gibt, wird wie bisher name, name:int, name:en
  oder eine Transliteration von name ausgegeben

* Wenn es name:de und name gibt, schreiben wir name:de (name) ohne
  weitere Transliteration des Namens: "Mailand (Milano)", 
  "Odessa (Одеса)" 

* Wenn name:de Teil des name ist, schreiben wir nur name:de: 
  Statt "Brixen (Brixen Bressanone)"  steht da also nur "Brixen".
  Nebeneffekt: Rom steht auch allein, weil "Rom" ist Teil von "Roma".

* Wenn name:de schon eine Klammer hat, geben wir auf und schreiben 
  nur name:de um nicht noch mehr Klammern zu erzeugen

diese Funktion ist billig zu haben. Der Stil frag ja schon sämtliche
Namen mit einer Funktion "get_localized_name()" ab, wo Sven die
Transliteration und die Ersetzung mit "name:int" oder "name:en"
eingebaut hat. Die könnte man um ein paar Zeilen erweitern.

Schwieriger, aber auch machbar ist es, wenn man diese Regel nicht bei
jedem Objekt anwenden will. Z.B. weil dann Straßennamen zu lang werden
oder Denkmäler unnötig lang beschriftet werden.

Falls man ganze Gruppen (damit meine ich alle Dinge, die in den
xml-Dateien ein gemeinsames "select" haben) mit Klammernamen beschriften
will, ist der Aufwand mittelgross. Dann ersetzt man einfach die Abfrage
im Datasource-Teil für alle Straßennamen oder alle amenity=*.

Der Stil wird dadurch natürlich auch nicht wartbarer. Falls jemand z.B.
demnächst auf Carto-CSS umstellen will, hätte er zusätzliche Arbeit. 

Lohnt es sich, sowas einzubauen? Will man das überhaupt? Und falls ja,
für alles oder nur für ausgewählte Objekte wie Ortschaften,
Sehenswürdigkeiten...


viele Grüße,
  Max



[1] http://forum.openstreetmap.org/viewtopic.php?id=25719

Beispielbilder:

Südwestliches Polen:
http://geo.dianacht.de/bilder/klammername_cottbus_breslau.png
Der Rote Platz:
http://geo.dianacht.de/bilder/klammername_roter_platz.png
Prag:
http://geo.dianacht.de/bilder/klammername_prag.png
alternativ Prag mit name (name:de)
http://geo.dianacht.de/bilder/klammername_praha.png