logo separator

[mkgmap-dev] Bug: Address search and opposite cycleway

From WanMil wmgcnfg at web.de on Mon Mar 10 19:34:21 GMT 2014

> On Sun, Mar 09, WanMil wrote:
>>> Hi,
>>> On Sun, Mar 09, WanMil wrote:
>>>> Hi Thorsten,
>>>>> Hi,
>>>>> I was wondering why I couldn't find sometimes addresses even
>>>>> if they where entered correct in OSM.
>>>>> By pure luck I found now the reason, it looks like if a way
>>>>> has the tag "cycleway=opposite", the address information is
>>>>> put on the wrong way.
>>>>> Look at Sandwall 17 or 19 in Wyk auf Foehr
>>>>> (http://www.openstreetmap.org/#map=17/54.68666/8.56960)
>>>>> With my own and with the default mkgmap style, you will not find
>>>>> the address with "Sandwall 17", but with "Sandwall (Cycleway) 17".
>>>>> I think for address search, the "(Cylceway)" streets should be ignored.
>>>> it's up to you to ignore the cycleway:
>>>> matching of nodes/polygons with house numbers are performed by evaluating
>>>> the mkgmap:street tag of the road. So you can exclude all cycleways by
>>>> removing or not setting the mkgmap:street tag on them.
>>> Hm, how does this work then? My understanding was, that you
>>> take the addr:street tag and compare them with the road name.
>>> But "Sandwall (Cycleway)" is for me not identical to "Sandwall"
>>> as written in addr:street?
>> The road name is taken from the tag mkgmap:street in contrary to
>> mkgmap:label:1 used to assign the first displayed label and used for
>> address search.
> The following rule fixed it for me:
> highway=* & name=* & (name='cycleway' | name ~ '.*(cycleway).*')
>          {delete mkgmap:street}
> but I still think there is a bug in mkgmap.
> name='Sandwall (cycleway)'
> mkgmap:street='Sandwall (cycleway)'
> addr:street='Sandwall'
> addr:street does neither match name nor mkgmap:street, so
> why is "Sandwall (cycleway)" choosen for address search and
> not "Sandwall" itself?

mkgmap:street is only used for house number matching while compiling the 

Address search is a different thing. AFAIK address search on the Garmin 
units searches for all labels assigned to the roads. So if the name tag 
is assigned to the first label and the other labels are not set you can 
only search for "Sandwall (cycleway)".

Once again it's up to you to assign the other labels so that they are 
also used by address search:
mkgmap:street=* { addlabel "${mkgmap:street}" }
addr:street=* { addlabel "${addr:street}" }


>    Thorsten

More information about the mkgmap-dev mailing list