Cookies voor statistiek en advertenties
We gebruiken cookies voor statistiek en voor advertenties, allebei naar Google. Weigeren verandert niets aan wat je te zien krijgt.Lees de privacypagina
Hier zet je GPX naar CSV om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. De omzetting gebeurt binnen je eigen browser, dus het bestand wordt nooit geüpload. Het werkt hetzelfde op Windows, macOS en Linux als op iPhone en Android, en het blijft werken als je de verbinding verbreekt.
Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.
Ze worden een voor een omgezet en samen in één ZIP gedownload.
GPX naar CSV
Een GPX-bestand is geneste XML. Een track-element bevat een of meer segmenten, elk met een lange lijst trackpunten die breedte- en lengtegraad als attributen dragen en hoogte en tijd als onderliggende elementen. Een spreadsheet kan die nesting niet uitdrukken, dus de omzetting maakt hem plat: elk trackpunt wordt één rij, in de opnamevolgorde, en de structuur erboven overleeft alleen als twee kolommen die zeggen wat voor soort rij het is en hoe die heette.
Dat plat maken is de hele ruil. Je krijgt een tabel die je kunt sorteren, filteren en aan pandas geven; je verliest de mogelijkheid om de oorspronkelijke GPX met zijn groepering terug samen te stellen. Bewaar de GPX als die terugweg ertoe doet. Telt de analyse, dan is de tabel het betere object.
De koprij is type,name,latitude,longitude,elevation,time en er is geen zevende kolom. type is track of waypoint. name is de naam van de track of het waypoint waar de rij bij hoort, herhaald op elke rij zodat filteren op één track zonder opzoekactie werkt.
Snelheid, afstand, stijgingspercentage en tempo ontbreken bewust, ook al zou een omzetter ze allemaal kunnen berekenen. Elk daarvan vereist een afvlakkingskeuze — over hoeveel samples, welke uitschieters negeren — en een waarde die daaruit voortkomt, ziet er in een spreadsheet identiek uit als een gemeten waarde. Afstand tussen opeenvolgende rijen is één rekenregel zodra de tabel voor je ligt.
Een GPX splitst een track in segmenten telkens als de ontvanger het signaal verloor, en die segmentgrenzen worden losgelaten: de punten komen als één doorlopende reeks rijen naar buiten, zodat een rit door een lange tunnel niet stilzwijgend in twee datasets uiteenvalt. Zoek je die gaten toch terug, dan zijn ze zichtbaar als een sprong in de time-kolom.
Routes worden hetzelfde behandeld. Een rte-element is een geplande lijn in plaats van een opgenomen, en de punten verschijnen getypeerd als track. Waypoints zijn anders en komen eerst, getypeerd als waypoint, elk met de naam die het had.
De meeste horloges registreren meer dan positie. Hartslag, cadans, temperatuur en vermogen gaan in een extensions-blok binnen elk trackpunt, meestal onder Garmins TrackPointExtension-naamruimte. De lezer hier neemt breedtegraad, lengtegraad, hoogte en tijd en stopt daar, dus geen van die waarden verschijnt in de CSV.
Dat is de moeite van weten waard voor je een analyse erop bouwt, want de uitvoer oogt compleet. Wil je sensorgegevens, dan levert geen omzetting op deze site die in een tabel — de TCX-route heeft dezelfde beperking. Exporteer de training vanaf het platform dat opnam, dat meestal al een CSV met die kolommen biedt.
Breedte- en lengtegraad worden met precies zes cijfers na de punt geschreven, ongeveer 11 centimeter op de evenaar. Dat is geen rond getal voor de netheid: een gewone gps-ontvanger heeft een positiefout van enkele meters in het open veld, en flink meer onder bomen of tussen gebouwen, dus een zevende en achtste decimaal beschrijven de ontvanger, niet de grond.
Het gevolg: een GPX met punten opgeslagen met de volledige precisie die een double kan bevatten, komt afgerond terug. Voor een opgenomen consumententrack is dat het afronden van ruis. Voor landmeetdata zou het verlies zijn, en daarvoor is deze omzetting niet bedoeld.
Hoogte wordt exact overgenomen zoals de GPX hem schreef, zonder afronding of eenheidsconversie: de specificatie zegt meters boven de WGS84-ellipsoïde, dus 512,4 in het bestand is 512,4 in de cel. Tijdstempels worden ook letterlijk overgenomen — ISO 8601 is al een standaard, en herformatteren zou alleen een eigen mening introduceren.
Handig neveneffect: ISO 8601 sorteert correct als platte tekst, dus sorteren op de time-kolom werkt zelfs in een tool die het niet als datum herkent. Een punt zonder tijdstempel laat de cel leeg in plaats van hem met een nul te vullen.
Twee dingen gaan mis als je een coördinatentabel opent door erop te dubbelklikken. Bij een landinstelling met komma als decimaalteken wordt 48,137154 als tekst gelezen in plaats van als getal, en de hele breedtegraadkolom komt links uitgelijnd en onbruikbaar voor grafieken aan. De time-kolom wordt vaak herinterpreteerd als lokale datum-tijd, wat een UTC-track stilzwijgend een uur of meer verschuift.
Beide voorkom je door te importeren in plaats van te openen: Excels tekstimportassistent laat je de herkomst instellen en kolommen apart markeren. In pandas komt dit probleem niet voor — read_csv leest het bestand direct.
XML betaalt voor zijn structuur in bytes. Bij een synthetische track van 7200 punten met hoogte en tijdstempel op elk punt is de GPX ongeveer 950 KB. Dezelfde punten als CSV zijn ongeveer 500 KB, met niets weggelaten.
Geen van beide getallen is groot genoeg om er iets om te doen — er is geen groottereden om om te zetten. Het gratis plafond hier is 100 MB, en bij 132 bytes per punt bevat een GPX van 100 MB zo’n driekwart miljoen trackpunten.
Het parsen en het schrijven gebeuren allebei in dit tabblad. Geen verzoek stuurt de GPX ergens naartoe, controleerbaar in het netwerkpaneel tijdens een omzetting, en de omzetting werkt met de verbinding uitgeschakeld zodra de pagina geladen is.
Een GPX is geen document over een onderwerp; het is een lijst van de exacte plekken waar je was en de exacte minuten dat je er was. Het eerste en laatste punt van een rit is heel vaak een thuisadres. De CSV is zo mogelijk nog toegankelijker dan de bron, want leesbaar voor iedereen die een spreadsheet kan openen. Bewaar hem waar je de GPX bewaart.
| GPX | CSV | |
|---|---|---|
| Volledige naam | GPS Exchange Format | Comma-Separated Values |
| Bestandsextensie | .gpx | .csv |
| Mediatype | application/gpx+xml | text/csv |
| Voor het eerst gepubliceerd | 2002 | 1972 |
| Uitgegeven door | Topografix | — |
| Specificatie | GPX 1.1 | RFC 4180 |
| Licentie | Open standaard | Open standaard |
| Stand van zaken | Actueel | Actueel |
| Opent in een browser | Geen browser | Geen browser |
| In plaats daarvan overwogen | KML, TCX | XLSX, JSON, Parquet |
De gebruikelijke programma's overlappen niet: GPX open je in Garmin BaseCamp, Strava en QGIS, CSV in Microsoft Excel, LibreOffice Calc en pandas — wie het resultaat krijgt, heeft dus iets uit de tweede rij nodig.
De twee mikken op ander werk: GPX op kaarten en sportregistratie, CSV op gegevens tussen programma’s verplaatsen. Dat is het afwegen waard, want de reden dat het ene bestaat is meestal de reden dat het andere onhandig is.
GPX is het formaat van Topografix, verschenen in 2002. Het is vastgelegd in GPX 1.1, en dat is de moeite waard als het bestand het gereedschap moet overleven dat het schreef.
CSV stamt uit 1972, vastgelegd in RFC 4180. Microsoft Excel, LibreOffice Calc en pandas lezen het formaat.
CSV verscheen in 1972 en GPX in 2002. Het oudste is doorgaans het veiligste bestand om te overhandigen; het nieuwste doet hetzelfde werk met minder bytes.
Nee. Deze omzetting gebeurt volledig in je browser, dus het bestand verlaat je apparaat niet. Je kunt het zelf nagaan: open het netwerktabblad van de ontwikkelaarshulpmiddelen en zet iets om. Je ziet de pagina zelf en de verzoeken voor statistiek en advertenties waarmee deze dienst betaald wordt, en geen enkel verzoek dat je bestand meeneemt.
Ja. Geen account, geen watermerk en geen dagtegoed dat opraakt: het draait op je eigen machine, dus je mag zo vaak terugkomen als je wilt. De browser verwerkt bestanden tot 100 MB, 100 tegelijk.
GPX en CSV beschrijven de inhoud op fundamenteel andere manieren. De omzetting is daarom een reconstructie en geen kopie: getrouw, maar niet byte voor byte identiek. Eén regel per vastgelegd punt. Alles wat het bestand naast positie, hoogte en tijd bevatte, past niet in een tabel.
Voor de omzetting niet: die gebeurt in de browser die je al open hebt staan. Om het resultaat te openen heb je daarna het programma nodig waarmee je apparaat Comma-Separated Values normaal weergeeft.