In the TCX format, how is a trackpoint marked as paused?

3.5k views Asked by At

During an exercise, Garmin allows you to pause recording so that your split times and pace are not affected. How are these paused periods represented in the TCX format? I've looked through the TCX schema, but did not find an obvious answer.

4

There are 4 answers

4
Jaap On

Below an excerpt from a TCX file where I pressed "Stop" and later "Start" again... perhaps this helps.

<?xml version="1.0" encoding="UTF-8"?>
<TrainingCenterDatabase
  xsi:schemaLocation="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2 http://www.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd"
  xmlns:ns5="http://www.garmin.com/xmlschemas/ActivityGoals/v1"
  xmlns:ns3="http://www.garmin.com/xmlschemas/ActivityExtension/v2"
  xmlns:ns2="http://www.garmin.com/xmlschemas/UserProfile/v2"
  xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns4="http://www.garmin.com/xmlschemas/ProfileExtension/v1">
  <Activities>
    <Activity Sport="Biking">
      <Id>2014-11-24T11:13:26.000Z</Id>
      <Lap StartTime="2014-11-24T11:13:26.000Z">
        <TotalTimeSeconds>1608.813</TotalTimeSeconds>
        <DistanceMeters>8046.74</DistanceMeters>
        <MaximumSpeed>7.539000034332275</MaximumSpeed>
        <Calories>185</Calories>
        <AverageHeartRateBpm>
          <Value>117</Value>
        </AverageHeartRateBpm>
        <MaximumHeartRateBpm>
          <Value>133</Value>
        </MaximumHeartRateBpm>
        <Intensity>Active</Intensity>
        <TriggerMethod>Manual</TriggerMethod>
        <Track>
          <Trackpoint>
            <Time>2014-11-24T11:13:26.000Z</Time>
            <Position>
              <LatitudeDegrees>51.98118514381349</LatitudeDegrees>
              <LongitudeDegrees>5.9239620342850685</LongitudeDegrees>
            </Position>
            <AltitudeMeters>16.399999618530273</AltitudeMeters>
            <DistanceMeters>2.990000009536743</DistanceMeters>
            <HeartRateBpm>
              <Value>100</Value>
            </HeartRateBpm>
            <Extensions>
              <TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
                <Speed>2.7809998989105225</Speed>
              </TPX>
            </Extensions>
          </Trackpoint>
          <Trackpoint>
            <Time>2014-11-24T11:13:27.000Z</Time>
            <Position>
              <LatitudeDegrees>51.98120073415339</LatitudeDegrees>
              <LongitudeDegrees>5.92398751527071</LongitudeDegrees>
            </Position>
            <AltitudeMeters>16.399999618530273</AltitudeMeters>
            <DistanceMeters>5.28000020980835</DistanceMeters>
            <HeartRateBpm>
              <Value>100</Value>
            </HeartRateBpm>
            <Extensions>
              <TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
                <Speed>2.4820001125335693</Speed>
              </TPX>
            </Extensions>
          </Trackpoint>
…
          <Trackpoint>
            <Time>2014-11-24T11:40:04.000Z</Time>
            <Position>
              <LatitudeDegrees>51.980356089770794</LatitudeDegrees>
              <LongitudeDegrees>5.986622795462608</LongitudeDegrees>
            </Position>
            <AltitudeMeters>9.800000190734863</AltitudeMeters>
            <DistanceMeters>7991.759765625</DistanceMeters>
            <HeartRateBpm>
              <Value>132</Value>
            </HeartRateBpm>
            <Extensions>
              <TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
                <Speed>5.625999927520751</Speed>
              </TPX>
            </Extensions>
          </Trackpoint>
          <Trackpoint>
            <Time>2014-11-24T11:40:15.000Z</Time>
            <Position>
              <LatitudeDegrees>51.979938838630915</LatitudeDegrees>
              <LongitudeDegrees>5.986063219606876</LongitudeDegrees>
            </Position>
            <AltitudeMeters>10.399999618530273</AltitudeMeters>
            <DistanceMeters>8052.0400390625</DistanceMeters>
            <HeartRateBpm>
              <Value>132</Value>
            </HeartRateBpm>
            <Extensions>
              <TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
                <Speed>5.52400016784668</Speed>
              </TPX>
            </Extensions>
          </Trackpoint>
        </Track>
        <Extensions>
          <LX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
            <AvgSpeed>5.001999855041504</AvgSpeed>
          </LX>
        </Extensions>
      </Lap>
      <Lap StartTime="2014-11-24T11:40:16.000Z">
        <TotalTimeSeconds>1722.237</TotalTimeSeconds>
        <DistanceMeters>8046.74</DistanceMeters>
        <MaximumSpeed>6.960999965667725</MaximumSpeed>
        <Calories>211</Calories>
        <AverageHeartRateBpm>
          <Value>127</Value>
        </AverageHeartRateBpm>
        <MaximumHeartRateBpm>
          <Value>139</Value>
        </MaximumHeartRateBpm>
        <Intensity>Active</Intensity>
        <TriggerMethod>Manual</TriggerMethod>
        <Track>
          <Trackpoint>
            <Time>2014-11-24T11:40:27.000Z</Time>
            <Position>
              <LatitudeDegrees>51.97950725443661</LatitudeDegrees>
              <LongitudeDegrees>5.985447987914085</LongitudeDegrees>
            </Position>
            <AltitudeMeters>10.600000381469727</AltitudeMeters>
            <DistanceMeters>8116.02001953125</DistanceMeters>
            <HeartRateBpm>
              <Value>133</Value>
            </HeartRateBpm>
            <Extensions>
              <TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
                <Speed>5.290999889373779</Speed>
              </TPX>
            </Extensions>
          </Trackpoint>
          <Trackpoint>
            <Time>2014-11-24T11:40:39.000Z</Time>
            <Position>
              <LatitudeDegrees>51.97918321006</LatitudeDegrees>
              <LongitudeDegrees>5.984910121187568</LongitudeDegrees>
            </Position>
            <AltitudeMeters>11.0</AltitudeMeters>
            <DistanceMeters>8167.740234375</DistanceMeters>
            <HeartRateBpm>
              <Value>132</Value>
            </HeartRateBpm>
            <Extensions>
              <TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
                <Speed>2.882999897003174</Speed>
              </TPX>
            </Extensions>
          </Trackpoint>

