Outdoor · GravelRide
Morning Ride
Route
Coloured by HR zone
Key data
- Distance
- 31.4km
- Moving time
- 1:06 h
- total 1:07:07
- Elevation
- 307m
- 5–123 m
- Avg speed
- 28.4km/h
- max 57.6 km/h
- Avg power
- –
- no power meter
- Normalized Power
- –
- Avg heart rate
- 152bpm
- max 173 bpm
- Avg cadence
- 87rpm
- Calories
- 619kcal
- 625 kJ of work
- Training Stress
- –
- FTP 262 W
- Relative Effort
- 110
- Temperature
- 24°C
Streams
Power, heart rate, cadence, speed & elevation · one hover for all – the map follows
Time in power zones
Legacy · Sync FTP unknown · boundaries not stored
No power second-by-second data
Time in HR zones
HR zones on ride date · raw sampling (gaps >10 s excluded)
- Z1Recovery · ≤ 128 bpm4%2 min
- Z2Endurance · 129–146 bpm22%15 min
- Z3Tempo · 147–160 bpm48%32 min
- Z4Threshold · 161–172 bpm26%17 min
- Z5Maximum · ≥ 173 bpm0%0 min
Power curve
This ride vs. bests 2026 and all-time
No power data
Performance analysis
- Intensity Factor
- –
- NP ÷ FTP
- Variability Index
- –
- NP ÷ avg power – 1.0 = very steady
- Efficiency Factor
- –
- NP ÷ avg heart rate – rises with a better base
- Perceived exertion
- 6/ 10
Aerobic decoupling (Pa:HR)
Only for rides ≥ 40 min with power + HR.
Fueling for this ride
During: 60 g carbs/h – gel, bar or sports drink
Drink: 500–750 ml/h
After: ~30 g protein + 70–90 g carbs within 1–2 h
Kilometre splits
| 1 | 1:54 | 31.6 | -15 m | 119 |
| 2 | 1:58 | 30.5 | 1 m | 143 |
| 3 | 2:09 | 28.0 | -1 m | 145 |
| 4 | 1:52 | 32.0 | -3 m | 149 |
| 5 | 2:23 | 25.2 | 7 m | 154 |
| 6 | 1:54 | 31.6 | -2 m | 145 |
| 7 | 1:55 | 31.4 | -4 m | 146 |
| 8 | 3:21 | 17.8 | 41 m | 162 |
| 9 | 3:01 | 20.0 | 27 m | 159 |
| 10 | 2:30 | 23.9 | 18 m | 159 |
| 11 | 2:40 | 22.5 | 22 m | 164 |
| 12 | 1:44 | 34.7 | -17 m | 151 |
| 13 | 1:28 | 40.8 | -23 m | 141 |
| 14 | 2:24 | 24.9 | 14 m | 157 |
| 15 | 1:44 | 34.7 | -11 m | 149 |
| 16 | 1:18 | 46.5 | -46 m | 142 |
| 17 | 2:05 | 28.6 | 4 m | 147 |
| 18 | 1:52 | 32.0 | -10 m | 147 |
| 19 | 2:47 | 21.5 | 22 m | 156 |
| 20 | 2:30 | 24.1 | 13 m | 160 |
| 21 | 2:05 | 28.7 | 5 m | 154 |
| 22 | 2:03 | 29.4 | 2 m | 154 |
| 23 | 1:43 | 35.0 | -12 m | 148 |
| 24 | 2:43 | 21.9 | 20 m | 161 |
| 25 | 2:05 | 28.8 | 4 m | 162 |
| 26 | 1:21 | 44.7 | -37 m | 144 |
| 27 | 1:26 | 41.8 | -31 m | 137 |
| 28 | 1:55 | 31.2 | -8 m | 136 |
| 29 | 2:05 | 29.0 | 3 m | 159 |
| 30 | 2:27 | 24.4 | 18 m | 164 |
| 31 | 2:16 | 26.5 | 7 m | 164 |
| 32 | 0:43 | 34.9 | -7 m | 151 |
Notes & raw data
Description
No description on Strava.
All data
Show raw data
{
"id": "demo-0216",
"name": "Morning Ride",
"sport_type": "GravelRide",
"start_date": "2026-09-06T15:09:35Z",
"start_date_local": "2026-09-06T08:09:35",
"trainer": false,
"distance": 31423.1,
"moving_time": 3982,
"elapsed_time": 4027,
"total_elevation_gain": 306.8,
"average_watts": 157,
"average_heartrate": 152.3,
"metrics": {
"source": "streams",
"hr_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
76,
1
],
[
78,
1
],
[
80,
1
],
[
82,
1
],
[
83,
1
],
[
85,
1
],
[
87,
1
],
[
88,
1
],
[
90,
1
],
[
91,
1
],
[
93,
1
],
[
95,
1
],
[
96,
1
],
[
98,
1
],
[
100,
1
],
[
101,
1
],
[
102,
1
],
[
103,
1
],
[
104,
1
],
[
105,
1
],
[
107,
1
],
[
108,
1
],
[
109,
1
],
[
110,
2
],
[
111,
1
],
[
112,
1
],
[
113,
1
],
[
114,
3
],
[
115,
13
],
[
116,
10
],
[
117,
12
],
[
118,
6
],
[
119,
8
],
[
120,
10
],
[
121,
7
],
[
122,
4
],
[
123,
2
],
[
124,
5
],
[
125,
4
],
[
126,
9
],
[
127,
15
],
[
128,
10
],
[
129,
24
],
[
130,
40
],
[
131,
28
],
[
132,
20
],
[
133,
23
],
[
134,
38
],
[
135,
25
],
[
136,
39
],
[
137,
76
],
[
138,
53
],
[
139,
46
],
[
140,
47
],
[
141,
68
],
[
142,
53
],
[
143,
71
],
[
144,
89
],
[
145,
64
],
[
146,
88
],
[
147,
131
],
[
148,
111
],
[
149,
105
],
[
150,
101
],
[
151,
89
],
[
152,
116
],
[
153,
140
],
[
154,
136
],
[
155,
122
],
[
156,
99
],
[
157,
132
],
[
158,
175
],
[
159,
194
],
[
160,
250
],
[
161,
169
],
[
162,
140
],
[
163,
133
],
[
164,
106
],
[
165,
122
],
[
166,
82
],
[
167,
67
],
[
168,
67
],
[
169,
66
],
[
170,
47
],
[
171,
23
],
[
172,
9
],
[
173,
11
]
]
},
"hr_curve": {
"60": 170,
"300": 164,
"1200": 157,
"3600": 154
},
"metric_sources": {
"np": "summary"
}
},
"type": "GravelRide",
"workout_type": null,
"timezone": "(GMT-07:00) America/Vancouver",
"utc_offset": -25200,
"strava_url": "https://www.strava.com/activities/demo-0216",
"commute": false,
"manual": false,
"private": false,
"visibility": "everyone",
"flagged": false,
"gear_id": "bdemo3",
"gear_name": "Gravel All-Road",
"device_name": "Bike computer",
"elev_high": 123.2,
"elev_low": 4.7,
"average_speed": 7.891,
"max_speed": 15.99,
"device_watts": false,
"weighted_average_watts": null,
"max_watts": null,
"kilojoules": 625.2,
"has_heartrate": true,
"max_heartrate": 173,
"average_cadence": 86.9,
"average_temp": 24,
"suffer_score": 110,
"calories": 619,
"perceived_exertion": 6,
"kudos_count": 4,
"comment_count": 0,
"athlete_count": 4,
"photo_count": 0,
"achievement_count": 0,
"pr_count": 0,
"start_latlng": [
49.29,
-123.14
],
"end_latlng": [
49.29,
-123.14
],
"location_city": null,
"location_country": null,
"geo": {
"start": "Vancouver",
"region": "British Columbia",
"country": "CA",
"countries": [
"CA"
],
"regions": [
"British Columbia"
],
"places": [
{
"name": "Vancouver",
"region": "British Columbia",
"country": "CA"
},
{
"name": "University Endowment Lands",
"region": "British Columbia",
"country": "CA"
}
]
},
"summary_polyline": "qcykHraqnV`AcB~IpOzGrLxF_J`[}ZdA`FEf@gAfA`@lB_@ZtBYuBX^[a@mBfAgADg@eAaFaE`EeCmEfEaHz@Y|VlhAbBrCPrAE|KbEDa@xz@K|VUh]NTlWXKn\\nQRo@tzAM|l@l@h@g@bFMpEtA^|@~D^d@pONIjQY?X??p@GxQ[hw@vRVGfQfCD?hVlCm@Z`BfAxB`DyD`ASH{@`CoB`@{@QmB_@q@@iAq@iAy@e@kAkCjAjCx@d@p@hAAhA^p@PlBa@z@aCnBIz@aARaDxDgAyB[aBmCl@?iVgCEFgQyACPid@HwRtKI~Cu@jO{GhCWfDVjFjCvD|ErC|Hp@xGYwDPcBbCiFb@wAOMn@cBpJwUPyLxPAhc@HbMNp@\\qCjOqEhWcA_@_BlAuACtAB~AmAbA^pEiWpCkO}Ao@}DB@uQBij@@aJDqf@a@C?k@O@Dy`@B}h@Ns_@pMPDyG`@?a@?ExGqMQHeQNsRyIIS^]?Yc@}DKsBy@{AwBo@aCQgEtAuP?iBa@oD_A_CkAoAwAk@sEMoBPsB|@_V`PN_XJm[gPSBeHCdHyHKsJvLoB{GY?@zGa@LeAC}@k@sBsER~HqB{@yGIq^c@kHMiDCcW]VwXM}A{@wB}AyAiE_HtBaFUh@`CtCo@hAK`Bc@n@rBpC{@~FG|ImBByBrBj@zAArUQ]sFUqBcA_BeCqVihAsE_I_BmCiNtVyLjTaJqOyEnI",
"laps": [],
"splits_metric": [
{
"split": 1,
"distance": 1000.1,
"elapsed_time": 114,
"moving_time": 114,
"elevation_difference": -15,
"average_speed": 8.77,
"average_heartrate": 119.4
},
{
"split": 2,
"distance": 1000.8,
"elapsed_time": 118,
"moving_time": 118,
"elevation_difference": 1.3,
"average_speed": 8.48,
"average_heartrate": 143.4
},
{
"split": 3,
"distance": 1004.7,
"elapsed_time": 129,
"moving_time": 129,
"elevation_difference": -0.9,
"average_speed": 7.79,
"average_heartrate": 145.1
},
{
"split": 4,
"distance": 997.1,
"elapsed_time": 112,
"moving_time": 112,
"elevation_difference": -3.4,
"average_speed": 8.9,
"average_heartrate": 149
},
{
"split": 5,
"distance": 1001.9,
"elapsed_time": 143,
"moving_time": 143,
"elevation_difference": 7,
"average_speed": 7.01,
"average_heartrate": 154.3
},
{
"split": 6,
"distance": 1000,
"elapsed_time": 114,
"moving_time": 114,
"elevation_difference": -2.2,
"average_speed": 8.77,
"average_heartrate": 145.1
},
{
"split": 7,
"distance": 1002.2,
"elapsed_time": 115,
"moving_time": 115,
"elevation_difference": -3.7,
"average_speed": 8.71,
"average_heartrate": 145.9
},
{
"split": 8,
"distance": 993.6,
"elapsed_time": 201,
"moving_time": 201,
"elevation_difference": 41.3,
"average_speed": 4.94,
"average_heartrate": 162.4
},
{
"split": 9,
"distance": 1006,
"elapsed_time": 181,
"moving_time": 181,
"elevation_difference": 26.7,
"average_speed": 5.56,
"average_heartrate": 159.4
},
{
"split": 10,
"distance": 995.6,
"elapsed_time": 150,
"moving_time": 150,
"elevation_difference": 17.5,
"average_speed": 6.64,
"average_heartrate": 158.7
},
{
"split": 11,
"distance": 1001.7,
"elapsed_time": 160,
"moving_time": 160,
"elevation_difference": 22.4,
"average_speed": 6.26,
"average_heartrate": 164.3
},
{
"split": 12,
"distance": 1004,
"elapsed_time": 104,
"moving_time": 104,
"elevation_difference": -17.1,
"average_speed": 9.65,
"average_heartrate": 150.7
},
{
"split": 13,
"distance": 996.7,
"elapsed_time": 88,
"moving_time": 88,
"elevation_difference": -23.1,
"average_speed": 11.33,
"average_heartrate": 141.2
},
{
"split": 14,
"distance": 997.1,
"elapsed_time": 144,
"moving_time": 144,
"elevation_difference": 14.3,
"average_speed": 6.92,
"average_heartrate": 156.5
},
{
"split": 15,
"distance": 1001.2,
"elapsed_time": 104,
"moving_time": 104,
"elevation_difference": -11.3,
"average_speed": 9.63,
"average_heartrate": 148.6
},
{
"split": 16,
"distance": 1007.6,
"elapsed_time": 78,
"moving_time": 78,
"elevation_difference": -46,
"average_speed": 12.92,
"average_heartrate": 141.5
},
{
"split": 17,
"distance": 994.2,
"elapsed_time": 125,
"moving_time": 125,
"elevation_difference": 3.5,
"average_speed": 7.95,
"average_heartrate": 147
},
{
"split": 18,
"distance": 997.2,
"elapsed_time": 112,
"moving_time": 112,
"elevation_difference": -9.5,
"average_speed": 8.9,
"average_heartrate": 146.7
},
{
"split": 19,
"distance": 998.7,
"elapsed_time": 167,
"moving_time": 167,
"elevation_difference": 21.6,
"average_speed": 5.98,
"average_heartrate": 155.5
},
{
"split": 20,
"distance": 1004.2,
"elapsed_time": 150,
"moving_time": 150,
"elevation_difference": 12.6,
"average_speed": 6.69,
"average_heartrate": 160.2
},
{
"split": 21,
"distance": 997.4,
"elapsed_time": 125,
"moving_time": 125,
"elevation_difference": 4.7,
"average_speed": 7.98,
"average_heartrate": 154.2
},
{
"split": 22,
"distance": 1005.9,
"elapsed_time": 123,
"moving_time": 123,
"elevation_difference": 1.8,
"average_speed": 8.18,
"average_heartrate": 154.1
},
{
"split": 23,
"distance": 1001.6,
"elapsed_time": 103,
"moving_time": 103,
"elevation_difference": -11.9,
"average_speed": 9.72,
"average_heartrate": 148.1
},
{
"split": 24,
"distance": 991.1,
"elapsed_time": 163,
"moving_time": 163,
"elevation_difference": 19.9,
"average_speed": 6.08,
"average_heartrate": 160.5
},
{
"split": 25,
"distance": 1000.2,
"elapsed_time": 125,
"moving_time": 125,
"elevation_difference": 4,
"average_speed": 8,
"average_heartrate": 161.6
},
{
"split": 26,
"distance": 1005.8,
"elapsed_time": 81,
"moving_time": 81,
"elevation_difference": -36.5,
"average_speed": 12.42,
"average_heartrate": 144
},
{
"split": 27,
"distance": 999.3,
"elapsed_time": 86,
"moving_time": 86,
"elevation_difference": -30.7,
"average_speed": 11.62,
"average_heartrate": 136.7
},
{
"split": 28,
"distance": 995.8,
"elapsed_time": 115,
"moving_time": 115,
"elevation_difference": -7.8,
"average_speed": 8.66,
"average_heartrate": 135.8
},
{
"split": 29,
"distance": 1006.1,
"elapsed_time": 125,
"moving_time": 125,
"elevation_difference": 3.1,
"average_speed": 8.05,
"average_heartrate": 159.2
},
{
"split": 30,
"distance": 997.1,
"elapsed_time": 147,
"moving_time": 147,
"elevation_difference": 17.5,
"average_speed": 6.78,
"average_heartrate": 163.8
},
{
"split": 31,
"distance": 1001.3,
"elapsed_time": 136,
"moving_time": 136,
"elevation_difference": 6.6,
"average_speed": 7.36,
"average_heartrate": 163.6
},
{
"split": 32,
"distance": 416.9,
"elapsed_time": 43,
"moving_time": 43,
"elevation_difference": -6.8,
"average_speed": 9.7,
"average_heartrate": 150.9
}
],
"segment_efforts": [],
"best_efforts": [],
"streams": "/streams/demo-0216.json",
"external_id": null,
"synced": {
"summary": "2026-09-06T17:15:57.000Z",
"detail": "2026-09-06T17:15:57.000Z",
"streams": "2026-09-06T17:15:57.000Z"
}
}