Despite having lived in Paris almost a year now, I’ve rarely cycled outside of my little set of known routes and locales. Partly because the weather has been so bad this winter that I spent a lot of it on a trainer. But also partly because of the unknown aspect (and language barrier). But with the weather finally getting nice here, it was time to venture out of the city.

The trick is – how do you create a viable and functional cycling route out of thin air?

While following a ‘known’ route is good, it doesn’t really help when the ‘known route’ starts 15 miles away and goes someplace else. I wanted to effectively build a route into an area that I knew in general was nice, but didn’t know which specific roads were good. So here’s the story of my weekend…

In a completely unrelated find a few weeks ago I stumbled on Race Shape. I don’t even remember how I got there, but I did. At first it didn’t seem too terribly interesting me as someone who lightly uses Strava. It was essentially just exposing Strava segments. Meh. I had almost closed out the browser tab forever when I saw the ‘Global Heatmap’ function up in the right corner and figured I’d give it a quick peek.

Holy cowbells batman!

It’s enumerating 917 million data points (according to the stats at the top), and in doing so is effectively showing me all of the Strava rides ever done.

But wait, could I zoom in and make it more useful?

And further:

Now we’re talking! Now I’m able to start making out areas that are more popular. I can see Paris (upper right-ish) is actually not terribly popular with Strava cyclists. This makes sense. While there’s undoubtedly more cycling going on in Paris proper than outside, it’s more along the lines of bike-sharing (Velib) and commuter bikes. The type of rides that Strava wouldn’t really be tracking.

But off to the West and Southwest of Paris there’s plenty of cycling going down according to Strava. The darker/thicker the colors, the more people are riding it. As I zoom in more, I can get a clearer picture of things.

I can click to actually show me the relevant nearby Strava Segment. For those unfamiliar, a Strava Segment is essentially a small race-like chunk of road. Effectively something that you compete on (even if you don’t know it at the time). They can be just a few hundred yards, or many miles. It’s sorta like a single page of a AAA Triptik. Yes, I just brought you back 15-30 years. Welcome to last century.

As you can see – ridden 2,000 times seems pretty solid to me. Keep in mind, that’s 2,000 uploaded rides to Strava. Based on what I see in the area here as far as devices capable of uploading to Strava, I’d guess we’re only talking low-single-digit usage of Strava amongst cyclists out doing training rides (1-5% at the high end, since I tend to only see about 5-15% of cyclists with GPS-computers on their handlebars). So in a way, you can loosely use this as a proxy. Like ‘4 out of 5 doctors agree’…sorta.

Looking at other popular routes, where I do loops (along with thousands of other Parisian cyclists), has been logged 94,000 times!

And one segment in Central Park in NYC? 140,000 times!

So from this data I can start to understand what’s popular and what’s not.

With that in mind, I cracked open Garmin Connect and their course builder. While Garmin Connect has heat maps for some cities in the US, it doesn’t quantify them with totals like Race Shape. Further, Garmin Connect will be pulling in data across anyone with a Garmin device – which while normally great, for this purpose I actually kinda want more ‘competitive’ cyclists. Which is something that Strava attracts. In effect, I know that the majority of cyclists using Strava are going to likely be doing so on good fast roads, rather than some meandering non-well maintained path that might be better for a beach cruiser or runner.

Anyway, I pull open the Garmin Connect Course builder, and the Race Shape maps side by side and start to go to work. First up, I know how to get past the river on the Western side of the city. I’m good at that. So I just quickly build my route using my own route that I routinely do.

Now is when I start analyzing the different chunks. By looking at the heatmap I’m able to piece together the best overall route to get me out to where I roughly want to be.

And the process continues. It doesn’t take too long. I find that in general I just simply create a few points a few miles apart and let Garmin Connect give its best shot. In most cases, the best guess route Garmin Connect lines right up with that from Race Shape. The white dots are the ones I added, but everything in between is what Garmin Connect decided on. As you can see, I was able to connect large lengths between the map above and below without having to get too detailed.

