Exit

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-202513-04-2025
Garmin fenix 8 softwareVersie 12.38Versie 13.35
Aantal keer de trap30 x59 x
Stijging volgens Garmin1.049 meter2.071 meter
Stijging volgens Strava1.049 meter2.071 meter
Stijging volgens Stryd870 meter1.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.

AHN hoogte data

Hieruit blijkt een hoogteverschil van 50,88 – 13,90 = 36,98 meter. Met deze data kunnen we de tabel verder aanvullen.

15-02-202513-04-2025
Garmin fenix 8 softwareVersie 12.38Versie 13.35
Aantal keer de trap30 x59 x
Stijging volgens Garmin1.049 meter2.071 meter
Stijging volgens Strava1.049 meter2.071 meter
Stijging volgens Stryd870 meter1.823 meter
Stijging volgens AHN41.109,4 meter2.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 Garmin3,964 x3,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-202513-04-2025
Garmin fenix 8 softwareVersie 12.38Versie 13.35
Aantal keer de trap30 x59 x
Afstand volgens Garmin12,51 km25,07 km
Afstand volgens Strava12,50 km25,07 km
Afstand volgens Stryd12,50 km25,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:

  1. Hoogte data van de pods wordt niet gebruikt wanneer je een activiteit via een Garmin horloge opneemt.
  2. Stryd importeert de activiteit en neemt de hoogtemetingen hieruit over, dus ze pakken wat mijn horloge heeft opnemen.
  3. Stryd past geen correctie algoritme toe (in dit geval) op die geïmporteerde data.
  4. PowerCenter geeft slechts de per-seconde hoogtemetingen weer uit het activiteitenbestand en aggregeert om het totaal weer te geven.
  5. 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-202513-04-2025
Garmin fenix 8 softwareVersie 12.38Versie 13.35
Aantal keer de trap30 x59 x
Stijging volgens Garmin (toestel)1.049 meter2.071 meter
Stijging volgens Garmin (enquête)919 meter1.851 meter
Stijging volgens Strava1.049 meter2.071 meter
Stijging volgens Stryd870 meter1.823 meter
Stijging volgens AHN4 (ground truth)1.109,4 meter2.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 x3,238 x
Verhouding afwijking Stryd t.o.v. afwijking Garmin (enquête)0,947 x0,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.

FIT File Viewer

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’.

FIT File Viewer details

Een plot met beide data reeksen.

FIT File Viewer vergelijk overzicht

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

FIT File Viewer vergelijk ingezoomd

Ik heb wat C# code geschreven om beide series te analyseren. Deze code neemt de som van de hoogteverschillen.

C#
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 loss

Zoals 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.

Stryd activiteit details

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-202513-04-2025
Garmin fenix 8 softwareVersie 12.38Versie 13.35
Aantal keer de trap30 x59 x
Stijging volgens Garmin (toestel)1.049 meter2.071 meter
Stijging volgens Garmin (enquête)919 meter1.851 meter
Stijging volgens Strava1.049 meter2.071 meter
Stijging volgens Stryd, geïmporteerde activiteit van Garmin870 meter1.823 meter
Stijging volgens Stryd pods1.641 meter
Stijging volgens AHN41.109,4 meter2.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

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Close
Go top