
El 27/11/14 a las 16:22, GerdP escribió:
Hi Carlos,
I am not sure what you mean, but mkgmap doesn't contain java code to set or evaluate the tags addr:country or is_in:country.
Gerd
Carlos Dávila-2 wrote
El 27/11/14 a las 15:36, Gerd Petermann escribió:
Hi all,
the default style file inc/address starts with these three rules: # first set the country code mkgmap:country!=* & mkgmap:admin_level2=* { set mkgmap:country='${mkgmap:admin_level2}' } mkgmap:country!=* & addr:country=* { set mkgmap:country='${addr:country}' } mkgmap:country!=* & is_in:country=* { set mkgmap:country='${is_in:country}' }
I found no code in the mkgmap java sources that sets mkgmap:country, so the first rule will always set mkgmap:country unless one manipulates the OSM data.
The following rules evaluate mkgmap:country and expect the ISO 1366 code with 3 characters, e.g. DEU for Germany. The wiki for tag addr:country says that it should contain the 2 character ISO code, e.g. DE for Germany. The is_in:country tag contains the country name, not the iso code.
I think we should remove the two useless rules unless someone finds a working alternative.
Gerd
LocatorConfig.xml contains 2 and 3 character ISO codes for each country. Could it be that mkgmap assigns the 3 char ISO code to mkgmap:country using it when addr:country or is_in:country are evaluated?
I meant that perhaps if mkgmap finds addr:country=DE it reads in LocatorConfig that DE ISO 2 corresponds to DEU ISO 3 and assings DEU to mkgmap:country, but if it has no code to evaluate addr:country it's not possible.