[Patch] improve handling of only-restrictions with via ways

Hi all, in http://gis.19327.n8.nabble.com/Turn-Restrictions-using-three-ways-design-gui... Thanks to blc I've learned that only_* restrictions with via ways should be interpreted a bit different. As you might know the Garmin IMG format only has restrictions of type "no", so mkgmap has to translate "only" restrictions to a list of "no" restrictions. For those "only" restrictions the current code in version r4295 checks the roads connected to (the last) "via"-node and adds a "no" restriction for all ways except the "to"-way. The meaning of an "only" restriction with "via"-way(s) is a bit different . I means something like "once you have reached the node that connects the "from"-way with the (first) "via"-way travelling on the "from" way you MUST use the route described in the restriction relation unless you have reached the "to" way. So, mkgmap must add restrictions for each route node on the "via"-way(s), not only the last. The patch implements this and no longer prints a warning for "only"-restrictions with "via" ways (severity was changed from warning to information). I've uploaded a binary here: http://files.mkgmap.org.uk/download/452/mkgmap.jar If I hear no complains I'll commit this patch next Monday. Gerd

Hi Gerd No problems that I can see - but very difficult to test. I've run 'british-isles-latest' with the patch. There is 1 extra error message that a duplicate, ie I get: SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (at http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324 SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (at http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324 Whereas before I only got this message once. This is a restriction with 3 via's. (I get 12 other messages relating to restrictions) For all but this tile, the .img files are the same size and, picking a few examples, the NET and NOD parts are identical. For this tile the NET parts are identical but the NOD is not really comparable because of different sizes / offsets. pre-patch size: 10102784 Oct 10 11:52 74220083.img post-patch size: 10104832 Oct 10 15:58 74220083.img Ticker On Thu, 2019-10-10 at 09:49 +0000, Gerd Petermann wrote:
Hi all,
in http://gis.19327.n8.nabble.com/Turn-Restrictions-using-three-ways- design-guide-for-OSM-mappers-tp5949183.html Thanks to blc I've learned that only_* restrictions with via ways should be interpreted a bit different. As you might know the Garmin IMG format only has restrictions of type "no", so mkgmap has to translate "only" restrictions to a list of "no" restrictions. For those "only" restrictions the current code in version r4295 checks the roads connected to (the last) "via"-node and adds a "no" restriction for all ways except the "to"-way. The meaning of an "only" restriction with "via"-way(s) is a bit different . I means something like "once you have reached the node that connects the "from"-way with the (first) "via"-way travelling on the "from" way you MUST use the route described in the restriction relation unless you have reached the "to" way. So, mkgmap must add restrictions for each route node on the "via" -way(s), not only the last.
The patch implements this and no longer prints a warning for "only" -restrictions with "via" ways (severity was changed from warning to information).
I've uploaded a binary here: http://files.mkgmap.org.uk/download/452/mkgmap.jar
If I hear no complains I'll commit this patch next Monday.
Gerd _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Hi Ticker, I'll try to reproduce the duplicate error tomorrow. I think mkgmap should stop processing the restriction relation when the initial (complete) processing produces such a message. Please let me know the area for tile 74220083 in case the relation is not completely within the bounds of that tile. Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Donnerstag, 10. Oktober 2019 18:14 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only-restrictions with via ways Hi Gerd No problems that I can see - but very difficult to test. I've run 'british-isles-latest' with the patch. There is 1 extra error message that a duplicate, ie I get: SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (at http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324 SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (at http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324 Whereas before I only got this message once. This is a restriction with 3 via's. (I get 12 other messages relating to restrictions) For all but this tile, the .img files are the same size and, picking a few examples, the NET and NOD parts are identical. For this tile the NET parts are identical but the NOD is not really comparable because of different sizes / offsets. pre-patch size: 10102784 Oct 10 11:52 74220083.img post-patch size: 10104832 Oct 10 15:58 74220083.img Ticker On Thu, 2019-10-10 at 09:49 +0000, Gerd Petermann wrote:
Hi all,
in http://gis.19327.n8.nabble.com/Turn-Restrictions-using-three-ways- design-guide-for-OSM-mappers-tp5949183.html Thanks to blc I've learned that only_* restrictions with via ways should be interpreted a bit different. As you might know the Garmin IMG format only has restrictions of type "no", so mkgmap has to translate "only" restrictions to a list of "no" restrictions. For those "only" restrictions the current code in version r4295 checks the roads connected to (the last) "via"-node and adds a "no" restriction for all ways except the "to"-way. The meaning of an "only" restriction with "via"-way(s) is a bit different . I means something like "once you have reached the node that connects the "from"-way with the (first) "via"-way travelling on the "from" way you MUST use the route described in the restriction relation unless you have reached the "to" way. So, mkgmap must add restrictions for each route node on the "via" -way(s), not only the last.
The patch implements this and no longer prints a warning for "only" -restrictions with "via" ways (severity was changed from warning to information).
I've uploaded a binary here: http://files.mkgmap.org.uk/download/452/mkgmap.jar
If I hear no complains I'll commit this patch next Monday.
Gerd _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Hi Ticker, I cannot reproduce the error with the trunk version and default style. Maybe your style doesn't add highway=cycleway as routable way? Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen@hotmail.com> Gesendet: Donnerstag, 10. Oktober 2019 19:03 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only-restrictions with via ways Hi Ticker, I'll try to reproduce the duplicate error tomorrow. I think mkgmap should stop processing the restriction relation when the initial (complete) processing produces such a message. Please let me know the area for tile 74220083 in case the relation is not completely within the bounds of that tile. Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Donnerstag, 10. Oktober 2019 18:14 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only-restrictions with via ways Hi Gerd No problems that I can see - but very difficult to test. I've run 'british-isles-latest' with the patch. There is 1 extra error message that a duplicate, ie I get: SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (at http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324 SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (at http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324 Whereas before I only got this message once. This is a restriction with 3 via's. (I get 12 other messages relating to restrictions) For all but this tile, the .img files are the same size and, picking a few examples, the NET and NOD parts are identical. For this tile the NET parts are identical but the NOD is not really comparable because of different sizes / offsets. pre-patch size: 10102784 Oct 10 11:52 74220083.img post-patch size: 10104832 Oct 10 15:58 74220083.img Ticker On Thu, 2019-10-10 at 09:49 +0000, Gerd Petermann wrote:
Hi all,
in http://gis.19327.n8.nabble.com/Turn-Restrictions-using-three-ways- design-guide-for-OSM-mappers-tp5949183.html Thanks to blc I've learned that only_* restrictions with via ways should be interpreted a bit different. As you might know the Garmin IMG format only has restrictions of type "no", so mkgmap has to translate "only" restrictions to a list of "no" restrictions. For those "only" restrictions the current code in version r4295 checks the roads connected to (the last) "via"-node and adds a "no" restriction for all ways except the "to"-way. The meaning of an "only" restriction with "via"-way(s) is a bit different . I means something like "once you have reached the node that connects the "from"-way with the (first) "via"-way travelling on the "from" way you MUST use the route described in the restriction relation unless you have reached the "to" way. So, mkgmap must add restrictions for each route node on the "via" -way(s), not only the last.
The patch implements this and no longer prints a warning for "only" -restrictions with "via" ways (severity was changed from warning to information).
I've uploaded a binary here: http://files.mkgmap.org.uk/download/452/mkgmap.jar
If I hear no complains I'll commit this patch next Monday.
Gerd _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Hi Gerd Sorry about the delay. The bounds of the tile are: 4220083: 2400256,-4096 to 2414592,6144 # : 51.503906,-0.087891 to 51.811523,0.131836 error@ : 51.541949, 0.004060 - so looks reasonably central to the tile I do have cycleway as routable, but I'll run again with release 4295, default style and minimal options. Ticker On Thu, 2019-10-10 at 17:35 +0000, Gerd Petermann wrote:
Hi Ticker,
I cannot reproduce the error with the trunk version and default style. Maybe your style doesn't add highway=cycleway as routable way?
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen@hotmail.com> Gesendet: Donnerstag, 10. Oktober 2019 19:03 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only -restrictions with via ways
Hi Ticker,
I'll try to reproduce the duplicate error tomorrow. I think mkgmap should stop processing the restriction relation when the initial (complete) processing produces such a message. Please let me know the area for tile 74220083 in case the relation is not completely within the bounds of that tile.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Donnerstag, 10. Oktober 2019 18:14 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only -restrictions with via ways
Hi Gerd
No problems that I can see - but very difficult to test.
I've run 'british-isles-latest' with the patch.
There is 1 extra error message that a duplicate, ie I get:
SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (at http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324
SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (at http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324
Whereas before I only got this message once. This is a restriction with 3 via's. (I get 12 other messages relating to restrictions)
For all but this tile, the .img files are the same size and, picking a few examples, the NET and NOD parts are identical.
For this tile the NET parts are identical but the NOD is not really comparable because of different sizes / offsets.
pre-patch size: 10102784 Oct 10 11:52 74220083.img post-patch size: 10104832 Oct 10 15:58 74220083.img
Ticker
On Thu, 2019-10-10 at 09:49 +0000, Gerd Petermann wrote:
Hi all,
in http://gis.19327.n8.nabble.com/Turn-Restrictions-using-three-ways- design-guide-for-OSM-mappers-tp5949183.html Thanks to blc I've learned that only_* restrictions with via ways should be interpreted a bit different. As you might know the Garmin IMG format only has restrictions of type "no", so mkgmap has to translate "only" restrictions to a list of "no" restrictions. For those "only" restrictions the current code in version r4295 checks the roads connected to (the last) "via"-node and adds a "no" restriction for all ways except the "to"-way. The meaning of an "only" restriction with "via"-way(s) is a bit different . I means something like "once you have reached the node that connects the "from"-way with the (first) "via"-way travelling on the "from" way you MUST use the route described in the restriction relation unless you have reached the "to" way. So, mkgmap must add restrictions for each route node on the "via" -way(s), not only the last.
The patch implements this and no longer prints a warning for "only" -restrictions with "via" ways (severity was changed from warning to information).
I've uploaded a binary here: http://files.mkgmap.org.uk/download/452/mkgmap.jar
If I hear no complains I'll commit this patch next Monday.
Gerd _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Hi Gerd I didn't get any errors with release version, default style and minimal options. Using my style and minimal options works, but I get the problem when I use --link-pois-to-ways and my style/points has rules like: barrier=* {set mkgmap:road-speed=1} highway=traffic_signals | highway=crossing {set mkgmap:road-speed=1} I expect this explains most of the "can't locate arc" errors. Don't worry about any of this on my behalf - I suspect this could be complicated to solve. Ticker On Thu, 2019-10-10 at 19:23 +0100, Ticker Berkin wrote:
Hi Gerd
Sorry about the delay.
The bounds of the tile are:
4220083: 2400256,-4096 to 2414592,6144 # : 51.503906,-0.087891 to 51.811523,0.131836
error@ : 51.541949, 0.004060 - so looks reasonably central to the tile
I do have cycleway as routable, but I'll run again with release 4295, default style and minimal options.
Ticker
On Thu, 2019-10-10 at 17:35 +0000, Gerd Petermann wrote:
Hi Ticker,
I cannot reproduce the error with the trunk version and default style. Maybe your style doesn't add highway=cycleway as routable way?
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen@hotmail.com> Gesendet: Donnerstag, 10. Oktober 2019 19:03 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only -restrictions with via ways
Hi Ticker,
I'll try to reproduce the duplicate error tomorrow. I think mkgmap should stop processing the restriction relation when the initial (complete) processing produces such a message. Please let me know the area for tile 74220083 in case the relation is not completely within the bounds of that tile.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Donnerstag, 10. Oktober 2019 18:14 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only -restrictions with via ways
Hi Gerd
No problems that I can see - but very difficult to test.
I've run 'british-isles-latest' with the patch.
There is 1 extra error message that a duplicate, ie I get:
SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (a t http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324
SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (a t http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324
Whereas before I only got this message once. This is a restriction with 3 via's. (I get 12 other messages relating to restrictions)
For all but this tile, the .img files are the same size and, picking a few examples, the NET and NOD parts are identical.
For this tile the NET parts are identical but the NOD is not really comparable because of different sizes / offsets.
pre-patch size: 10102784 Oct 10 11:52 74220083.img post-patch size: 10104832 Oct 10 15:58 74220083.img
Ticker
On Thu, 2019-10-10 at 09:49 +0000, Gerd Petermann wrote:
Hi all,
in http://gis.19327.n8.nabble.com/Turn-Restrictions-using-three-ways - design-guide-for-OSM-mappers-tp5949183.html Thanks to blc I've learned that only_* restrictions with via ways should be interpreted a bit different. As you might know the Garmin IMG format only has restrictions of type "no", so mkgmap has to translate "only" restrictions to a list of "no" restrictions. For those "only" restrictions the current code in version r4295 checks the roads connected to (the last) "via"-node and adds a "no" restriction for all ways except the "to"-way. The meaning of an "only" restriction with "via"-way(s) is a bit different . I means something like "once you have reached the node that connects the "from"-way with the (first) "via"-way travelling on the "from" way you MUST use the route described in the restriction relation unless you have reached the "to" way. So, mkgmap must add restrictions for each route node on the "via" -way(s), not only the last.
The patch implements this and no longer prints a warning for "only" -restrictions with "via" ways (severity was changed from warning to information).
I've uploaded a binary here: http://files.mkgmap.org.uk/download/452/mkgmap.jar
If I hear no complains I'll commit this patch next Monday.
Gerd _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Hi Ticker, the restriction relation processing doesn't depend on --link-pois-to-ways. I cannot reproduce the problem with http://www.openstreetmap.org/relation/8727983, neither with the release version nor with the trunk version. The typical reason for the message is that the style doesn't create a routable line for a way member of the relation. Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Donnerstag, 10. Oktober 2019 20:51 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only-restrictions with via ways Hi Gerd I didn't get any errors with release version, default style and minimal options. Using my style and minimal options works, but I get the problem when I use --link-pois-to-ways and my style/points has rules like: barrier=* {set mkgmap:road-speed=1} highway=traffic_signals | highway=crossing {set mkgmap:road-speed=1} I expect this explains most of the "can't locate arc" errors. Don't worry about any of this on my behalf - I suspect this could be complicated to solve. Ticker On Thu, 2019-10-10 at 19:23 +0100, Ticker Berkin wrote:
Hi Gerd
Sorry about the delay.
The bounds of the tile are:
4220083: 2400256,-4096 to 2414592,6144 # : 51.503906,-0.087891 to 51.811523,0.131836
error@ : 51.541949, 0.004060 - so looks reasonably central to the tile
I do have cycleway as routable, but I'll run again with release 4295, default style and minimal options.
Ticker
On Thu, 2019-10-10 at 17:35 +0000, Gerd Petermann wrote:
Hi Ticker,
I cannot reproduce the error with the trunk version and default style. Maybe your style doesn't add highway=cycleway as routable way?
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen@hotmail.com> Gesendet: Donnerstag, 10. Oktober 2019 19:03 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only -restrictions with via ways
Hi Ticker,
I'll try to reproduce the duplicate error tomorrow. I think mkgmap should stop processing the restriction relation when the initial (complete) processing produces such a message. Please let me know the area for tile 74220083 in case the relation is not completely within the bounds of that tile.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Donnerstag, 10. Oktober 2019 18:14 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only -restrictions with via ways
Hi Gerd
No problems that I can see - but very difficult to test.
I've run 'british-isles-latest' with the patch.
There is 1 extra error message that a duplicate, ie I get:
SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (a t http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324
SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (a t http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324
Whereas before I only got this message once. This is a restriction with 3 via's. (I get 12 other messages relating to restrictions)
For all but this tile, the .img files are the same size and, picking a few examples, the NET and NOD parts are identical.
For this tile the NET parts are identical but the NOD is not really comparable because of different sizes / offsets.
pre-patch size: 10102784 Oct 10 11:52 74220083.img post-patch size: 10104832 Oct 10 15:58 74220083.img
Ticker
On Thu, 2019-10-10 at 09:49 +0000, Gerd Petermann wrote:
Hi all,
in http://gis.19327.n8.nabble.com/Turn-Restrictions-using-three-ways - design-guide-for-OSM-mappers-tp5949183.html Thanks to blc I've learned that only_* restrictions with via ways should be interpreted a bit different. As you might know the Garmin IMG format only has restrictions of type "no", so mkgmap has to translate "only" restrictions to a list of "no" restrictions. For those "only" restrictions the current code in version r4295 checks the roads connected to (the last) "via"-node and adds a "no" restriction for all ways except the "to"-way. The meaning of an "only" restriction with "via"-way(s) is a bit different . I means something like "once you have reached the node that connects the "from"-way with the (first) "via"-way travelling on the "from" way you MUST use the route described in the restriction relation unless you have reached the "to" way. So, mkgmap must add restrictions for each route node on the "via" -way(s), not only the last.
The patch implements this and no longer prints a warning for "only" -restrictions with "via" ways (severity was changed from warning to information).
I've uploaded a binary here: http://files.mkgmap.org.uk/download/452/mkgmap.jar
If I hear no complains I'll commit this patch next Monday.
Gerd _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Hi Gerd I'm pretty sure its the way mkgmap implements mkgmap:road-speed from barrier/highway points on roads. If I comment out: highway=traffic_signals | highway=crossing {set mkgmap:road-speed=1} from points, or run with --no-link-pois-to-ways, I don't get the error. My inc/access also does: highway=service & mkgmap:way-has-pois=true {add access=destination} but this isn't applicable here Ticker On Thu, 2019-10-10 at 19:02 +0000, Gerd Petermann wrote:
Hi Ticker,
the restriction relation processing doesn't depend on --link-pois-to-ways. I cannot reproduce the problem with http://www.openstreetmap.org/relation/8727983, neither with the release version nor with the trunk version. The typical reason for the message is that the style doesn't create a routable line for a way member of the relation.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Donnerstag, 10. Oktober 2019 20:51 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only-restrictions with via ways
Hi Gerd
I didn't get any errors with release version, default style and minimal options. Using my style and minimal options works, but I get the problem when I use --link-pois-to-ways and my style/points has rules like:
barrier=* {set mkgmap:road-speed=1} highway=traffic_signals | highway=crossing {set mkgmap:road-speed=1}
I expect this explains most of the "can't locate arc" errors.
Don't worry about any of this on my behalf - I suspect this could be complicated to solve.
Ticker
On Thu, 2019-10-10 at 19:23 +0100, Ticker Berkin wrote:
Hi Gerd
Sorry about the delay.
The bounds of the tile are:
4220083: 2400256,-4096 to 2414592,6144 # : 51.503906,-0.087891 to 51.811523,0.131836
error@ : 51.541949, 0.004060 - so looks reasonably central to the tile
I do have cycleway as routable, but I'll run again with release 4295, default style and minimal options.
Ticker
On Thu, 2019-10-10 at 17:35 +0000, Gerd Petermann wrote:
Hi Ticker,
I cannot reproduce the error with the trunk version and default style. Maybe your style doesn't add highway=cycleway as routable way?
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen@hotmail.com> Gesendet: Donnerstag, 10. Oktober 2019 19:03 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only -restrictions with via ways
Hi Ticker,
I'll try to reproduce the duplicate error tomorrow. I think mkgmap should stop processing the restriction relation when the initial (complete) processing produces such a message. Please let me know the area for tile 74220083 in case the relation is not completely within the bounds of that tile.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Donnerstag, 10. Oktober 2019 18:14 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] [Patch] improve handling of only -restrictions with via ways
Hi Gerd
No problems that I can see - but very difficult to test.
I've run 'british-isles-latest' with the patch.
There is 1 extra error message that a duplicate, ie I get:
SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (a t http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324
SEVERE (RoadNetwork): 74220083.osm.pbf: Turn restriction (only_straight_on) http://www.openstreetmap.org/relation/8727983 (a t http://www.openstreetmap.org/?mlat=51.541969&mlon=0.004312&zoom=17) can't locate arc from 'via' node at http://www.openstreetmap.org/?mlat=51.541949&mlon=0.004060&zoom=17 to next 'via' node on way 642330324
Whereas before I only got this message once. This is a restriction with 3 via's. (I get 12 other messages relating to restrictions)
For all but this tile, the .img files are the same size and, picking a few examples, the NET and NOD parts are identical.
For this tile the NET parts are identical but the NOD is not really comparable because of different sizes / offsets.
pre-patch size: 10102784 Oct 10 11:52 74220083.img post-patch size: 10104832 Oct 10 15:58 74220083.img
Ticker
On Thu, 2019-10-10 at 09:49 +0000, Gerd Petermann wrote:
Hi all,
in http://gis.19327.n8.nabble.com/Turn-Restrictions-using-three-ways - design-guide-for-OSM-mappers-tp5949183.html Thanks to blc I've learned that only_* restrictions with via ways should be interpreted a bit different. As you might know the Garmin IMG format only has restrictions of type "no", so mkgmap has to translate "only" restrictions to a list of "no" restrictions. For those "only" restrictions the current code in version r4295 checks the roads connected to (the last) "via"-node and adds a "no" restriction for all ways except the "to"-way. The meaning of an "only" restriction with "via"-way(s) is a bit different . I means something like "once you have reached the node that connects the "from"-way with the (first) "via"-way travelling on the "from" way you MUST use the route described in the restriction relation unless you have reached the "to" way. So, mkgmap must add restrictions for each route node on the "via" -way(s), not only the last.
The patch implements this and no longer prints a warning for "only" -restrictions with "via" ways (severity was changed from warning to information).
I've uploaded a binary here: http://files.mkgmap.org.uk/download/452/mkgmap.jar
If I hear no complains I'll commit this patch next Monday.
Gerd _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Hi Ticker, Ticker Berkin wrote
If I comment out: highway=traffic_signals | highway=crossing {set mkgmap:road-speed=1} from points, or run with --no-link-pois-to-ways, I don't get the error.
Yes, you are right. I am now able to reproduce the error message. I forgot about the feature to set a different road atttribute. This feature requires that the way is split (and this produces a corresponding warning "via way of restriction is split, restriction will be ignored", but mkgmap still tries to add the restriction relation later. Seems I was too lazy to implement this correctly for via ways as they were rarely used. I'll have a closer look again. Gerd -- Sent from: http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html

Hi Ticker, the problem was caused by a "via" way that was split. I think this should be avoided whenever possible. Please test attached patch. It contains two changes: - via ways are not split when --link-pois-to-ways is used and a point sets a different road-speed or road-class. I think I always intended to avoid that but the code did not catch all places. - if a "via" way has to be split the restrictions are set to invalid and thus no error is produced. The new error message in LinkDestinationHook should never happen, the calling code seems to make sure that via ways are not split. Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen@hotmail.com> Gesendet: Freitag, 11. Oktober 2019 06:53 An: mkgmap-dev@lists.mkgmap.org.uk Betreff: Re: [mkgmap-dev] [Patch] improve handling of only-restrictions with via ways Hi Ticker, Ticker Berkin wrote
If I comment out: highway=traffic_signals | highway=crossing {set mkgmap:road-speed=1} from points, or run with --no-link-pois-to-ways, I don't get the error.
Yes, you are right. I am now able to reproduce the error message. I forgot about the feature to set a different road atttribute. This feature requires that the way is split (and this produces a corresponding warning "via way of restriction is split, restriction will be ignored", but mkgmap still tries to add the restriction relation later. Seems I was too lazy to implement this correctly for via ways as they were rarely used. I'll have a closer look again. Gerd -- Sent from: http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Hi Gerd With this patch I don't get either the "WARN: ... via way of restriction is split ..." or the "SEVE: ... can't locate arc ..." messages. Thank you Ticker On Fri, 2019-10-11 at 07:39 +0000, Gerd Petermann wrote:
Hi Ticker,
the problem was caused by a "via" way that was split. I think this should be avoided whenever possible. Please test attached patch. It contains two changes: - via ways are not split when --link-pois-to-ways is used and a point sets a different road-speed or road-class. I think I always intended to avoid that but the code did not catch all places. - if a "via" way has to be split the restrictions are set to invalid and thus no error is produced.
The new error message in LinkDestinationHook should never happen, the calling code seems to make sure that via ways are not split.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen@hotmail.com> Gesendet: Freitag, 11. Oktober 2019 06:53 An: mkgmap-dev@lists.mkgmap.org.uk Betreff: Re: [mkgmap-dev] [Patch] improve handling of only -restrictions with via ways
Hi Ticker,
Ticker Berkin wrote
If I comment out: highway=traffic_signals | highway=crossing {set mkgmap:road -speed=1} from points, or run with --no-link-pois-to-ways, I don't get the error.
Yes, you are right. I am now able to reproduce the error message. I forgot about the feature to set a different road atttribute. This feature requires that the way is split (and this produces a corresponding warning "via way of restriction is split, restriction will be ignored", but mkgmap still tries to add the restriction relation later. Seems I was too lazy to implement this correctly for via ways as they were rarely used. I'll have a closer look again.
Gerd
-- Sent from: http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
participants (3)
-
Gerd Petermann
-
Gerd Petermann
-
Ticker Berkin