Analysis of GPX tracks using IgorPro
A workflow to find and compare similar running routes from a large database.
The inspiration is the Strava feature that allows runners to compare performance over the same course over time.
Starting point is a long gpx/xml output containing multiple tracks (tested on ~700 tracks).
The file is processed using GPX2CSVwithTrackeR.R to give a csv called runDF.csv.
This file is read by GPXSimilarPaths.ipf.
Igor parses all the tracks and compares them to find clusters of similar tracks. For each cluster, a comparison of pace is done.
Requires XMLUtiles XOP for Igor, available here.
These functions will load and parse a directory of gpx files. Igor will plot out all the tracks and also allow you to pick an interval to make a movie of tracks in that period. It will export a movie (*.mov with jpeg compression) and a sequence of TIFFs at 4X screen resolution (this is so you can assemble a *.gif version).
Now there are versions for looking at Running and Cycling. The running analysis is tested only on GPX tracks exported from rubitrack and recorded using a Garmin watch. Export was automated using Rubitrack Export.scpt. This is an applescript which runs from the Users Scripts folder and works with card view in rubiTrack 4 Pro. The cycling analysis is quite bespoke (sorry) and requires an external procedure to run properly.
Rubitrack can output a single GPX file with multiple tracks. This can be read into R and then the cumulative time per year calculated using IGOR. To read in the GPX file use GPX2CSV.R