A neat thing that Strava premium has is a personal heatmap. It can look something like this:
Garmin Connect does not seem to offer a personal heat map at all, only global heat maps. I want my own personal heat map for a number of reasons, but mostly because they’re cool. So… how do I go about that? First, looking for prior art I found this post: https://www.musings.ch/2020/02/24/all-garmin-activities-on-a-map/ which was pretty encouraging that it was at least possible.
tl;dr
- Request data export from Garmin here
- From the exported data, get all uploaded FIT files from
DI_CONNECT/DI-Connect-Fitness-Uploaded-Files
– note there can be multiple archives - Parse all the FIT files and grab the ones that contain the activities you’re interested in (e.g. running)
- I used the fitparser crate for this
- Convert activity-containing FIT files to GPX files
- Plot GPX files on the map with the map provided via Leaflet.js and the GPX drawing provided via leaflet-gpx
Et voilĂ :
There are some notable differences from what I originally hoped for with this first pass. The start/end points are rendered as pins, and the “heat” aspect is purely GPS imprecision. Still, I’m thrilled – it’s super cool and I love it. I can also see everywhere I’ve traveled and recorded an activity as well.