logo separator

[mkgmap-dev] Turn Restrictions using three ways - design guide for OSM mappers?

From blc blc+mkgmap at mail.vanade.com on Sat Oct 5 05:31:24 BST 2019

Hello, I thank all who have been working on this neat program to allow our 
otherwise old Garmins sit in the dust heap when we can't afford to 
subscribe to new maps.

I've been trying to improve the quality of OSM by fixing the errors 
that mkgmap emits, which a lot of times mirrors what's seen in 
KeepRight.  However there's one variant of turn restriction I've noticed 
that warns in mkgmap but do not show up in KeepRight (and iD seems to 
understand this type of turn restriction) - the way-way-way type 
restriction where three connected ways are in series for non no-u-turn 
restrictions.


example:

Turn restriction (only_left_turn) 2256354 (at 
https://www.openstreetmap.org/?mlat=47.777585&mlon=-122.319488&zoom=17) 
check: 'via' way(s) are used in only_left_turn restriction

The way-way-way type is the proper method for restricting u-turns 
on dual carriageway roads which is understood by mkgmap.  On the 
other hand, iD and KeepRight it seems to be valid to do way-way-way 
instead of way-POINT-way for no/only left/right turn restrictions, no/only 
straight on restrictions, etc.  I've seen a lot of the non no-u-turn 
way-way-way restrictions in the USA.

These type of non no-u-turn restrictions seems to cause a warning in 
mkgmap and probably not translating them.  My question is that should 
these be supported in mkgmap, or should these be fixed in OSM so that they 
are simple way-via-way despite iD and KeepRight seem to claim them 
valid?  Or perhaps way-way-way is deprecated but still supported by OSM 
but should be changed to way-point-way?

way-point-way = relation
from: some-street-way
via: some-intersection-point
to: some-street-way
(this is the most common type of turn restriction)

way-way-way = relation
from: some-street-way
via: some-street-way
to: some-street-way
(this is necessary specifically for dual carriageway u-turn restriction, 
but it's used for other types as well which mkgmap complains about.)

Thanks for shedding some light on the discrepancy here!  Note: I'm 
currently depending on OpenMapChest data for mkgmap runs as my computer 
and internet connection are not large or fast enough for the quantity of 
data I'd like to work with.


More information about the mkgmap-dev mailing list