[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