
Hi Charlie, On Sun, Apr 03, 2011 at 08:53:40AM +0400, Charlie Ferrero wrote:
Currently via ways are not used by mkgmap to generate turn restrictions.
You can thank/blame me for writing the diagnostics for that case. Before my patch, mkgmap used to issue an error for anything else than via nodes. There are quite a few via ways in no_u_turn restrictions on highway=trunk or even in dual carriageway style major streets in cities. I guess that the no_u_turn on motorways could best be mapped by declaring the short sections between ways as access=emergency or similar.
Is this a limitation in the mkgmap code base, or a fault of the underlying Garmin routing data model?
I don't know. As far as I remember, it was Mark Burton who implemented this. He has not been active in the last year or so.
If the former, are there any plans to add support for via ways?
Even if it were a problem of the data model, I guess that we could simulate via ways by duplicating and merging the via way. Consider this example: a->b (straight road) a->via->c (90° turn across oncoming traffic) a->via->A (U turn) (Note that I tried hard to avoid saying "right" or "left" for the a->c, so that this example applies to both drive-on-left and drive-on-right.) How to translate the no_u_turn a->via->A? If we also have no_left_turn or no_right_turn a->via->c, it is simple: no_*_turn a->via would disallow all turns. If we only have the no_u_turn a->via->A but allow the turn a->via->c, we remove the way "via" and merge it to the ways "c" and "A" like this: a->via;c (turning allowed) a->via;A (no turning allowed) Does this sound like a workable plan? As far as I understand, this merging would only take place in the NET section that is used for routing, not in the polylines. Best regards, Marko