Belangrijkste conclusie
Dit artikel test de nauwkeurigheid van de hoogtemeters van Stryd, niet de nauwkeurigheid van Stryd voor tempo, afstand of vermogen. Bij herhaalde trapbeklimmingen op de Kwintelooijen bleek Stryd, vergeleken met AHN4-hoogtedata als referentie, de totale hoogtestijging te laag in te schatten. In de test van april registreerde de activiteit met de Stryd-pod 1.641 m tegenover 2.181,82 m volgens AHN4, dus ongeveer 25% te laag.
Hoe betrouwbaar zijn de hoogtegegevens?
Om specifiek wat hoogtemeters te kunnen maken, ben ik onder andere een aantal keer bij de trap in het natuurgebied Kwintelooijen geweest. Het mooie hieraan is dat het recht omhoog, en weer recht omlaag gaat. Dat maakt het makkelijk om te gebruiken als meetpunt voor de betrouwbaarheid van de hoogtemeters: je neemt simpelweg het verschil tussen het hoogste en het laagste punt.



Ik draag een Garmin Fenix 8 (43 mm) amoled horloge en de Stryd Duo footpods als combinatie waarmee ik opneem. Activiteiten laat ik vervolgens synchroniseren naar Strava en Stryd. Als ik de hoogte data van Garmin, Strava en Stryd in een tabel zet dan krijg je het volgende.
| 15-02-2025 | 13-04-2025 | |
|---|---|---|
| Garmin fenix 8 software | Versie 12.38 | Versie 13.35 |
| Aantal keer de trap | 30 x | 59 x |
| Stijging volgens Garmin | 1.049 meter | 2.071 meter |
| Stijging volgens Strava | 1.049 meter | 2.071 meter |
| Stijging volgens Stryd | 870 meter | 1.823 meter |


Oftewel, volgens Stryd heb ik helemaal niet de verticale afstand gehaald die ik dacht te halen op basis van de gps! Wie heeft er nu gelijk?
Gelukkig hebben we in Nederland een erg nauwkeurig DSM (Digital Surface Model, dit is de maaiveld hoogte) in de vorm van AHN (Actueel Hoogtebestand Nederland). Als ik deze trap hierop plot, met behulp van AHN4 dan krijg ik het volgende. Zie deze link https://viewer.ahn.nl/AHN4/DTM/…. Op dit moment wordt AHN versie 5 gemaakt, die is voor Kwintelooijen nog niet beschikbaar dus AHN4 is de meest recente en meest nauwkeurige hoogtedata die beschikbaar is.

