GPX

Wat is een GPX-bestand?

Het algemene formaat voor tracks en routes. Wat elk gps-horloge en elke wandelapp uitvoert.

Wat GPX is

GPX is een puur tekstformaat dat in elke editor opengaat. Het wordt gebruikt voor kaarten en sportregistratie.

De extensie is .gpx en de volledige naam GPS Exchange Format. Allebei zeggen ze minder dan wat het bestand kan bevatten, en daar gaat de rest van deze pagina over.

Waar GPX vandaan komt

Topografix bracht het in 2002 uit. De specificatie is GPX 1.1.

De leeftijd is om een praktische reden interessant: hoe ouder een formaat, hoe meer programma’s de tijd hebben gehad om het te leren.

De specificatie is openbaar

Ze is volledig gepubliceerd, dus wie het formaat wil uitvoeren kan dat uit het document doen in plaats van door te kijken hoe anderen het doen. Daarom duikt het in zo veel programma’s op, en daarom gaan bestanden van twintig jaar geleden nog steeds open. Openbaar is niet hetzelfde als royaltyvrij: waar een formaat een codec omhult, is de octrooilicentie een aparte vraag waarop de standaard geen antwoord geeft.

Er wordt niets weggegooid

GPX bewaart zijn inhoud precies. Opnieuw opslaan verandert niets, dus je kunt het zo vaak openen, bewerken en wegschrijven als je wilt zonder dat er schade opstapelt — en dat is wat er een werkformaat van maakt in plaats van een afleverformaat.

Wat GPX opent

Garmin BaseCamp, Strava en QGIS lezen het, en de meeste programma’s van dezelfde soort ook.

Als een bestand niet opengaat ligt het zelden aan het formaat — vaker is het programma ouder dan het formaat. Converteren naar iets ouders is de betrouwbare weg eromheen, en daarvoor is de rest van deze site bedoeld.

Het in de browser openen

Geen enkele browser leest het.

Dat is veruit de meest voorkomende reden om het te converteren: niet dat het formaat slecht is, maar dat de plek waar je het bestand wilt tonen het niet kan lezen.

Het is een werkformaat

GPX is bedoeld om te openen en te wijzigen. Houd het bestand in dit formaat zolang het werk loopt, en exporteer eruit wanneer er een afgeronde versie nodig is.

Drie verschillende dingen leven in een GPX-bestand

Waypoints zijn losse gemarkeerde plekken: een parkeerplaats, een top, een waterbron. Een route is een geordende lijst punten die beschrijft waar je heen wilt, zonder tijd. Een track is een opname van waar je daadwerkelijk bent geweest — dichte punten, elk met een tijdstempel.

Het onderscheid tussen route en track veroorzaakt de meeste problemen. Laad een track in een navigatieapparaat dat een route verwacht, en het weigert misschien, of probeert stap-voor-stap instructies te geven langs tienduizend punten. Weten wat je hebt is de eerste vraag, en elke teksteditor beantwoordt die.

Het formaat waar elk apparaat het over eens werd

GPX is XML, stabiel sinds 2004, en het ene formaat dat elk gps-horloge, elke fietscomputer en elke kaartensite zowel leest als schrijft. Die universaliteit is de hele reden dat het bestaat: elke fabrikant had een eigen formaat en gebruikers wilden hun data ergens anders krijgen.

Het is bewust minimaal. Een punt is een breedtegraad, een lengtegraad, en eventueel hoogte en tijd. Al het overige — hartslag, cadans, vermogen — leeft in extensies, een gedefinieerde ontsnappingsroute die verschillende leveranciers verschillend hebben ingevuld.

Activiteiten tussen platforms verplaatsen

Dit is de dagelijkse taak van het formaat. Exporteren uit Strava, Garmin Connect, Komoot, Wahoo of Polar en elders importeren is een GPX-bestand dat ertussen reist, en meestal doen mensen dit omdat ze een platform verlaten.

Het spoor, de tijdstempels en de hoogte reizen betrouwbaar mee. Wat vaak niet meekomt is alles wat het platform erbovenop toevoegde: het activiteitstype, de titel, ronden, de hartslagstroom als die in een leveranciersextensie stond.

Hoogte is het minst betrouwbare getal in het bestand

Een consumenten-gps leidt hoogte af uit satellietgeometrie en is daar slecht in — afwijkingen van tien tot twintig meter zijn gewoon. Apparaten met een barometrische hoogtemeter doen het veel beter, en drijven mee met het weer.

Daarom rekenen platforms opnieuw. De meeste gooien de opgenomen hoogte weg en kijken de route na tegen een eigen terreinmodel, en verschillende modellen zijn het oneens — de volledige verklaring waarom dezelfde rit 640 meter klimmen toont op de ene site en 710 op de andere.

Een route plannen en op een apparaat zetten

Plan op een computer, waar je de kaart goed ziet, exporteer GPX, en laad het op het horloge of de fietscomputer — via de app van de fabrikant of door het bestand te kopiëren terwijl het apparaat als schijf is aangesloten.

Controleer twee dingen vooraf. Puntenaantal: sommige apparaten kappen een route af bij een paar honderd punten. En richting: een GPX heeft een volgorde, en een lus gepland met de klok mee wordt met de klok mee genavigeerd.

Een kapotte opname repareren

Omdat het bestand platte XML is, is behoorlijk veel met de hand te herstellen. Een opname waarbij het horloge te vroeg startte en in de auto bleef lopen heeft een overbodige staart die verwijderd kan worden. Een verkeerde datum is één regel.

Waarmee je voorzichtig moet zijn: de tijdstempels staan in UTC. Ze bewerken om lokale tijd te lijken, produceert een activiteit die intern consistent is en op elk platform het verkeerde uur toont. Verander de punten, niet de klok.

GPX tegenover KML, en wanneer wat juist is

GPX is voor activiteits- en navigatiedata: een track met tijden, een route om te volgen, waypoints om te vinden. Het is het formaat dat apparaten spreken. KML is voor presentatie — placemarks, gestylede lijnen, gekleurde vlakken — en het formaat dat Google Earth spreekt.

Een track omzetten naar KML om op een kaart te tonen is redelijk, en de styling moet toegevoegd worden omdat GPX daar geen begrip van heeft. Andersom omzetten is het controleren waard, want een KML met polygonen heeft veel dat GPX niet kan uitdrukken.

De gegevens, op één plek

Kenmerken en herkomst van het formaat GPX.
Extensie.gpx
Mediatypeapplication/gpx+xml
Uitgegeven doorTopografix
Voor het eerst gepubliceerd2002
SpecificatieGPX 1.1