Strava Workouts Make OpenStreetMap Stronger
Yuzen-it-id UrbanRoaming af 19 June 2025 s English Last updated on 20 June 2025.This blog was originally posted on my personal site:
I’m not much of an armchair mapper. Partly because ground surveying with Everydoor and StreetComplete is what got me started mapping in OSM. But I think it’s also because I hate having to decipher blurry aerial imagery. I still do it from time to time, but ever since I discovered how to use the Strava heatmap, I’m hooked.
To hopefully sell others on the dataset and walk you through some ways I’ve found it helpful, I’ve collected some examples below of ways you can use the Strava heatmap data.
Context
For those of you who don’t know, Strava is used around the world to record all kinds of workouts. Strava has moved to using OSM data in their apps and to give back they’ve allowed use of their GPS traces as a source when contributing to OSM!
To get it set up you can reference the OSM wikipage for Strava.
Usecase 1: Misaligned Paths
One of the most common changes I’ve made using the Strava heatmap is updating existing paths to align with the heatmap. I’ve found many paths that were most likely drawn based on a single GPS trace or a best guess. Now with the hundreds of GPS traces from Strava we can create a more accurate path.
Below you can clearly make out a missing switch-back and spots where the paths could use some tweaking.
I’ve started working my way through various state parks or nature preserves looking for paths that need to be updated.
In the above example you can see several paths that need to be smoothed out and some paths in the Strava data which aren’t in OSM. That brings us to our next usecase: missing paths.
Usecase 2: Missing Paths
With the Strava heatmap it makes it easier to identify potential missing paths. For example, when scrolling along the coastline it can be hard to tell from aerial view where paths exist.
But with the Strava heatmap it sticks out.
In the above case, more consideration is required to determine if the path is official and how to mark it. Usually this involves checking the surrounding area and looking more closely at the available imagery (aerial and street-level).
Sometimes it’s more clear when the path is official. In the below example Strava highlights a missing neighborhood.
But there’s still some trickiness here. Since some of the tracks go through dense woods, the heatmap may include trails. So let’s filter it to show cycling data only.
With this view you can make out which paths are most likely roads, and which may be trails.
Usecase 3: Obstructed Paths
While mapping streets in this neighborhood, some were difficult to follow due to tree cover. I can see there are houses that must have connecting roads, but the trees make it hard to trace the exact path.
But with the heatmap added, the paths become clear and I can fill in the gaps.
Gotcha 1: Informal Paths
Just because something shows up on Strava’s heatmap doesn’t mean it’s an official path. Sometimes people cut through areas without a proper path. Usually I can judge whether a path should be added based on aerial and street-level imagery, but when I can’t: I might leave a note for someone to investigate further, hopefully from the ground.
Looking at an example, the Strava heatmap shows a strong trace behind these houses, but I can’t see anything in the aerial imagery to indicate a road. Perhaps there’s a footpath that people are taking, but I wasn’t comfortable making that assumption.
As another example, here it seems like people are cutting through a property and going around buildings.
When I zoomed into the aerial imagery there were no clear paths, so I left it alone.
Gotcha 2: Private Paths
Another issue to keep in mind: sometimes routes might be private. I had a hard time with the below example. There are clearly paths in the aerial imagery throughout the area, but my gut was telling me that these weren’t public. There were no parks and the heatmap stayed within one area.
Gotcha 3: Temporary Paths
The people using Strava are tracking their workouts, there’s no promise that the route they take is permanent. In the example below, I found a super strong GPS trace that was missing from the map.
But when we disable the heatmap we see an empty field. My best guess is that this was used to host a race, something we shouldn’t be adding to OSM.
Gotcha 4: Forgetting to Check Aerial
Finally, when using Strava’s heatmap make sure to toggle it on and off frequently (keyboard shortcuts are your friends here). Sometimes I’ll start mapping a trail with heavy obstruction from trees, but forget to check whether the trail becomes visible later on. When the heatmap is strong, it can completely obscure the aerial imagery.
In this case thankfully the heatmap and aerial imagery agree.
Discuss and Get Mapping!
I hope you have found this useful and try it out for yourself! Here is the setup guide. I recommend searching for parks in your area for a good starting point!
Feel free to share feedback below as well.
Discussion
Awennit n Marcos Dione di 20 June 2025 ɣef 11:35
In the case about the probable informal path (a path, I call them :), do you at least leave a note just in case someone wants to go and do a in place survey?
Awennit n UrbanRoaming di 20 June 2025 ɣef 11:40
Frequently I generate notes! Although sometimes I skip depending on how likely I think a path is.
osm.org/user/UrbanRoaming/notes
It seems some people are more confident than me and just apply the update remotely. Although hopefully people will see them when using StreetComplete or similar programs.
Awennit n chris_debian di 20 June 2025 ɣef 14:49
Nice write-up, Graham. I’ve been mapping for a long time, but not tried this approach; I’ll give it a go.
Cheers,
Chris
Awennit n UrbanRoaming di 21 June 2025 ɣef 21:03
Thanks Chris! Let me know what your experience is!
Awennit n Rostranimin di 23 June 2025 ɣef 08:42
Hello - I’m a regular user of Strava heatmap data for much the same purposes as you describe. At the moment I’m completely failing to get access to the heatmap on the JOSM editor. It’s clear that recent changes at Strava have upset some of what’s needed to see the heatmap on OSM editors, and that some of the instructions on the setup page you link to are no longer correct. What editor are you using, and how are you setting up the heatmap?
I’d like to get this working again and to update the instructions!
Awennit n UrbanRoaming di 23 June 2025 ɣef 20:15
Hey Rostranimin!
I’ve been using iD editor with this extension.
https://addons.mozilla.org/en-US/firefox/addon/id-strava-heatmap/
It looks like they may have fixed the JOSM extension for firefox, but are still pending a fix for Chrome:
https://github.com/zekefarwell/josm-strava-heatmap/pull/20#issuecomment-2974883740
Awennit n Rostranimin di 23 June 2025 ɣef 20:23
Thanks UrbanRoaming - I’m having a go with ID, but failing at the moment. And Strava seems to get grumpy and refuse to log in a second time. I’ll keep trying - this is irritating.
Awennit n UrbanRoaming di 23 June 2025 ɣef 20:27
Although someone commented that they downloaded the latest firefox extension and it didn’t work.
Awennit n Rostranimin di 23 June 2025 ɣef 20:45
Thanks - that’s certainly my current experience with Firefox. I have it working with ID on Chrome(ium) though, which is a big step forwards. I’d prefer to use JOSM, but this is better than nothing.
Awennit n UrbanRoaming di 23 June 2025 ɣef 20:49
Oh, I did notice sometimes once logged in I still need to go to the heatmap page:
www.strava.com/maps/global-heatmap
Awennit n dpschep di 7 July 2025 ɣef 15:56
One big subset of the ‘temporary paths’ gotcha is cyclocross courses, as the riders overwhelmingly track and upload to strava, but they aren’t following anything permanent. Here’s a pretty good example from DCCX: https://www.strava.com/maps/global-heatmap?sport=All&style=satellite&terrain=false&labels=true&poi=true&cPhotos=true&gColor=blue&gOpacity=100#17.08/38.933247/-77.017565