all garmin activities on a map

After further scouring through my data export from Garmin Connect (see https://www.musings.ch/2020/02/22/all-garmin-tracks-on-a-map/), I found ${username}_${index?}_summarizedActivities.json, which contains all activities I ever recorded. 😃

That one contains 468 usable startLongitude/startLatitude elements, which fits nicely into kml as Placemark and renders well on https://www.google.com/mymaps.

The resulting map:

all my Garmin activities anchored in a location, plotted on a map using kml Pacemarks

Which also works well zooming in:

zoomed in view of all my Garmin activities in a specific region

Again, drop me a note if you feel I could help you with any of this.

all garmin tracks on a map

garmin tracks plotted on a map of the world
everywhere in this world I’ve run, biked, hiked, skied, swum

Today I had some fun exporting all my recorded Garmin tracks and plotting them as a heatmap on Google Maps.

After having wanted to create a map like this for ages, I finally found some time to hack together the toolchain needed. If you want to do the same, the easiest way I’ve found was:

#1 Ask Garmin for an export of all your data: https://www.garmin.com/en-US/account/datamanagement/

#2 Use the fabulous https://github.com/polyvertex/fitdecode to extract the lat/longs of your tracks.

#3 Use the Google Maps heatmap API to plot the data: https://developers.google.com/maps/documentation/javascript/reference/visualization

Alternatively, drop me a line, and I’d be happy to help 🙂

You might wonder how to plot all your tracks on a map – which is what I initially started with. However, with 346 recorded activities, using kml to plot them (through various platforms) I found it difficult to navigate the result. – If you’d like to get your fit files converted to kml to play around with them, also drop me a note, I have a converter for that too.

A close up view (without adjusting radius, maxIntensity,.. so not optimal):

Zooming in, this is how the heatmap fits to specific routes beautifully.
close up view of the heatmap of a specific area

Update: I’ve uploaded the script to generate a javascript include on github: https://github.com/musings-hub/garmin-fit-to-heatmap-js 🙂

Update: I’ve updated the script to generate content to run on jsfiddle: https://www.musings.ch/2020/02/26/garmin-tracks-heatmap/