[Mapnik-de] Fwd: name:en vor name ?

Sven Geggus lists at fuchsschwanzdomain.de
Sa Jul 20 00:50:37 CEST 2013


Sven Geggus schrieb am Freitag, den 19. Juli um 23:24 Uhr:

> Eine komische Programmiersprache, dieses PL/pgSQL. Ich bastel mal.

OK, bitte mal das angehängte script kommentieren. Alles was man braucht ist
eine psql Spieldatenbank.  Wer keine hat meldet sich bei mir, dann
machen wir das auf dem devserver bzw. einfach mal manuell die Logik prüfen.

IMO funktioniert das angehängte script.

Die Aufrufsemantik ist get_germanified_name(name, name_de, int_name, name:en)

Hier sind Beispiele:

osm=> select get_germanified_name('Köln',NULL,NULL,'Cologne') as name;
 name 
------
 Köln
(1 Zeile)

osm=> select get_germanified_name('Köln',NULL,'Cologne',NULL) as
name;
 name 
------
 Köln
(1 Zeile)

osm=> select get_germanified_name('Köln',NULL,'Cologne','Cologne');
 get_germanified_name 
----------------------
 Köln
(1 Zeile)

osm=> select get_germanified_name('Köln','Köln','Cologne','Cologne');
 get_germanified_name 
----------------------
 Köln
(1 Zeile)

osm=> select get_germanified_name('เชียงใหม่',NULL,'Chiang Mai',NULL);
 get_germanified_name 
----------------------
 Chiang Mai
(1 Zeile)



Und mit realen Daten:

osm=> select
get_germanified_name(tags->'name',tags->'name:de',tags->'int_name',tags->'name:en') from planet_osm_point where osm_id=1628207792;        
 get_germanified_name 
----------------------
 Bangkok    
(1 Zeile)

osm=> select
get_germanified_name(tags->'name',tags->'name:de',tags->'int_name',tags->'name:en') from planet_osm_point where osm_id=178056220;
 get_germanified_name 
----------------------
 Chiang Mai
(1 Zeile)

osm=> select
get_germanified_name(tags->'name',tags->'name:de',tags->'int_name',tags->'name:en')
from planet_osm_point where osm_id=27430289;
 get_germanified_name 
----------------------
 Weingarten (Baden)
(1 Zeile)

osm=> select
get_germanified_name(tags->'name',tags->'name:de',tags->'int_name',tags->'name:en') from planet_osm_point where osm_id=240120582;
 get_germanified_name 
----------------------
 Karlsruhe
(1 Zeile)

osm=> select get_germanified_name(tags->'name',tags->'name:de',tags->'int_name',tags->'name:en') from planet_osm_point where osm_id=20953083;
 get_germanified_name 
----------------------
 Köln
(1 Zeile)

osm=> select get_germanified_name(tags->'name',tags->'name:de',tags->'int_name',tags->'name:en') from planet_osm_point where osm_id=1635651356;
 get_germanified_name 
----------------------
 Brüssel
(1 Zeile)

osm=> select get_germanified_name(tags->'name',tags->'name:de',tags->'int_name',tags->'name:en') from planet_osm_polygon where osm_id=-71033;
 get_germanified_name 
----------------------
 Straßburg
(1 Zeile)

Ehrlich gesagt würde ich jetzt noch gerne Transliteration für
ausgewählte Sprachen (z.B. kyrillisch) einbauen.

Gruss

Sven

P.S.: @OP, hast Du Beispiele für Städte, die derzeit "unlesbar"
gerendert werden?

-- 
Microsoft ist offenbar die einzige Firma, die in der Lage ist, ein mit
Office nicht kompatibles Bürosoftwarepaket einzuführen.
                            (Florian Weimer in de.alt.sysadmin.recovery)
/me is giggls at ircnet, http://sven.gegg.us/ on the Web
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : get_germanified_name.sql
Dateityp    : application/x-sql
Dateigröße  : 1616 bytes
Beschreibung: nicht verfügbar
URL         : <https://lists.openstreetmap.de/pipermail/mapnik-de/attachments/20130720/89126055/get_germanified_name.sql>