Closed afischerdev closed 6 months ago
An other point for this rework is the handling of two near turn instructions left/right. Here two examples 5 meter difference - result for all straight 7 meter distance - result for trekking right/left, for car straight
The different results come from the minimal distance table: foot = 3m - with a speed of 5 km/h we have 1,4 m/s = 7 meter cost 5 seconds bike = 5 m - speed 10 km/h - 2,8 m/s = 2.5 seconds car = 20 m - speed 30 km/h - 8,3 m/s = 0.8 seconds I don't know how long a sentence like 'turn left and follow for 7 meter' will take in audio but I guess on a car driving you will not hear very much.
I don't know how long a sentence like 'turn left and follow for 7 meter' will take in audio but I guess on a car driving you will not hear very much.
The last announcement before turns should be very short and clear. Example: (slow_speed)
Two new samples from #625:
During my research for this issue I found further inconsistencies - like the number 2 above. Some hints are dropped like this right instruction This means to me it is not only a postprocess problem.
Sample 2 above: in my eyes the exclusion of this voicehint is done in VoicehintProcessor.
boolean hasSomethingMoreStraight = (Math.abs(turnAngle) - minAbsAngeRaw) > 20.;
The angles are turnAngle= -88
minAbsAngeRaw= 180
, so the result is -92
I didn't use a correction on this for now - just to keep the results comparable. But I used a new logic in post process. In the past we had a collection of nearby voicehints, now I tried a comparing of two voicehints a time. This brings better results and make lost voichints visible. Here a the results of differents on this track current logic against new one.
left = old
The source is located in my repo
Before I go on with the 'left' problem and the exclusion of the straight voicehints in nearby situation, I like to hear what you are thinking about. Is this a way it could go?
I did not expect the u-turn hint in the second last example and the two straight hints in the last example, but overall I think this is the way to go. However I don't understand the source from just looking at it. Maybe we should document the logic somewhere?
@afischerdev seems like a working solution:
@devemux86 Please hang on a minute. I'll continue here in a few days.
@afischerdev
A Beta version of Cruiser is available where I post process the turn instructions to fix the nearby "continue":
(this works in Cruiser code on top of any routing service)
@devemux86 Hmm, interesting thing. Good to know that clients can protect that as well. Anyway I think there is still some work for BRouter.
More examples of routes missing a "turn left" instruction were reported:
Next version for voice hints
The first step was to start a new transportMode - announced here #544 But this changes only the internal use, no changes in profile at the moment
To remenber the old rules from doc
There are two steps of control for the voice hint list:
add voice hint to the list when it passes the first control rules are around the good way/bad way turn angles, priorities or link to highway only small changes here - e.g. enable the left turn (see above)
remove voice hint from list when it passes the second control here we check the old rules (ignore roundabouts and beeline at the moment) these rules need some updates
Results for trekking samples above:
For a closer look: Here are the comparable GPX files in new and old version. In the new versions the voice hints have an additional point name to have an easy entry for a point discussion.
testtrack0.trekking_old.gpx.txt testtrack0.trekking_new.gpx.txt
testtrack0.car_old.gpx.txt testtrack0.car_new.gpx.txt
testtrack0.hiking_old.gpx.txt testtrack0.hiking_new.gpx.txt
The samples uses all the same coordinates Darmstadt to Heidelberg Please don't look at the routing results, focus only to voicehints.
The source for this you find as before here
So have fun the next days.
For the new issue #664 I changed the voicehint calculation on roundabouts. I did it in this repository because I'm on the way to do a PR for this new features.
It seems the post process for voicehint generation needs a rework. Please see doc for voicehint for the current rules.
Related to this discussion in Cruiser forum we have some smaller irritation for the users (I hope I got it correct):
The rule
keep continue when bad way is on higher prio
is working fine. But it has its side effects.Are there any other examples that should be revised as well?