Hieruit blijkt een hoogteverschil van 50,88 – 13,90 = 36,98 meter. Met deze data kunnen we de tabel verder aanvullen.
| 15-02-2025 | 13-04-2025 | |
|---|---|---|
| Garmin fenix 8 software | Versie 12.38 | Versie 13.35 |
| Aantal keer de trap | 30 x | 59 x |
| Stijging volgens Garmin | 1.049 meter | 2.071 meter |
| Stijging volgens Strava | 1.049 meter | 2.071 meter |
| Stijging volgens Stryd | 870 meter | 1.823 meter |
| Stijging volgens AHN4 | 1.109,4 meter | 2.181,82 meter |
| Afwijking Garmin t.o.v. AHN4 | -60,4 meter | -110,82 meter |
| Afwijking Stryd t.o.v. AHN4 | -239,4 meter | -358,82 meter |
| Afwijking Stryd t.o.v. Garmin | -179 meter | -248 meter |
| Verhouding afwijking Stryd t.o.v. afwijking Garmin | 3,964 x | 3,238 x |
Conclusie: Stryd wijkt 3 tot 4 keer meer af van de werkelijkheid voor hoogtemeters dan de gps data van Garmin in deze 2 gevallen!
Het is mij eerlijk gezegd niet duidelijk of Stryd zich alleen op gps data baseert, waar ze een onjuist correctie algoritme overheen leggen, of dat ze daadwerkelijk de pods gebruiken om hoogtedata te berekenen. Wel goed om te vermelden is dat de horizontale afstand van Garmin, Strava en Stryd wel bijna identiek is.
| 15-02-2025 | 13-04-2025 | |
|---|---|---|
| Garmin fenix 8 software | Versie 12.38 | Versie 13.35 |
| Aantal keer de trap | 30 x | 59 x |
| Afstand volgens Garmin | 12,51 km | 25,07 km |
| Afstand volgens Strava | 12,50 km | 25,07 km |
| Afstand volgens Stryd | 12,50 km | 25,07 km |
Ik heb de vraag bij Stryd neergelegd waarom dit grote verschil in hoogtemeters kan ontstaan. Er bestaat een Stryd artikel over dit onderwerp die eigenlijk niet zoveel zegt. Ze verwijzen daar naar een interessant artikel van gpsvisualizer.com, om vervolgens te zeggen dat ze deze methoden niet gebruiken.
Met 2 activiteiten van 1 gebruiker op 1 locatie begrijp ik dat dit niet alle cases van een algoritme kan dekken. Aan de andere kant heb je juist precies een verzameling van dit soort concrete gevallen nodig om verbeteringen te kunnen doen.
Update 1
Er kwam vrij vlot antwoord van Stryd waarin ze stellen:
- Hoogte data van de pods wordt niet gebruikt wanneer je een activiteit via een Garmin horloge opneemt.
- Stryd importeert de activiteit en neemt de hoogtemetingen hieruit over, dus ze pakken wat mijn horloge heeft opnemen.
- Stryd past geen correctie algoritme toe (in dit geval) op die geïmporteerde data.
- PowerCenter geeft slechts de per-seconde hoogtemetingen weer uit het activiteitenbestand en aggregeert om het totaal weer te geven.
- Verder verwezen ze naar dit artikel van Garmin – How do I Change the Elevation Source in Garmin Connect?
Ik weet dat mijn horloge een barometrische hoogtemeter heeft en inderdaad, als ik de activiteit in Garmin Connect open dan kan ik bij hoogtebron kiezen uit ‘Je toestel’ of ‘Professionele enquêtegegevens’. Deze beide waarden kan ik nu ook opnemen in de tabel door de Garmin regel te splitsen.
| 15-02-2025 | 13-04-2025 | |
|---|---|---|
| Garmin fenix 8 software | Versie 12.38 | Versie 13.35 |
| Aantal keer de trap | 30 x | 59 x |
| Stijging volgens Garmin (toestel) | 1.049 meter | 2.071 meter |
| Stijging volgens Garmin (enquête) | 919 meter | 1.851 meter |
| Stijging volgens Strava | 1.049 meter | 2.071 meter |
| Stijging volgens Stryd | 870 meter | 1.823 meter |
| Stijging volgens AHN4 (ground truth) | 1.109,4 meter | 2.181,82 meter |
| Afwijking Garmin (toestel) t.o.v. AHN4 | -60,4 meter | -110,82 meter |
| Afwijking Garmin (enquête) t.o.v. AHN4 | -190,4 meter | -330,82 meter |
| Afwijking Stryd t.o.v. AHN4 | -239,4 meter | -358,82 meter |
| Afwijking Stryd t.o.v. Garmin (toestel) | -179 meter | -248 meter |
| Afwijking Stryd t.o.v. Garmin (enquête) | -49 meter | -28 meter |
| Verhouding afwijking Stryd t.o.v. afwijking Garmin (toestel) | 3,964 x | 3,238 x |
| Verhouding afwijking Stryd t.o.v. afwijking Garmin (enquête) | 0,947 x | 0,985 x |
Nu is de vraag: wat zit er nu daadwerkelijk in een activiteit bestand (.fit bestand)? Laten we erin duiken. Ik gebruik fitfileviewer.com om de details te bekijken van mijn activiteit in april. Onder ‘Activities Metrics’ is in de kolom ’total ascent’ een stijging van 2.071 meter te zien. Dit is het getal dat Garmin en Strava gebruiken voor deze activiteit, en dit is ook het dichtste bij het werkelijke getal van 2.181,82 meter. Dus waarom gebruikt Stryd dit getal ook niet? Ik heb werkelijk geen idee.