…

          <Trackpoint>
            <Time>2014-11-24T12:40:18.000Z</Time>
            <Position>
              <LatitudeDegrees>51.97844828478992</LatitudeDegrees>
              <LongitudeDegrees>5.918068299070001</LongitudeDegrees>
            </Position>
            <AltitudeMeters>16.0</AltitudeMeters>
            <DistanceMeters>24482.119140625</DistanceMeters>
            <HeartRateBpm>
              <Value>119</Value>
            </HeartRateBpm>
            <Extensions>
              <TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
                <Speed>2.733999967575073</Speed>
              </TPX>
            </Extensions>
          </Trackpoint>
          <Trackpoint>
            <Time>2014-11-24T12:40:32.000Z</Time>
            <Position>
              <LatitudeDegrees>51.97893384844065</LatitudeDegrees>
              <LongitudeDegrees>5.9180795308202505</LongitudeDegrees>
            </Position>
            <AltitudeMeters>16.0</AltitudeMeters>
            <DistanceMeters>24536.23046875</DistanceMeters>
            <HeartRateBpm>
              <Value>119</Value>
            </HeartRateBpm>
            <Extensions>
              <TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
                <Speed>3.134999990463257</Speed>
              </TPX>
            </Extensions>
          </Trackpoint>
        </Track>
        <Extensions>
          <LX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
            <AvgSpeed>5.084000110626221</AvgSpeed>
          </LX>
        </Extensions>
      </Lap>
      <Creator xsi:type="Device_t">
        <Name>Garmin Forerunner 620</Name>
        <UnitId>3876874811</UnitId>
        <ProductID>1623</ProductID>
        <Version>
          <VersionMajor>3</VersionMajor>
          <VersionMinor>10</VersionMinor>
          <BuildMajor>0</BuildMajor>
          <BuildMinor>0</BuildMinor>
        </Version>
      </Creator>
    </Activity>
  </Activities>
  <Author xsi:type="Application_t">
    <Name>Garmin Connect API</Name>
    <Build>
      <Version>
        <VersionMajor>14</VersionMajor>
        <VersionMinor>10</VersionMinor>
        <BuildMajor>0</BuildMajor>
        <BuildMinor>0</BuildMinor>
      </Version>
    </Build>
    <LangID>en</LangID>
    <PartNumber>006-D2449-00</PartNumber>
  </Author>
</TrainingCenterDatabase>
0
mcbadger On

The activity in a TCX file is divided into laps. Each lap contains one or more Tracks which contain Trackpoints which are the individual records of position, heart rate, and so on. If you pause and restart the watch, the pause closes the current track, and the restart opens a new Track. So, for instance, if you pause twice in the first mile, using auto lap at each mile, the first Lap will contains three Tracks. Analysis software should use this structure to work out that the watch paused after the last Trackpoints in each Track and restarted at the first Trackpoint in the next Track.

I couldn't find any documentation of this either; it's based on inspection of Garmin data when I was working on the same problem when I needed to convert Timex .pwx files into TCX to upload to a site that didn't properly support pwx.

0
Stig On

My Forerunner 2399 does not start a new Track when paused. Instead I used the TotalTimeSeconds from the Lap to check the sum of used time from the Trackpoints. If they didn't match I lowered the Trackpoints with the highest used time (= delta to the Trackpoint before) until the time was equal.

4
AndVel On

I don't know if this helps, but I have a FitBit watch and I accidentally pressed the pause in the middle of one of my rides. I wanted to correct it, I never found any documentation on how to fix it. So, after some random attempts to fix it by uploading and downloading the file in different formats I found something. The original file when uploaded to Ride with GPS had many trackpoints with:

<DistanceMeters>0.0</DistanceMeters>

The total distance reported on Ride with GPS was 7789.23 When I downloaded the file from Ride with GPS again I realized that the trackpoins which had distance marked as 0.0 would have then 7789.23 as

<DistanceMeters>7789.23</DistanceMeters> 

So I got my original FitBit file and removed all 0.0 DistanceMeters Then I uploaded again and it fixed my distance to the correct final distance should have had. Also, I saw that my original FitBit file had the Lap distance as 7789.23, but I did not have to fix it on the lap itself. So the answer is on the calculated distance and speeds which may be skewed when hardcoded by the tracker.