Route GuidesRoutes City GuidesCities Map Log in

Musings on "pavement vs gravel", steps, tolerance field?

9 Feb 2023
Find a better bike route. Try our map & route-planner »

Become a supporter

As mentioned in prior posts, I love the routes this site suggests. I wish I could cycle on them more!

This summer when I was stuck at home by myself, I used a couple of suggested routes that were great, but they brought up some of the minor limitations in the software for routing and it got me thinking.

For one of the routes, if you chose "pavement" only, you got a crummier routing, because the main (cycle path) route you'd probably otherwise choose has brief sections of gravel. (As in 50 to 60 meters worth.) However, if you switch to allow gravel, you got a lot more gravel, some of which is pretty unpleasant unless you're riding a real, suspended mountain bike.

The above situation had me wishing the "gravel OK" setting had some kind of quick tolerance preset, or max distance. (I realize that after the fact, gravel vs. tarmac vs. hike-a-bike is broken out, which is very good indeed.) But being able to say up front that you're fine with a couple km of gravel (what's the worst that could happen? you walk!) vs. routing gravel-tolerant and seeing 10s of km of it, I think that would be a win. Of course it *sounds* simple to me because I don't know anything about the programming or compute overhead it would require to execute, but I thought I'd throw it out. (Doubt I'm the first to suggest.)

Along similar lines, stairs.

The suggested routes I reference above, one was a multi-use path that terminated in a short flight of stairs. (About 20). These were not indicated in OSM. I actually recently corrected OSM at this point to reflect reality. Now, there's *also* a dirt path alongside the steps, not great, but an OK alternative for people who want to try to push their bike rather than carry it up or down the stairs. Again, wondering if it's possible to get a "pavement" route that's tolerant of a certain (user-defineable?) amount of this rather than throwing it out entirely.

Comments

Thu 9 Feb 2023, 14:09

I guess by "gravel" above, I mean "any." A certain amount of "any" is what I'm getting at.

Thu 9 Feb 2023, 18:16

It’s a complex one! The big issue is that the routing algorithm cycle.travel uses (‘Contraction Hierarchies’) doesn’t allow for adjustable preferences. Effectively all the routes are calculated in advance – that’s what makes the routing so quick, but it means that there’s no option to adjust the weightings later.

The additional challenge in the US is that OSM’s road surface data isn’t brilliant. In Europe c.t has three options (Paved, Any, Gravel) but as yet I’m not confident to roll out the third one to the US because the data isn’t there. I hope that’s something that’ll change in the future.

Again, I’d be interested to know which route this is so I can take a closer look at the decisions it’s making.

Thu 9 Feb 2023, 22:32

I'll grab an example. 

https://cycle.travel/map/journey/395531

That's marked "pavement," but it includes a couple dicey traffic crossings. The "any" version routes on about a mile or so of gravel, not too terrible, but not great. There's a much better route that's 99% paved but requires about 100m of gravel to connect paved bike trail to neighboring road (see mile 2.5 or so, Ellet road to the marked bike path, connected by a very short strip of gravel.) If "pavement" meant something like up to 250-500m of gravel, it would open up possibilities like that w/o putting somone on gravel for a long period of time. 

Maybe that's an edge case, but there are many routes near me where paved bike trails are connected to paved roads by very short dirt or gravel paths, so it comes up frequently in my brainspace. In my experience, this is pretty common all over the US.

So "any" might get you way more gravel than you want, while "pavement" may put you on suboptimal routes because the quieter paved route nearby is only reachable via a dirt path or small gravel parking lot.

Fri 10 Feb 2023, 12:51

That’s interesting. I do see the issue here but for fairly obscure technical reasons it’d be really complex to fix. Again, going back to the routing algorithm, it doesn’t have any memory of what’s already been planned in the route – so there’s no way of saying “ok, you’ve had 200m of gravel already, don’t choose any more”. I’ll give it some thought but I fear it’s fairly intractable!