[Mapnik-de] Fwd: name:en vor name ?
Sven Geggus
lists at fuchsschwanzdomain.de
Fr Jul 19 19:42:25 CEST 2013
Josias Polchau <josias at polchau.de> wrote:
> prinzipiell würde ich dir zustimmen, nur ein Problem gibt es: wenn unter
> 'name' der deutsche Name angegeben ist, 'name:en' existier, aber
> kein 'name:de'. Diese Situation ist in Deutschland üblich, weshalb man
> eine eine Gebietsfilterung vornehmen müsste.
Das Problem ist glaube ich auch ohne Gebietsfilterung lösbar.
Momentan ist die Lokalisierung der deutschen Karte ja noch relativ
doof, das ist einfach "coalesce("name:de",name) as name".
Folgender Pseudocode macht sich zu Nutze, dass innhalb des
deutschsprachigen Raumes name und name:en bzw. name und int_name ja
immer unterschiedlich sind und könnte funktionieren, wenn man code
für die Erkennung von nicht-latin1 Zeichen hat.
Müsste man dann halt als "stored procedure" in PL/pgsql
(http://de.wikipedia.org/wiki/PL/pgSQL) implementieren. Falls das
jemand macht, dann baue ich das gerne ein!
Und fragt mich jetzt bitte nicht wie man in PL/pgsql testet, ob alle
Zeichen in einem String europäische Zeichen sind.
function get_germanified_name(name:de,name,int_name,name) {
if (name:de != NULL):
return name:de
else
if (int_name == NULL):
if (name:en == NULL):
return name *
else
if (name:en != name):
if name enthält nur latin1 zeichen:
return name
else
return name:en
endif
else
return name
endif
else
if (int_name != name):
if name enthält nur latin1 zeichen:
return name
else
return int_name
endif
else
return name
endif
endif
endif
end function
* An der Stelle, an der das Sternchen ist könnte man noch
Transliteration einbauen:
if name enthält nur latin1 zeichen:
return name
else
return transliterierten namen
Gruss
Sven
--
"Der wichtigste Aspekt, den Sie vor der Entscheidung für ein Open
Source-Betriebssystem bedenken sollten, ist, dass Sie kein
Windows-Betriebssystem erhalten." (von http://www.dell.de/ubuntu)
/me is giggls at ircnet, http://sven.gegg.us/ on the Web