The reason behind this could be the low avoidance of highway=track, the too high preference for the official bike route (I don’t think so) or the too strong avoidance of the secondary road.
Now I seems that cycle.travel excludes highway=track without a tracktype:
I may not understand the issue in detail, but in general it is worth spending detours to be on an official cycleway. The secondary road does have speed limit of 60 mph. At least in “our” routing profiles we tend to avoid high speed tracks.
Yes, this could be a further tendency towards the detour.
Still one general question the cycle.travel result gave me was: why do they (hard?) exclude highway=track and should we too if no tracktype tag is present?
In the specific example from above it changes to the other result only in case that I set the “multiply_by” factor to smaller or equal than “0.5”. But I consider this as a too big de-prioritization, I would reduce the priority from currently UNCHANGED to either SLIGHT_AVOID or maybe AVOID.
The secondary road does have speed limit of 60 mph. At least in “our” routing profiles we tend to avoid high speed track.
Yes, this is about 100km/h and therefore I still think that our solution as the optimal given also that nearly half of the suggested route is on an “ncn” route relation.
Now it seems that cycle.travel excludes highway=track without a tracktype
cycle.travel is in general very much UK centric. I have no idea why they totally block tracks without other tags. Maybe they have a similar legislation as compared to Austria, where “Forstwege” would need to be totally blocked as well according to our “Forstgesetz”. As far as I know Austria is an exception here and for instance in Germany and other countries those tracks are totally fine from the legislation point of view.
By the way, I forgot to mention that I also checked the elevation. It can be neglected in the specific case from above as the chosen direction goes down by about 10 meters.
I checked that main line on google map and look a rural road. Indeed I think that deviation should be avoided.
For racingbike profile no issue, but for bike seam solved by that priority you added: here.
For our (admitted DACHNL centric) navigation, we prefer “tracks” and only modify priority by the “tracktype” (grade5 to avoid for instance and grade1 to strongly prefer as being paved).
Related: We have a logic on “path” to check if there are additional tags like surface, smoothness, intendedforcycling, If they all are absent we reduce priority quite a bit. Something like this might be applicable for tracks as well, just wanted to mention.
And yes: All these considerations are for “touring” type bicycle navigation, “racing” bikes will prefer the sec. road for sure.