GPX naar GeoJSON converteren

Deze converter zet GPX-waypoints, routes en tracks uit een gps-apparaat, Strava of Garmin Connect om naar GeoJSON-objecten, met de hoogte als derde coördinaat en zonder lege GPX-velden. Het bestand wordt in uw browser geconverteerd en wordt niet geüpload. Elke track wordt één MultiLineString, extensies voor hartslag, cadans en vermogen worden niet gelezen, en de tijden van punten blijven alleen bewaard als u elk trackpunt meeneemt.

Is een bestand niet goed omgezet? Mail naar [email protected], liefst met een klein voorbeeldbestand, dan wordt het opgelost.

In het kort

GPX naar GeoJSON: waarom omzetten

GPX is de standaardmanier om een vastgelegde wandeling, fietstocht of hardloopronde uit een gps-apparaat, Strava, Garmin Connect of Komoot te halen. Wilt u die tocht op een Leaflet- of MapLibre-kaart tonen, met D3 een hoogteprofiel tekenen of hem in PostGIS of een andere database laden, dan is GeoJSON het formaat dat u nodig hebt. Deze converter leest de waypoints, routes en tracks in de GPX en schrijft ze als GeoJSON-objecten, met de hoogte van elk punt als derde coördinaat. GPX-bestanden hebben een lange lijst standaardvelden die bijna altijd leeg zijn, zoals magvar, hdop of link2_type; alleen de velden met een waarde worden als attribuut overgenomen, zodat de attributen overzichtelijk blijven. Alles draait in uw browser met GDAL, en het bestand wordt niet geüpload.

Zo zet u GPX om naar GeoJSON

  1. Sleep uw .gpx-bestand naar het vak, of klik om het te kiezen.
  2. Controleer de track op de kaart, en vink het vakje aan als u ook elk trackpunt met zijn tijd wilt.
  3. Klik op “Converteren naar GeoJSON” en download het GeoJSON-bestand, of een zip met één bestand per soort gegevens.

Wat er verandert bij het omzetten

Eén GeoJSON-bestand per soort gegevens

Een GPX kan tegelijk waypoints, routes en tracks bevatten, elk met andere velden. Ze worden aparte bestanden in een zip, met de namen waypoints.geojson, routes.geojson en tracks.geojson. Een bestand met alleen een track, zoals de meeste exports uit Strava of van een horloge, levert één GeoJSON op met de naam van de GPX.

Een track is een MultiLineString

Een GPX-track bestaat uit segmenten, en een nieuw segment begint als de opname werd gepauzeerd of het signaal wegviel. Om die onderbrekingen te bewaren, wordt elke track één MultiLineString-object met een lijn per segment. Een route wordt een enkele LineString en een waypoint een Point.

Hoogte als derde coördinaat

Hoogtes uit de ele-tags worden de derde waarde van elke coördinaat, zoals RFC 7946 toestaat, bijvoorbeeld [5.121, 52.09, 4]. Webkaarten negeren die waarde, maar hij is er voor hoogteprofielen en 3D-weergaven. Punten zonder hoogte houden twee waarden, en de hoogte van waypoints blijft ook bewaard als attribuut ele.

Tijdstempels vragen om de trackpunten

Een lijn in GeoJSON heeft geen plek voor een tijd per punt. Vink “Ook elk trackpunt opnemen” aan voor een extra bestand, track_points.geojson, met één Point-object per vastgelegd punt en zijn tijd, hoogte, tracknummer en segmentnummer als attributen. Dat bestand kan groot worden: een fietstocht van twee uur die elke seconde is vastgelegd, heeft meer dan 7.000 punten.

Apparaatextensies worden niet gelezen

Hartslag, cadans, vermogen en temperatuur die horloges en fietscomputers als extensies bij elk punt opslaan, komen niet in de uitvoer terecht. Namen, beschrijvingen, symbolen en typen van waypoints blijven wel bewaard.

Over de bestandsformaten

GPX

GPX (GPS Exchange Format) is het XML-formaat dat gps-apparaten en -apps zoals Garmin, Strava en Komoot gebruiken. Het slaat waypoints, routes en tracks op, met optionele tijd en hoogte. Versie 1.1 uit 2004, gepubliceerd door TopoGrafix, is de versie die vandaag wordt gebruikt.

  • Een waypoint is één punt; een route is een geplande lijn via een paar punten; een track is het opgenomen pad, vaak duizenden punten.
  • Tracks kunnen bij elk punt een tijdstempel en hoogte hebben.
  • Coördinaten zijn altijd WGS84-breedtegraad en -lengtegraad.
  • GPX heeft een vaste set velden (naam, beschrijving, symbool, type en nog een paar); al het andere moet in extensies.

GeoJSON

GeoJSON is een JSON-tekstformaat voor geografische objecten, in 2016 vastgelegd als RFC 7946. Het is het eigen formaat van webkaarten zoals Leaflet, MapLibre en Mapbox, en van veel API's.

  • Coördinaten zijn WGS84-lengtegraad en -breedtegraad (in die volgorde).
  • Punten, lijnen en polygonen kunnen in één bestand worden gecombineerd.
  • Eigenschappen kunnen elke JSON-waarde zijn, zonder limiet op de lengte van veldnamen.

Veelgestelde vragen

Wordt mijn GPX geüpload?

Nee. Uw browser converteert het bestand op uw eigen apparaat. Er wordt niets naar een server gestuurd, zodat uw thuisadres en trainingstijden privé blijven.

Waarom krijg ik een zip?

Uw GPX bevat meer dan één soort gegevens, bijvoorbeeld waypoints en een track. Elke soort wordt een eigen GeoJSON-bestand. GeoJSON kan punten en lijnen in één bestand combineren, dus u kunt ze later samenvoegen als uw kaart één bestand nodig heeft.

Kan ik de GeoJSON openen in geojson.io of QGIS?

Ja. De uitvoer volgt RFC 7946 met lengte- en breedtegraad in WGS84, wat geojson.io, QGIS, Leaflet, MapLibre en GitHub allemaal kunnen lezen.

En de routepunten?

De punten van een route zijn al de hoekpunten van de routelijn, dus ze worden niet nog eens als aparte objecten geschreven.