Create perfect bike route using BRouter and Strava heatmaps
Posted by Branko Kokanovic on 19 June 2023 in English.TL;DR
Watch https://peertube.openstreetmap.fr/w/56SduK2wYnnUesnSroucbd
I have one nice way of finding best routes for bike rides. It is a mix of BRouter and Strava heatmaps. Whenever I show this to someone, they think it is really cool, but I never shared it with a world. Finally I found time to record my process. You only need Strava account and web browser to create these routes. I still think it is the best way to explore routes on desktop, but let me know if you can beat this:)
15 min video with subtitles is here: https://peertube.openstreetmap.fr/w/56SduK2wYnnUesnSroucbd
Thanks for checking it out!
Discussion
Comment from Marcos Dione on 20 June 2023 at 11:00
Very cool, including all the tips and pitfalls :)
Comment from Marcos Dione on 20 June 2023 at 11:08
One question, though. The other day I went hiking to Mont Puget and at the top I met two MB’ers. They used this route to descend (so I did):
https://brouter.m11n.de/#map=18/43.22594/5.45586/standard,route-quality&lonlats=5.458561,43.222223;5.454937,43.227905&profile=MTB-light-wet
Is there any router that’s going to tell them that there is a completely impassable section in the middle? The guys had to dismount and take like 30m to descend with their bikes in a vertical position because it was not even much safe to do it with their bike on the shoulder (also, they were e-bikes, so they probably weight too much for that anyway).
Also, is there anything we could improve in the tagging to make a bike router completely ignore this section?
Comment from Branko Kokanovic on 20 June 2023 at 19:51
Not sure if I should laugh or be scared, don’t know how it looks like in reality. IMHO, this is problem with BRouter. If I look at way way/53015601, it is clearly marked as “bicycle=no”. Not sure why BRouter is routing through here. This is clearly a bug and dangerous, if I may add. If it didn’t route there, someone might try and try to put route there and figure out in the end that this is not “normal” route and something is wrong (and look to OSM if someone has enough knowledge).
BRouter might also help here maybe by figuring out there is “note” tag on some of the way along the route and prominently show it (somehow, I am not a designer).
Additionally, what you can do to help is to add mtb:scale tag, but in this particular case - MTB are/should not be allowed here, so “no” means “no”:) Maybe set “mtb:scale=6” (or 5). Not sure how BRouter handles those tag though.
You, as a user of BRouter, should acknowledge there is 16%+ steepness and account for that (I mention that near the end of the video) and that should be giveaway something is not completely right there. Not to mention scary contour lines on that path:)
Thanks for watching video!:)
Comment from gileri on 23 June 2023 at 07:21
Because bicycle=no means that you can’t ride the bicycle there, not that you can’t have a pushed or carried bicycle there.
In this case, the profile used in Brouter is for mountain bikes, so carrying the bike is not unheard of. This profile also allows specifying whether bicycle=no path are taken with the “StrictNOBicycleaccess” variable.
Most routers route through stairs for example with a high penalty to avoid a longer detours, as a lot of users can carry the bike. As not all can, it should be customizable.
Comment from Branko Kokanovic on 23 June 2023 at 08:28
Thanks, I learned something new today. I guess root of the problem is that “bicycle=no” and “bicycle=dismount” are ambiguous, but it is not something that can be solved easily. BRouter gives options (“StrictNOBicycleaccess”) to overcome this, but I guess there is no bullet-proof solution
Comment from gileri on 23 June 2023 at 11:17
Forgot about bicycle=dismount, which may be more adapted here. Thanks !
Comment from wwhide on 19 June 2025 at 06:59
I can’t seem to get the heatmap to show up in any brouter and I’m following the directions. I can see the URL has changed recently, but I can’t seem to make it work with the new URL with the same query parameters
Comment from wwhide on 19 June 2025 at 07:09
I found the issue
https://github.com/zekefarwell/josm-strava-heatmap/pull/20