Endomondo is a fitness tracking mobile app. By default user tracks are public and available online. I parsed first 170k public workouts, extracted GPS data out of them and put routes on city maps.

Despite the fact that raw log of these workouts was around 20 Gb in size, this is only around 1% of all the workouts available.

This is map of running and walking workouts in selected European cities.


Endomondo workouts in Copenhagen


Endomondo workouts in Stockholm


Endomondo workouts in Oslo


Endomondo workouts in Helsinki


Endomondo workouts in Barcelona


Endomondo workouts in Warsaw


Endomondo workouts in Berlin

I used a script in Ruby to download HTML pages of endomondo workouts, extract necessary information and write it to a delimited file. Then I used R to clean up log files, extract GPS coordinates and put them on map. R libraries I used: ggplot and ggmap for plotting, RJSONIO for parsing JSON data. Map tiles are from Stamen. Code behind this project is in a separate post.

Subscribe to blog updates

If you leave your address, you will get a postcard from me.

* indicates required