[OSM-talk] Rendering in a non-default language

Chris Jones rollercow at sucs.org
Thu Jan 31 16:21:30 GMT 2008


Moshe Sayag wrote:
> Hi Everyone,
>
> I am interested in rendering a map with the street names and places 
> printed in Hebrew.
>
> So for example, if there is a place with:
> name=Jerusalem
> name:en=Jerusalem
> name:he=ירושלים
>
> I want "ירושלים" to be printed, and only if "name:he" is not 
> specified, default to "name".
>
> Can this be achieved? How?
This is exactly what I do for cyosm - http://sucs.org/~rollercow/cyosm/

For that I follow the steps listed at - 
http://wiki.openstreetmap.org/index.php/Mapnik

2 changes....

1) Build osm2pgsql From source but before you make this change...

$ svn diff
Index: output-pgsql.c
===================================================================
--- output-pgsql.c      (revision 6728)
+++ output-pgsql.c      (working copy)
@@ -72,6 +72,7 @@
     {"military", "text", 1},
     {"motorcar", "text", 0},
     {"name",     "text", 0},
+    {"name:cy",  "text", 0},
     {"natural",  "text", 1},
     {"oneway",   "text", 0},
     {"place",    "text", 0},

2) Before  you generate any tiles use the following sql to populate the 
name field with name:cy if it exists

UPDATE planet_osm_line SET name = "name:cy" where "name:cy" is not null;
UPDATE planet_osm_point SET name = "name:cy" where "name:cy" is not null;
UPDATE planet_osm_polygon SET name = "name:cy" where "name:cy" is not null;
UPDATE planet_osm_roads SET name = "name:cy" where "name:cy" is not null;

There may be an easier way... defiantly more elegant way, making 
osm2pgsql do it all its self perhaps but I'm lazy and this works :)

-- 
Chris Jones, SUCS Admin
http://sucs.org





More information about the talk mailing list