[mkgmap-dev] Problem in AngleFixer?
From Thorsten Kukuk kukuk at thkukuk.de on Tue Aug 13 18:44:30 BST 2024
Hi Ticker, The code is identical. But: how do you explain, that on all junctions, where your logging reports headings in the 3xx° area, Garmin navigation instructions are wrong, and where the headings are < 180°, the navigation instructions are correct? In between it looks like, turn instructions for both directions are given. And I don't speak here about the two junctions I brought up in this mail thread, I selected several random junctions from the log file with "sharp angle" and created routes for it. And for all, where the headings are in the 3xx° area, the notifications were "wrong", and in all, where it was below 180°, it was correct. Examples for "wrong" routing instructions: sharp angle 13.183327 ° at 49.294696,11.107571 headings 307° 320° speeds 2 2 classes 3 1 increasing arc with heading 320° by 32.816673 sharp angle 32.202377 ° at 49.445028,11.075047 headings 322° 354° speeds 3 2 classes 1 3 decreasing arc with heading 322° by 13.797623 My observation: headings below < 180° seem to be fine. Or I had always luck when testing. headings around 270° seems to give you instructions for both directions. headings in the 3xx° area will give you "wrong" instructions. Regards, Thorsten Am 2024-08-13 18:57, schrieb Ticker Berkin: > Hi Thorsten > > This is different from what I'm getting (after adjustments to get > compatible > class & speed): > > sharp angle 15.375715 ° at 49.478507,10.942814 headings 328° 343° > speeds 3 3 > classes 2 1 > decreasing arc with heading 328° by 30.624285 > > Can you check > {yourbase}/src/uk/me/parabola/imgfmt/app/net/AngleChecker.java > around line 379 you have: > <<< > // Hoping sameWay before road_class fixing more problems than it might > cause > if (chooseWhich == 0) { > // if the two arcs either side of the sharp angle belong to the same > // way then change the arc on the other side hoping to trigger > // the correct turn-instruction > ag0 = arcGroups.get ... > ag3 = n == 3 ? ... > if (ag2.sameWay(ag3)) > chooseWhich = -1; > else if (ag1.sameWay(ag0)) > chooseWhich = +1; > } > if (chooseWhich == 0) > chooseWhich = ag1.maxRoadClass - ag2.maxRoadClass; >>>> > as from AngleChecker_v3.patch and this is the version you've build and > tested. > > If it is all correct then I'll need to add more diagnostics to see if > the > internal ways have been manipulated. > > Concerning the second example, I hope we've got good and consistent > representations of all the RouteNode angles in the two formats in the > garmin > .img file and, generally, we get the turn-instructions expected but we > don't > know the rules for these. > > Your examples where the turn-instructions are not what you expect are > explicable > because the other road is more straight-on than the way continuation. > AngleChecker sometimes made this worse when giving junction RouteNode > geometry > that is different from reality to avoid garmin applying massive time > penalties > to some turns. > > Regards > Ticker > > On Tue, 2024-08-13 at 17:06 +0200, Thorsten Kukuk wrote: >> >> Hi Ticker, >> >> Am 2024-08-12 13:14, schrieb Ticker Berkin: >> > Really sorry, previous patch was wrong. Correct one attached >> >> Sorry, but for >> https://www.openstreetmap.org/#map=18/49.47851/10.94281 >> this has still no effect. >> But I think I found the problem. >> >> The part from the log file is: >> sharp angle 15.375715 ° at 49.478507,10.942814 headings 328° 343° >> speeds >> 2 2 classes 2 1 >> increasing arc with heading 343° by 30.624285 >> >> The other sharp angle a few meters away >> (https://www.openstreetmap.org/#map=19/49.47966/10.94146), >> which works, has: >> sharp angle 40.094727 ° at 49.479659,10.941464 headings 132° 172° >> speeds >> 2 2 classes 2 2 >> increasing arc with heading 172° by 2.3486972 >> decreasing arc with heading 132° by 3.5565763 >> >> Difference: in the first case, the heading is >> 180° >> In the second case, it's < 180°. >> >> So I did go through the log and tested some more cases: >> If the heading is >> 180°, the navigation instruction is wrong. >> If the heading is < 180°, the navigation instruction is correct. >> >> Looks like if an angle is >> 180°, we have to code another one in the >> map. >> >> Regards, >> Thorsten >> >> > Ticker >> > >> > >> > _______________________________________________ >> > mkgmap-dev mailing list >> > mkgmap-dev at lists.mkgmap.org.uk >> > https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >> _______________________________________________ >> mkgmap-dev mailing list >> mkgmap-dev at lists.mkgmap.org.uk >> https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at lists.mkgmap.org.uk > https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
- Previous message: [mkgmap-dev] Problem in AngleFixer?
- Next message: [mkgmap-dev] Problem in AngleFixer?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list