Strava (GPX) <type></type> 元素是啥意思?

Posted

技术标签:

【中文标题】Strava (GPX) <type></type> 元素是啥意思?【英文标题】:What do the Strava (GPX) <type></type> elements mean?Strava (GPX) <type></type> 元素是什么意思? 【发布时间】:2020-09-06 05:58:57 【问题描述】:

起亚欧拉,

我从 Strava 导出了所有 GPX 文件,因此我可以对它们进行一些分析,但我一直试图弄清楚每个文件的活动类型。

我的文件如下所示,例如,&lt;type&gt; 元素似乎定义了活动类型。

<?xml version="1.0" encoding="UTF-8"?>
<gpx creator="StravaGPX iPhone" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" xmlns="http://www.topografix.com/GPX/1/1">
 <metadata>
  <time>2014-03-21T22:44:39Z</time>
 </metadata>
 <trk>
  <name>Sugar Loaf</name>
  <type>9</type>
  <trkseg>
    ...

我知道(在我的脑海中)该活动是一次跑步,但我找不到所有数字及其相应活动类型的任何文档。

Strava says:

Strava 努力遵守官方 FIT SDK 中定义的 FIT 活动文件 (FIT_FILE_TYPE = 4) 规范。

这很好,但如果我查询 FIT SDK,我可以在 fit_profile.hpp 文件中找到以下内容:

typedef FIT_ENUM FIT_SPORT;
#define FIT_SPORT_INVALID                             FIT_ENUM_INVALID
#define FIT_SPORT_GENERIC                             ((FIT_SPORT)0)
#define FIT_SPORT_RUNNING                             ((FIT_SPORT)1)
#define FIT_SPORT_CYCLING                             ((FIT_SPORT)2)
#define FIT_SPORT_TRANSITION                          ((FIT_SPORT)3) // Mulitsport transition
#define FIT_SPORT_FITNESS_EQUIPMENT                   ((FIT_SPORT)4)
#define FIT_SPORT_SWIMMING                            ((FIT_SPORT)5)
#define FIT_SPORT_BASKETBALL                          ((FIT_SPORT)6)
#define FIT_SPORT_SOCCER                              ((FIT_SPORT)7)
#define FIT_SPORT_TENNIS                              ((FIT_SPORT)8)
#define FIT_SPORT_AMERICAN_FOOTBALL                   ((FIT_SPORT)9)
#define FIT_SPORT_TRAINING                            ((FIT_SPORT)10)
#define FIT_SPORT_WALKING                             ((FIT_SPORT)11)
...

我也可以在同一个fit_profile.hpp 文件中找到:

#define FIT_FILE_ACTIVITY                             ((FIT_FILE)4) // Read/erase, multiple files. Directory=Activities

这将向我确认它确实是一个活动文件。

有谁知道我在哪里可以找到这些整数的参考资料?

【问题讨论】:

【参考方案1】:

通过实验,我制作了这个列表。

 1: Ride
 2: Alpine Ski
 3: Backcountry Ski
 4: Hike
 5: Ice Skate
 6: Inline Skate
 7: Nordic Ski
 8: Roller Ski
 9: Run
10: Walk
11: Workout
12: Snowboard
13: Snowshoe
14: Kitesurf
15: Windsurf
16: Swim
17: Virtual Ride
18: E-Bike Ride
19: Velomobile
21: Canoe
22: Kayaking
23: Rowing
24: Stand Up Paddling
25: Surfing
26: Crossfit
27: Elliptical
28: Rock Climb
29: Stair-Stepper
30: Weight Training
31: Yoga
51: Handcycle
52: Wheelchair
53: Virtual Run

我怀疑 20 是用于航海,但 Strava 不允许我将任何活动设置为航海检查。

【讨论】:

以上是关于Strava (GPX) <type></type> 元素是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

使用 python 模块请求上传 Strava GPX 时出现 ValueError - 为啥?

用 PHP 解析 GPX 文件,获取 <extensions> 元素值

L.GPX 不是构造函数

如何从 GPX 文件中提取高程数据

从 GPX 文件创建 XSD 文件

上传 .gpx 文件 Streamlit Python