I’ve been itching to do some analytics on my running data. Today seemed like a good time to actually do it.
Get the Format Right
The GPS files in my Strava archive are in
.fit format (some compressed, others not), which needed to be converted into
.gpx format before I could consume them in R.
A quick BASH script using
gpsbabel sorted that out.
#!/bin/bash for f in *.fit.gz do GPX=$(basename "$f" .fit.gz).gpx gzip -dc $f | gpsbabel -i garmin_fit -o gpx -f - -F $GPX done for f in *.fit do GPX=$(basename "$f" .fit).gpx gpsbabel -i garmin_fit -o gpx -f $f -F $GPX done
Start off by plotting thumbnails of each individual route.
Let’s see how those routes compound over time.
Obviously I’ve spent a lot of time running on the Berea and in Durban North. You can also see some of the Comrades Marathon, Hillcrest Marathon, Chatsworth Ultra and Ballito Marathon routes.
How were those runs distributed in time?
What times of day?
Times on week days are bimodal, probably because of a shift in behaviour since I have started working mostly from home (runs are now later because I don’t need to rush off to work).
Finally, runs as packed circles, with distance mapped to circle area and speed as fill colour.
This has been seriously fun. Should have done it a lot sooner.