Hallo Gerd,

On Sun, Mar 23, 2014 at 06:16:27PM +0100, Gerd Petermann wrote:
I've created a new branch via_ways to support this.
It is nearly done, but I have to find solutions for
some edge cases like via ways that cross tile boundaries.
Also some routines like RoadMerger are not yet fully tested.

OK, let me know when you would like some testing.

FWIW, there were 4 relations with role=via ways that were not no_u_turn in Finland. I removed or replaced all of these today:

$grep "'via' ways are not supported" mkgmap.log.0|grep -v no_u_turn
2014/03/24 15:25:06 WARNING (RestrictionRelation): 63240004.osm.pbf: Turn restriction http://www.openstreetmap.org/browse/relation/2640984 (at http://www.openstreetmap.org/?mlat=61.510688&mlon=23.777567&zoom=17) sorry, 'via' ways are not supported - ignoring restriction [type=restriction,restriction=no_left_turn] 2014/03/24 15:25:22 WARNING (RestrictionRelation): 63240002.osm.pbf: Turn restriction http://www.openstreetmap.org/browse/relation/1767298 (at http://www.openstreetmap.org/?mlat=60.206666&mlon=25.120266&zoom=17) sorry, 'via' ways are not supported - ignoring restriction [type=restriction,restriction=only_straight_on] 2014/03/24 15:25:22 WARNING (RestrictionRelation): 63240002.osm.pbf: Turn restriction http://www.openstreetmap.org/browse/relation/67571 (at http://www.openstreetmap.org/?mlat=60.168673&mlon=24.935049&zoom=17) sorry, 'via' ways are not supported - ignoring restriction [except=psv;bicycle,type=restriction,restriction=only_left_turn] 2014/03/24 15:25:22 WARNING (RestrictionRelation): 63240002.osm.pbf: Turn restriction http://www.openstreetmap.org/browse/relation/1745548 (at http://www.openstreetmap.org/?mlat=60.190691&mlon=24.962903&zoom=17) sorry, 'via' ways are not supported - ignoring restriction [type=restriction,restriction=only_right_turn]

I got the list with this patch:

Index: src/uk/me/parabola/mkgmap/reader/osm/RestrictionRelation.java
===================================================================
--- src/uk/me/parabola/mkgmap/reader/osm/RestrictionRelation.java       
(revision 3116)
+++ src/uk/me/parabola/mkgmap/reader/osm/RestrictionRelation.java       
(working copy)
@@ -281,7 +281,7 @@
                }
if (result && viaWay != null) { - log.warn(messagePrefix + "sorry, 'via' ways are not supported - ignoring restriction"); + log.warn(messagePrefix + "sorry, 'via' ways are not supported - ignoring restriction " + toTagString());
                        result = false;
                }
                return result;

IMO, a role=via way in anything else than restriction=no_u_turn is likely a mapping error.

The fixes I applied:

2640984: Split the 'via' way, make the part of it oneway. It is an oneway link between dual oneway lines in a T crossing. After the fix, you cannot drive against the oneway direction, and the no_left_turn restriction becomes redundant.

1767298: Remove the restriction. It was redundant, as the other turning target was tagged with oneway=yes, prohibiting the turn. In fact, all the ways in the T-shaped crossing were tagged oneway=yes.

67571: Remove one of the ways, make the role=via way the role=from way, and add a role=via node.

1745548: Make the left-turning lane branch earlier, according to the lane markings that are visible in Bing imagery. No turn restriction is needed, because the oneway=yes takes care of it.

BTW, while you are doing this, you could introduce warnings for redundant turn restriction relations (prohibiting turns against oneway direction).

Best regards,

        Marko
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Reply via email to