Strava Tools

Command-line scripts to do things with Strava
Alternatives To Strava Tools
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Trackerapp27
a year ago2May 03, 202013R
An interactive web application for the analysis of sports data from GPS-enabled tracking devices
Strava Tools14
2 months ago1Python
Command-line scripts to do things with Strava
Movementtrackr9
12 years agoJava
Records accelerometer, gyroscope and GPS data and displays the data.
Heatmap5
4 years agogpl-3.0C++
Easily create a versatile Heat Map of your outdoor runs and rides!
Photogps3
8 years agootherC#
A tool export GPS data from photos and more~
Healthkit Workout Routes2
4 years agogpl-3.0JavaScript
Apple HealthKit XML -> GPS routes on HTML 5 canvas. An experiment in data viz
Ucla_marine_data_visual1
5 years agoPython
UCLA Marine Data Visualization application/GUI in development in python for the Marine Operations Program at UCLA. Used to depict Ocean temperature along with GPS data ovelayed on a map. Check out the Marine Operations Program at: https://dept.atmos.ucla.edu/marineops
New York City Taxi Trips Fare1
4 years agoJupyter Notebook
In this project using New York dataset we will predict the fare price of next trip. The dataset can be downloaded from https://www.kaggle.com/kentonnlp/2014-new-york-city-taxi-trips The dataset contains 2 Crore records and 8 features along with GPS coordinates of pickup and dropoff
Gpx Visualize1
3 years agomitJavaScript
Visualize GPS tracks with a linear feature and chart
Alternatives To Strava Tools
Select To Compare


Alternative Project Comparisons
Readme

strava-tools

GitHub Actions status Python: 3.6+ Code style: Black

Command-line scripts to do things with Strava.

Exported data

Pre-GPDR, you could bulk export all your activities as GPX files which were named like 20170921-074112-Ride.gpx.

Post-GDPR, you can export an archive of your account which includes much more data, however your activities are now in their original file format (eg. GPX or FIT format, some gzipped, some not) and named like 971607640.gpx, 83514080.gpx.gz and 1243401459.fit.gz. (The Strava support page talks of deleting accounts when exporting, but you don't need to delete anything!)

Here are some tools and notes to have them in a similar format.

First request an archive from your account following this guide and wait for the email. Unzip export_xxxxxxx.zip and move the activities directory and activities.csv to the current dir.

Rename and unzip files

# Rename files from 1836025202.gpx to 20180912-064451-Ride.gpx
# First a test run without changing files
python3 rename_activities.py --dry-run

# Then do it
python3 rename_activities.py

# Unzip files, deletes GZ files
gunzip activities/*.gz

Convert FIT files

Here's some different methods to convert from FIT to GPX.

GPSBabel

If you have any FIT files, you can use GPSBabel to convert them:

# Install on Mac
brew install gpsbabel

# Convert activities/*.fit to activities/*.gpx, keeps FIT files
bash fits2gpxs.sh

# Optionally delete the FIT files
# rm activities/*.fit

The Wahoo Elemnt Bolt creates files in FIT version 2. Use GPSBabel 1.6.0 or later, or you may get fit: Unsupported protocol version 2.0 with older versions such as GPSBabel 1.5.4.

FIT-to-GPX

Alternatively, try Jeffrey Friedl's FIT-to-GPX.

  1. Download the Java FitCSVTool included with the free FIT SDK (direct download link).
wget https://raw.githubusercontent.com/jeffrey-friedl/FIT-to-GPX/master/fit2gpx
edit fit2gpx fits2gpx.sh

Update JAVA_FITCSV_CMD in fit2gpx to point to the file in the downloaded SDK and edit fits2gpxs to use fit2gpx instead of gpsbabel.

# Convert activities/*.fit to activities/*.gpx, keeps FIT files
bash fits2gpxs.sh

Export as GPX from Strava

Follow the Strava guide to export each file.

Alternatively, use download_fit_as_gpx.py to get several. See instructions at the top of the file.

Split 'em

Left the GPS recorder paused when on a train? Chop out long paused sections of GPX tracks, and put them into a split/ subdir.

pip install --upgrade gpxpy termcolor tqdm
python splitter.py
cp split/activities/*.gpx activities
# backup are at split-backup/activities

Make stuff

drive

Generate heatmaps by dragging and dropping files into https://erik.github.io/derive/

marcusvolz/strava

You can make some great visualisations with marcusvolz/strava. See that repo and stravaviz.R for examples.

Troubleshooting

If you get an error with the marcusvolz/strava visualisation tools when plotting elevations:

> p3 <- plot_elevations(data)
> ggsave("plots/elevations-all.png", p3, width = 20, height = 20, units = "cm")
Error in FUN(X[[i]], ...) : object 'ele' not found

It means not all the coordinate trackpoints in your GPX files have elevation values.

Some options:

  • Export those tracks from Strava. Strava makes altitude corrections, which is why their exports have points with elevation values when original files do not.

  • Skip plotting elevations.

heatmap.py

Generate heatmaps using gpx_heatmap.py. See instructions at the top of the file and update the HEATMAPPY path for the file downloaded from https://sethoscope.net/heatmap/

Popular Data Visualization Projects
Popular Gps Projects
Popular User Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Python
R
Dataviz
Gps
Visualisation
Heatmap