Ok, wat voor data hebben we nog meer? De daadwerkelijk per-seconde data zit in zowel ‘Record’ als ‘GPS Metadata’. Beide reeksen bevatten het veld ‘enhanced altitude’. Het eerste wat opvalt is dat ze op een verschillende waarde starten (maar wel op dezelfde timestamp). Dan is de tweede vraag hoe hoogteverschillen hieruit afgeleid kunnen worden. Is een positief verschil van een regel ten opzichte van de vorige een stijging en een negatief verschil een daling? Het derde wat ik zie is dat de hoogte die geregistreerd wordt binnen ‘GPS Metadata’ niet met dezelfde waarden verandert als die binnen ‘Record’.

Een plot met beide data reeksen.

Zeker als je inzoomt dan wordt het nog duidelijker dat de beide reeksen echt verschillen. Dus welke van de twee reeksen moeten we gebruiken?

Ik heb wat C# code geschreven om beide series te analyseren. Deze code neemt de som van de hoogteverschillen.
using System.Globalization;
using CsvHelper.Configuration;
const string gpsMetadataFilePath = "/Users/dirk-janmeijer/Downloads/18816702726_ACTIVITY-gps_metadata.csv";
const string recordFilePath = "/Users/dirk-janmeijer/Downloads/18816702726_ACTIVITY-record.csv";
using var gpsMetaDataReader = new StreamReader(gpsMetadataFilePath);
using var recordDataReader = new StreamReader(recordFilePath);
var config = new CsvConfiguration(CultureInfo.InvariantCulture);
var usCultureInfo = new CultureInfo("en-US");
using var gpsMetadataCsv = new CsvHelper.CsvReader(gpsMetaDataReader, config);
using var recordCsv = new CsvHelper.CsvReader(recordDataReader, config);
var gpsMetadataItems = gpsMetadataCsv.GetRecords<dynamic>().ToArray();
var recordItems = recordCsv.GetRecords<dynamic>().ToArray();
var (gpsMetadataElevationGain, gpsMetadataElevationLoss) = GetElevation(gpsMetadataItems);
var (recordElevationGain, recordElevationLoss) = GetElevation(recordItems);
Console.WriteLine($"GPS Metadata: {gpsMetadataElevationGain.ToString("#,##0.00", usCultureInfo)} elevation gain, {gpsMetadataElevationLoss.ToString("#,##0.00", usCultureInfo)} elevation loss");
Console.WriteLine($"Record: {recordElevationGain.ToString("#,##0.00", usCultureInfo)} elevation gain, {recordElevationLoss.ToString("#,##0.00", usCultureInfo)} elevation loss");
return;
(decimal elevationGain, decimal elevationLoss) GetElevation(dynamic[] items)
{
var elevationGain = new List<decimal>();
var elevationLoss = new List<decimal>();
foreach (var tuple in items.Zip(items.Skip(1)))
{
var firstEnhancedAltitude = GetEnhancedAltitude(tuple.First);
var secondEnhancedAltitude = GetEnhancedAltitude(tuple.Second);
var difference = Math.Abs(firstEnhancedAltitude - secondEnhancedAltitude);
if (firstEnhancedAltitude > secondEnhancedAltitude)
{
elevationGain.Add(difference);
}
else
{
elevationLoss.Add(difference);
}
}
return (elevationGain.Sum(), elevationLoss.Sum());
decimal GetEnhancedAltitude(dynamic row) => decimal.Parse(row.enhanced_altitude);
}GPS Metadata: 3,657.20 elevation gain, 3,662.20 elevation loss
Record: 2,151.20 elevation gain, 2,155.60 elevation lossZoals te zien zit er een heel groot verschil in beide reeksen. De punten binnen ‘GPS metadata’ vertonen veel springerige afwijking en dus telt dit onterecht veel stijging en daling mee. Maar, geen van beide is de 1.823 meter die Stryd rapporteert, of de 1.851 die Garmin (enquête) zegt.
Op dit punt wordt het wel erg vaag wat Stryd bedoelt als ze zeggen dat ze “de gegevens rechtstreeks vanuit het activiteitenbestand tonen van de per-seconde informatie”. Zijn er andere data punten in het activiteit bestand dat ik over het hoofd zie? Is mijn analyse of de code verkeerd? Ik weet het niet. Ofwel Stryd doet simpelweg een DSM lookup (met welk model?) gegeven de gps lat/long coordinaten, or ze leiden de hoogtemeters stijging en daling op een andere manier af dan de methode die ik hierboven in de code heb gebruikt. Ik gok dat het de eerste optie is.
Update 2
Ok, nu wordt het echt interessant want ik realiseerde me zojuist dat de Stryd pods zelf ook activiteiten opnemen, zelfs als je via Garmin opneemt. Deze activiteiten kun je van de pods afhalen en synchroniseren binnen je Stryd account. Omdat mijn activiteiten al via Garmin in mijn Stryd account gesynchroniseerd waren ontstaan er dus dubbele activiteiten. Maar het mooie is dat ik dus ook de originele Stryd data heb en echt antwoord kan geven op de vraag hoe betrouwbaar de hoogte data van Stryd is! De Stryd foot pods hebben namelijk maar 1.641 hoogtemeters geregistreerd tijdens mijn activiteit in april! In werkelijkheid zou dit dus volgens de AHN data 2.181,82 meter moeten zijn.

Helaas heb ik het loopje van februari niet meer van de Stryd pods zelf. Ik denk dat ik deze een keer eerder gesynchroniseerd heb en meteen ontdubbeld (dus verwijderd). De tabel kan ik nog een keer aanvullen, dit keer door de regel van Stryd te splitsen in die met de geïmporteerde activiteit en die van de Stryd pods zelf.
| 15-02-2025 | 13-04-2025 | |
|---|---|---|
| Garmin fenix 8 software | Versie 12.38 | Versie 13.35 |
| Aantal keer de trap | 30 x | 59 x |
| Stijging volgens Garmin (toestel) | 1.049 meter | 2.071 meter |
| Stijging volgens Garmin (enquête) | 919 meter | 1.851 meter |
| Stijging volgens Strava | 1.049 meter | 2.071 meter |
| Stijging volgens Stryd, geïmporteerde activiteit van Garmin | 870 meter | 1.823 meter |
| Stijging volgens Stryd pods | 1.641 meter | |
| Stijging volgens AHN4 | 1.109,4 meter | 2.181,82 meter |
| Afwijking Garmin (toestel) t.o.v. AHN4 | -60,4 meter | -110,82 meter |
| Afwijking Garmin (enquête) t.o.v. AHN4 | -190,4 meter | -330,82 meter |
| Afwijking Stryd pods t.o.v. AHN4 | -540,82 meter | |
| Afwijking Stryd pods t.o.v. Garmin (toestel) | -430 meter | |
| Afwijking Stryd pods t.o.v. Garmin (enquête) | -210 meter | |
| Verhouding afwijking Stryd pods t.o.v. afwijking Garmin (toestel) | 4,88 x | |
| Verhouding afwijking Stryd pods t.o.v. afwijking Garmin (enquête) | 1,63 x |
Conclusie: Tijdens mijn loopje in april met 2.181 hoogtemeters, logden de Stryd pods slechts 1.641 hoogtemeters. Dit zit er dus 25% naast!
Voor de duidelijkheid, ik vind hardlopen op vermogen fijn en denk dat Stryd en de Stryd foot pods hier heel geschikt voor zijn. Ze maken het makkelijk om het juiste tempo aan te houden, geven nauwkeurig race voorspellingen en Stryd is in z’n algemeen gewoon een goed product. Het enige punt is dat ze gemaakt lijken te zijn voor de horizontale wereld, niet voor de verticale.
Update 3
Het genoemde Stryd article is offline gehaald. Uiteraard kunnen we deze nog steeds bekijken op https://web.archive.org/web/20241210152803/https://help.stryd.com/en/articles/9010691-elevation-elevation-gain-and-stryd. Ik hoop dat dit betekent dat er binnenkort een nieuwere versie van online wordt gezet die preciezer en duidelijker omschrijft hoe Stryd nu precies met hoogte omgaat.

Leave a reply