logo separator

[mkgmap-dev] Handling of refs

From WanMil wmgcnfg at web.de on Sat Jun 1 15:36:14 BST 2013

I've done some code review. AFAIK each road can have up to 4 labels. But 
there is no ref field and no field for the highway symbols.
It is not yet clear to me how the 4 label fields are used in the devices 
and Mapsource/Basecamp.

That's what I've found out so far:
- In case the first label starts with a symbol code character the part 
until the first whitespace is displayed as symbol (my Nüvi 1490 displays 
the complete first label as symbol).

- If the first label contains the symbol character plus text without 
whitespace the second label is shown as street name.

- The whole first label (excluding the symbol character) is used for 
address search. This is an mkgmap problem and might be fixed easily.

- I've never seen the third and/or fourth label in 
Mapsource/Basecamp/device so I don't know how they are used by Garmin.

I expect that there have been some discussion in the past about this but 
I didn't start a search for this. Maybe someone has a hint for a good 
thread in the mailing list.

WanMil


> Hi,
>
> I tried to remove the name from motorway_links and other _links.
> My first approach was simple:
> highway=motorway_link { delete name }
>
> This changed nothing! Mmmh, I looked into the source code and observed
> that the action
> { name 'abc' }
> is different to
> { set name='abc' }
>
> After using { name 'abc' } it is not possible to remove or to change the
> name using the style. So I changed all rules to
> { set name='abc' }
>
> This improved things a bit but the refs were still displayed. Then I
> noticed that there is a lot of automatic name handling in the
> StyledConverter:
>
> The ref is composed of the tags mkgmap:display_name, ref, int_ref,
> nat_ref and reg_ref.
> If there is no name set the composed ref is used as name.
>
> So the final rule to remove the name from the motorway_link is
> highway=motorway_link { delete name; delete mkgmap:display_name; delete
> ref; delete ref; delete int_ref; delete nat_ref; delete reg_ref }
>
> I think this is not very intuitive?! Without having a look into the
> source code I would have never been able to remove the name.
>
> I wonder if it would be better to implement these hard coded rules
> within the style so anybody can see what happens and can easily
> influence the naming:
>
> 1. Create a new mkgmap tag mkgmap:ref which is used to set the ref field
> in the garmin map. Without setting mgkmap:ref the ref field will be
> empty. This makes mkgmap:display_name superfluous. Another advantage is
> that the ref, nat_ref etc. tags can be removed from the builtin-tag-list.
>
> 2. Set the name using the tag mkgmap:name. Remove the { name 'abc' }
> action. This might be controversial and requires changes in all styles.
>
> What do you think?
>
> WanMil
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> http://lists.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>



More information about the mkgmap-dev mailing list