8

起亚奥拉,

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

例如,我的文件看起来像这样,其中<type>元素似乎定义了活动类型。

<?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 努力遵守官方 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

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

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

4

1 回答 1

3

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

 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 不会让我将任何活动设置为航海检查。

于 2021-06-29T15:46:24.437 回答