GPX and TCX files are meant to be cornerstones in data analysis but, because the reporting convention of mobile apps are lax, it's not uncommon to find GPX/TCX files that have been resampled or that do not encode pauses. This makes it more difficult for a third-party to recreate your original run, much less analyze it.
Every running site that imports GPX and TCX files are often left to guess where your pauses took place, if you paused at all. And, every running site cares about this because pauses affect your time and total distance, which determines your pace and speed.
Currently, Smashrun can import GPX, TCX, and FIT files.
Depending on the number of files, it could take a few minutes to import everything. We usually suggest doing a month of runs at a time if you run frequently.
FIT is the best file type you can import. It's got everything.
The next best file type is TCX. TCX files are designed to transfer both GPS and fitness data, whereas GPX files are only designed to transfer GPS data.
If you run with a Garmin watch, it's always better to import a TCX file that came from Garmin Training Center instead of Garmin Connect. The latter does not encode pauses, which makes it a little harder for Smashrun to recreate your original run.
If you run with a mobile app and have the option to export both GPX and TCX files, opt for the TCX file.
For more information on Garmin's different file formats, which is generally followed by most apps, you can view the various schemas on the Garmin Developer site.
Cadence, for runners, is the number of times that both feet hits the ground in a minute, whereas cadence for cyclists is the number of revolutions per minute. We think Garmin displays cadence in half to keep it consistent between runners and cyclists, but it's not uncommon for runners to refer to their turnover rate as a single foot strike number. That said, we display the "true value" of your cadence on Smashrun. Runners are on both feet all the time anyway, so we display your steps per minute counting both feet!
The best way to think about pauses is to understand how GPX and TCX files are structured.
A GPX file has a series of trackpoints within track segments. Sometimes, a GPX file closes a track segment to signify a pause. Other times, it only closes track segments at the end of a lap. There is no easy way to differentiate between a closed track segment that is a pause from one that is the end of a lap. Every app and GPS watch handles it differently.
A TCX file has a series of trackpoints within tracks (not track segments!) A closed track signifies a pause unless it shows up at the end of a lap and, luckily, TCX files do indicate lap changes. Of course, apps and devices don't necessarily follow this convention all the time either.
Many apps completely disregard these reporting standards and only close a track or a track segment at the end of a run, regardless of whether or not you paused. What Smashrun does, under these circumstances, is guess where the pause took place based on a combination of metrics such as changes in your speed, heart rate, cadence, pace variability, and long gaps between trackpoints, where applicable.
This is a pretty tough task, so we're constantly working hard to fine-tune our pause algorithm and will look at any GPX/TCX file where Smashrun incorrectly detects a pause. If you encounter a pause related problem with a file you imported, please email email@example.com and include the file so we can take a look at it!
Resampling is a process that removes trackpoints in order to reduce file size and/or simplify the process of creating a map for a given run.
It's important to note that resampling is inherently destructive if applied simply to reduce file size. When data is resampled, certain trackpoints are removed for good, which makes it impossible to perform detailed analysis on your run. If enough trackpoints are missing, it would be very easy to miscalculate your splits and your summary details could be wrong.
One of the most common and well-document algorithms that can be applied to resample data is the Douglas-Peucker algorithm.
There are two factors beyond our control when it comes to figuring out total distance and, essentially, why we can’t ever guarantee that we can match another app or device’s distance: (1) which representation of the globe they’re using to calculate distance between two points and (2) the formula that's being used to calculate that distance.
Smashrun uses a WGS 84 reference ellipsoid in conjunction with Vincenty’s Formula to calculate the distance between two GPS points. However, there are various permutations of ellipsoids and formulas that can be used in geodetic calculations - which ones in particular are being used by an app or device is rarely, if ever, disclosed. Hence, why an exact match is difficult unless we rely on copying the summary details from the app, device, or as sometimes provided at the top of a GPX/TCX file.
Matching your app/device’s distance might also be challenging if they round out the units of precision on the file export. Some files export GPS points that have been rounded (e.g. the difference between 51.9928587341309020 and 51.0000000000009020). With several thousands of trackpoints in most runs, the difference in distance calculations can add up.