From here, I just did this repeatedly until my route was mapped out. Analyzing each segment a bit along the way.

Before long, I was done and ready to send my course to my unit. To do so, I just tap the ‘Send course to unit’ button, which works across all the Garmin Edge cycling units, as well as the more advanced Forerunners (multisport/running watches).

For those on non-Garmin platforms, you can follow all the same steps, but instead of using Garmin Connect – you could use something like Bike Route Toaster to create the GPX or TCX file – which many GPS units out there on the market supports for breadcrumb trails.

Now, there are some catches here to this whole process of using the heat maps. And I got bit by one pretty badly on my ride back, costing me quite a bit of time on Sunday. The good news is that because I’m telling you about it, you’ll probably avoid getting bit.

First is to always double-check the route. Just move along over the map and make sure it passes a sanity check. What’s funny is that I did that for the outbound, but then got tired and neglected to do it for the return. Of course where I got bit was on the return.

Here’s what happened. See this little section below:

Well, it’s actually a horse trail. Probably technically a dirt road (questionable though) Despite Garmin Connect being set to ‘Stay on Roads’, it went there. Now, that may not be Garmin Connect’s fault, it may well be Google’s fault (or one of their providers), since the data comes from them. Here’s what it looks like from Google Streetview:

Obviously, that wasn’t going to work in a time-trial/triathlon bike.

In fact, if I tell Garmin Connect to switch over to Openstreet, you can see clearly it’s marked as a trail:

What made matters even worse here was that this little section is sorta a mini-mountain (a hill normally, but Mt. Everest with a triathlon bike). Something you can see above in the Google Streetview photo (look at the background) and below in the terrain map:

So why didn’t I catch it on the heatmap with Race Shape? Well, two reasons.

First is that for some reason unclear to me, Race Shape doesn’t allow you to zoom in any more than this level:

Which means it makes that little segment really hard to see. And because I can’t zoom in, and can’t tell it to re-enumerate segments in that section to get better clarity on it. I’ve yellow highlighted it above (dead-center of image), and then resized a crop of the image (with highlights) below:

You can see there are some tracks there. And that makes sense – likely by mountain bikers. Which does me no good at all. A mountain bike trail a road bike trail does not make.

Outside of this one ‘minor’ error, my route was flippin’ awesome. For a complete guess of a route, it was packed with people. Literally flowing full of cyclists the entire ride, with beautiful countryside like this:

And this:

Oh, and this:

Seriously, finding the above was purely a function of following the heatmaps which happened to lead to this châteaux.

From here on out, this is how I’m going to find long routes in unchartered territory. While I’ll still use Garmin Connect to find ‘complete’ shorter routes (i.e. a 5-mile run in a foreign city), Race Shape is much better for piecing together viable routes out in the middle of nowhere.

Now, the real question is when is a device company going to take advantage of this. For example, Garmin has a much larger dataset than even Strava does. There’s no reason why Garmin couldn’t do the analytics on data and create dynamic heatmaps like this. But even more so, they could actually do route generation based on it. Per a conversation with the GC team, Garmin Connect gets upwards of a few hundred thousand uploads per day. To put that in perspective, the above Race Shape mapset includes ~200,000 activities as the total data set.

You want a 50 mile loop ride that’s moderately hilly? No problem, they could use their own data to generate a route on the fly that’s got the most rides on it (with hills). Which is a bit different than what Mio was doing with their Cyclo units, as they didn’t have the ‘actual rides’ dataset to work with. They just had mapping providers best guess at good routes. Actual rides takes it from ‘complete wild-ass-guess’ to ‘ridden 94,000 times’. Yes, it’s good. Oh – and they could do it all from the head unit using Bluetooth to take advantage of your cell phone connection.

Then again, maybe I’m just dreaming….

Thanks for reading!