出门跑步忘了戴佳明?(Left your garmin forerunner home?)

怎样把 Runtasitc 的记录上传到 Garmin Connect。

在用跑步手表之前,我一直用手机app – Runtastic 来辅助我跑步训练。直到后来跑步的里程越来越长,用手机不方便了,才买了我的第一块跑步手表——Garmin Forerunner 210 XT。

我今天不是要对比评测手机App和跑步手表。真要让我说,我觉得它们都好,各有各的优势,各自适合不同的人群。今天我只是想给大家介绍一个小窍门

那还是一个风和日丽初秋的下午,我打算利用午餐的时间出去跑个步。一切都是按照多年(2年半)养成的习惯,准备好了跑鞋,轻便的衣服,遮阳的帽子,和跑步手表……跑步手表?到哪儿去了??“我去年买的表”到哪儿去了???

真是令人沮丧,跑步的目的是什么?不就是为了自拍,合影,聚会,上传数据到 Facebook,微博,微信上吗?这跑步表都没戴还跑哪门子步呐?

冷静!有条件要跑,没有条件创造条件也要跑,这样才是严肃的跑者。我不是还有 Runtastic Rro 吗?只要手机还在就能跑。于是,我就这么捏着手机跑了5K(没有带手机腰带呵)。

回来以后,就在想,Runtastic 的数据能不能同步到 Garmin Connect 上呢?我登录了进了 Runtastic 账户,打开刚才完成的 Activity,在地图的上方看到一个齿轮图标,点击它弹出了一个窗口,里面有输出为tcx 文件的选项!太好了,tcx 就是 Garmin 定义的文件格式,应该能够兼容。请看下文:

tcx file from Runtastic.com
tcx file from Runtastic.com

The TCX format is also an xml format, but was created by Garmin to include additional data with each track point (e.g. heart rate and cadence) as well as a user defined organizational structure. The format appears to be primarily used by Garmin’s fitness oriented GPS devices. The TCX schema [garmin.com] is hosted by Garmin.

当下就把文件下载到本地,然后登录我的 Garmin Connect 账户。点击右上角的加号,选择 “Upload your activities”,  在下一页中选择 “Manual Upload” 卡片。拖拽刚才下载的文件到页面上去……Error!作为一名久经错误的程序员我一点都没有挫败感——也许只是文件格式上有点不兼容!

tcx file from Runtastic to Garmin Connect
Error

我用Notepad++打开上传失败的文件,从文件头上来看,Runtastic 完全用的是Garmin的标准,连 schema 都是直接应用 Garmin官网的文件。那格式应该是兼容的,问题出在哪里呢?

我去 Garmin Connect 上也下载了一个 activity 的 tcx 文件,好放在一起对比一下。先大体上浏览了一遍,格式完全是相同的。只好硬着头皮从第一个标记开始看起。几乎没花时间就发现根元素标记下的第一层元素的属性字符有微小差别。Runtastic 的文件中是这样的: <Activity Sport=”running”>;而Garmin Connect 的文件是这样的:<Activity Sport=”Running”>。其实我当时也不知道,Garmin Connect在输入 tcx 文件是,属性名是否要求大小写敏感?直觉告诉我应该试一下——于是我就把小写的r改成了大写的R, 重新上传。哈哈,居然成功了!

在 Garmin Connect 打开这个Activity, 地图,距离,时间和平均配速都显示正确,但是打开分段发现没有每公里的分段。是不是可以改进一下呢?在对比了一下两份文件,发现 Runtastic 在输出文件中省略了<lap>…</lap>这一层,其实可以手工加入。想了想觉得手工加入没有多大意思,最好写个程序来完成,因为如果是几十公里的long run的话,光计算都够做一下午。等以后有空,把这个程序写出来。

总结:如果你忘记了戴手表出门跑步,又希望把自己的跑步记录一个不落的留在Garmin Connect 账户里。你可以用 Runtastic 记录你的跑步,然后:

(1)从Runtasitc网站下载 tcx 文件,(2)找到 <Activity Sport=”running”>,把 r 改成 R,(3)上传到Garmin Connect。

如果真的哪位朋友有需求上传大量的 Runtastic 数据到 Garmin,并且希望保留分段数据的话,可以给我留个言。我打算在假期的时候写一个工具放在博客上帮助改写文件 。如果你知道有现成的工具可以做到,也请留言给我。

 

3 thoughts on “出门跑步忘了戴佳明?(Left your garmin forerunner home?)

  1. Eileen Reply

    这个方法赞的,可惜我用的手机app没这个格式。反正欢乐跑,无所谓了。

  2. Tsui Wing Yee Reply

    你好,我想上传大量的 Runtastic 数据到 Garmin,并且希望保留分段数据

  3. Tsui Wing Yee Reply

    你好,我想上传大量的 Runtastic 数据到 Garmin,并且希望保留分段数据,你有辦法嗎?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.