Hi Richard,
Just a quick suggestion - this journey (http://cycle.travel/map/journey/41123) should really avoid the steps (http://www.openstreetmap.org/way/272075481) for a couple of reasons:
- it leads up some steps
- the way has been tagged with bicycle=dismount
Does cycle.travel handle steps within the routing already? If so I would suggest some kind extra disincentive to avoid routing that way if there is also a bicycle=dismount tag - what do you think?
Comments
cycle.travel does handle steps and gives them a low weighting, but maybe not low enough!
I wonder if the trick is to use the step_count tag in OSM. Pushing a bike up two steps is ok if it saves a mile-long detour. Pushing it up 50 steps probably isn’t.
Thanks Richard. I've had a closed look at OSM I would guess that it chose those steps over the footpath to Station Road because both have the steps tag. As it happens I don't think the Station Road footpath counts as steps so I'm going to remove the tag (it's a step, singular, at most. But really more of a lip to exit the Downs Link).
A weighting based on step count could work, although I'm not sure if the tag is used enough to be useful - it's certainly something I always forget to note down when mapping!
Could an option be to add a choice for the user along the lines of:
I'm thinking in terms of use cases, fully laden tourers are going to want to avoid them like the plague, whereas someone on a light racer isn't going to mind as much.
Unfortunately the way that the routing works doesn't allow for options like that - it uses a technique called Contraction Hierarchies that precomputes the best routes, and takes up quite a lot of server space when doing so. (That's why it's fast.) So for every possible option that could be set, a new set of routes would need to be precomputed… which would mean a whole extra server!
Looking at taginfo, step_count is used 56,000 times so far, which isn't massive in the context of the whole OSM database but which makes it worth including, I think. And maybe that'll be an incentive for people to add it.