First and last turn instructions often missing when using custom model area exclusion
Turn instruction seems to be missing (in several but not all cases), when turn is introduced due to a custom model area exclusion.
Without custom model but with via point all is fine:
A similar problem exists for this example where the first and last turn instructions are missing:
The reason is simple: as the blocked edges are "invisible" for the turn instruction as they are considered "blocked anyway". A workaround is to use a small factor like 0.01 instead of 0.
@karussell I'm thinking we should just allow more visible turns during instruction generation here. essentially, remove the weight check.
Another option is to add edges affected by custom model to visibleAlternativeTurns by checking their accessEnc (even though their weight is infinite). We're essentially looking for "physically" present roads to generate instructions, from my understanding.
One solution could probably be if we would know the "base profile" or like you said the accessEnc (but I'd prefer a solution without accessEnc as we'd like to get rid of them in the long term)
I'm thinking we should just allow more visible turns during instruction generation here. essentially, remove the weight check.
Feel free to create a pull request. Without trying it is unclear how this behaves. Having too many turn instructions is not good, but if only in a few situations there are a few more turn instructions it might be fine.
We're essentially looking for "physically" present roads to generate instructions
The problem is especially one-ways. What if you are e.g. in a roundabout like this and you do not want to count "inward-facing" oneways? But maybe roundabouts are different from normal junctions where even such "inward-facing" oneways should be included when calculating the turn instruction. Tricky :)