<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Hello everybody!</div>

<div>&nbsp;</div>

<div>From time to time I use mkgmap for producing Garmin maps for myself. Recently I needed to have a possibility for an entity to get the name of the place where the entity resides, just like it&#39;s the case with boundaries and admin levels.</div>

<div>The purpose for me was to have easier address search and displaying in Russia where we have one particular region type with admin_level=6, that is named &quot;&#1075;&#1086;&#1088;&#1086;&#1076;&#1089;&#1082;&#1086;&#1081; &#1086;&#1082;&#1088;&#1091;&#1075;&quot; (city district). It&#39;s often the case that it contains only one city but the cities themselves are not being mapped as admin_level=x. So in my style, to fill mkgmap:city in these cases, I only can use the value of mkgmap:admin_leve6. But that official name can be quite long and unhandy, and the &quot;normal&quot; name of the city cannot be figured out automatically.</div>

<div>&nbsp;</div>

<div>For example:</div>

<div>&#1075;&#1086;&#1088;&#1086;&#1076;&#1089;&#1082;&#1086;&#1081; &#1086;&#1082;&#1088;&#1091;&#1075; &#1046;&#1091;&#1082;&#1086;&#1074;&#1089;&#1082;&#1080;&#1081; =&gt; &#1046;&#1091;&#1082;&#1086;&#1074;&#1089;&#1082;&#1080;&#1081;</div>

<div>&#1063;&#1077;&#1083;&#1103;&#1073;&#1080;&#1085;&#1089;&#1082;&#1080;&#1081; &#1075;&#1086;&#1088;&#1086;&#1076;&#1089;&#1082;&#1086;&#1081; &#1086;&#1082;&#1088;&#1091;&#1075; =&gt; &#1063;&#1077;&#1083;&#1103;&#1073;&#1080;&#1085;&#1089;&#1082;</div>

<div>&#1047;&#1080;&#1084;&#1080;&#1085;&#1089;&#1082;&#1086;&#1077; &#1075;&#1086;&#1088;&#1086;&#1076;&#1089;&#1082;&#1086;&#1077; &#1084;&#1091;&#1085;&#1080;&#1094;&#1080;&#1087;&#1072;&#1083;&#1100;&#1085;&#1086;&#1077; &#1086;&#1073;&#1088;&#1072;&#1079;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; =&gt; &#1047;&#1080;&#1084;&#1072;</div>

<div>&nbsp;</div>

<div>Somehow I overlooked WanMil&#39;s message from 2013 (http://www.mkgmap.org.uk/pipermail/mkgmap-dev/2013q2/018003.html) and so I did the change myself in a local branch. Now I can write in my address style include something like this:</div>

<div>&nbsp;</div>

<div># Russia<br/>
mkgmap:country=RUS &amp; mkgmap:city!=* &amp; mkgmap:admin_level8=* { set mkgmap:city=&#39;&#36;{mkgmap:admin_level8}&#39; }<br/>
mkgmap:country=RUS &amp; mkgmap:city!=* &amp; (mkgmap:place=city &#124; mkgmap:place=town) { set mkgmap:city=&#39;&#36;{mkgmap:place_name}&#39; }<br/>
mkgmap:country=RUS &amp; mkgmap:city!=* &amp; mkgmap:admin_level6=* { set mkgmap:city=&#39;&#36;{mkgmap:admin_level6}&#39; }</div>

<div>&nbsp;</div>

<div>and get the proper city name in my map. Of course, to get this working, I had to create my own set of precompiled bounds with additional rule &quot;type=multipolygon and place= and name=&quot; for osmfilter and a run of BoundaryPreprocessor to set the variables mkgmap:place (attribute &#39;place&#39; from the multipolygon) and mkgmap:place_name (attribute &#39;name&#39; from the multipolygon).</div>

<div>&nbsp;</div>

<div>I don&#39;t know if it&#39;s a highly desirable feature, but probably someone else will find it useful and it could be added to a new release of mkgmap.</div>

<div>&nbsp;</div>

<div>Cheers!</div>

<div>Max</div></div></body></html>