Zoeken
Translate this page

Begrippen deel 2: bestandsformaten

Op deze pagina gaan we dieper in op de verschillende bestandsformaten die gebruikt worden om routes, tracks, waypoints en koersen op te slaan. Het verhaal zal op een gegeven moment erg technisch worden, maar om precies te begrijpen waarom bijvoorbeeld BaseCamp op een bepaalde manier werkt en waarom dit kan afwijken hoe een toestel daarmee omgaat, is het noodzakelijk om bepaalde zaken tot in detail te beschrijven.

GPX

Het GPX-formaat is een universeel uitwisselingsformaat; niet alleen Garmin gebruikt het, maar ook fabrikanten van andere GPS-toestellen. Het formaat is gebaseerd op de XML-standaard. Je kunt zo'n bestand in een text-editor bekijken. Als je gegevens overzet naar een toestel, wordt daarvoor een GPX-bestand gebruikt.
Een GPX-bestand bevat vaak maar een enkel item (waypoint, route of track), maar het kan ook meerdere van die items in elke mogelijke combinatie bevatten. Aan de naam van het bestand kun je niet zien wat erin zit; die zul je dus eerst moeten openen in BaseCamp of in bijvoorbeeld JaVaWa RTWtool om dat te achterhalen.

GDB

Het GDB-formaat is Garmin-specifiek, en kan in essentie dezelfde zaken bevatten als een GPX-bestand, alleen is het een binair formaat. Toestellen kunnen er niet mee overweg; alleen BaseCamp, MapSource en o.a. JaVaWa RTWtool. Vanwege het binaire formaat zijn GDB-bestanden een stuk kleiner dan GPX-bestanden met dezelfde inhoud. Bij heel grote hoeveelheden gegevens kan BaseCamp het niet aan als die in het GPX-formaat staan, terwijl het met GDB dan nog wel lukt.
Het nadeel van het GDB-formaat is dat het enigszins gedateerd is, en daardoor niet alle gegevens die aan waypoints, routes en tracks gekoppeld kunnen zijn aankan. De belangrijkste daarvan zijn 'zachte' viapunten en cadans- en hartslaggegevens.
BaseCamp gebruikt overigens voor de database een variant van het GDB-formaat (wat wel die extra gegevens kan bevatten).

TCX

Voor trainingtoestellen zoals de Edge en de Forerunner is een apart bestandsformaat bedacht: TCX. In zo'n bestand kunnen activiteiten, koersen en/of workouts staan. Een activiteit bevat allerlei gegevens van je activiteit: tijdsduur, type sport (of sessies met meerdere sporten), hartslag, cadans, vermogen en in het geval van een buitenactiviteit de posities (de tracklog).
Een koers kun je zien als een combinatie tussen track en route: de ligging van de punten is vast, meer je kunt wel richtingaanwijzingen krijgen.
Een workout is een training met een reeks aanwijzingen die je gedurende een bepaalde tijd of afstand moet uitvoeren.

TCX-bestanden zijn net zoals GPX gebaseerd op de XML-standaard, en dus ook met een text-editor te bekijken. Vroeger gebruikte je het programma Garmin Training Center om TCX-bestanden te maken.

FIT

Het FIT-formaat is in de plaats gekomen van het TCX-formaat. Het zijn binaire bestanden en daardoor kleiner dan TCX. Ook zijn de mogelijkheden veel uitgebreider, er kan veel meer specifieke fitness-gerelateerde data in opgeslagen worden. Naast activiteiten, koersen en workouts kunnen er ook bijvoorbeeld waypoints, instellingen en statistieken opgeslagen worden in een FIT-bestand.
Garmin gebruikt geen stand alone computerprogramma meer voor het werken met deze data, ze zijn overgestapt naar de webbased toepassing Garmin Connect en de bijbehorende app. De huidige toestellen ondersteunen draadloze overdracht via de app.
BaseCamp kan FIT-bestanden lezen, maar niet maken of wijzigen.

Het GDB-formaat nader bekeken

Nu gaan we wat dieper in op het GDB-formaat, en omdat BaseCamp dit intern gebruikt, op de consequenties daarvan op het werken met gegevens in het programma.

Een GDB-bestand bevat drie soorten items: punten, routes en tracks. Een punt kan een waypoint zijn, een viapunt, een richtingpunt of een combinatie van waypoint en viapunt. Een viapunt en een richtingpunt kunnen voorzien zijn van afslaginstructies (maar niet altijd; het fijne daarvan heb ik nog niet kunnen achterhalen).

Een route bestaat naast een aantal algemene gegevens uit een reeks verwijzingen naar de eerder genoemde punten, en in een aantal gevallen is er aan zo'n puntverwijzing nog een reeks coördinaten gekoppeld; die coördinaten zijn de autoroutepunten welke de route de wegen netjes laat volgen. Als je bij het maken van een route op een waypoint klikt komt er geen nieuw punt, maar wordt het waypoint 'gepromoveerd' tot viapunt. Bij herberekenen blijven viapunten zoals jij ze geplaatst hebt, richtingpunten en autoroutepunten worden automatisch opnieuw gemaakt.

Een viapunt dat je plaatst op een kaart-POI of op een ander kaartelement (weg, vlak) krijgt de kenmerken van dat kaartelement mee. Behalve naam is dat ook een uniek ID dat alleen voor dat item in die specifieke kaart geldig is. Waypoints krijgen wel de naam, maar niet het ID; in plaats daarvan krijgt het een generiek ID voor waypoints. Plaats je een viapunt niet op een kaartelement, dan zal dit meteen een waypoint worden.

Naamgeving

Elk punt moet een unieke naam hebben, routes en tracks idem (maar je kunt wel één punt, één route en één track met dezelfde naam hebben). Dit betekent dat viapunten ook allemaal een unieke naam moeten hebben; BaseCamp zet er automatisch een 1tje (2tje, 3tje.... etc) erachter als er sprake is van conflicten. Dit kan tot verwarrende situaties leiden: stel dat je een route hebt waarin een viapunt toevallig dezelfde naam heeft als die je voor een waypoint wilt gebruiken: dit gaat niet... Het verwarrende is dat je nergens een waypoint ziet staan met die naam, waardoor het naamgevingsconflict op het eerste gezicht niet verklaarbaar is.

Tracks zijn wat eenvoudiger: algemene gegevens en een reeks van coördinaten, tijdstempel en hoogte welke de trackpunten vormen.

Het GPX-formaat nader bekeken

Het toestel gebruikt echter het GPX-formaat met waypoints, routes en tracks. Er is een strikte scheiding tussen waypoints en punten in een route: je kunt de waypoints uit het GPX-bestand verwijderen (met bijv. JaVaWa RTWtool), zonder dat het routes beïnvloedt. De routepunten zijn opgeslagen in de route zelf; hier is geen sprake van verwijzingen zoals bij het GDB-formaat. Ook is hier de naamgeving niet zo strikt als in BaseCamp: je kunt op het toestel zelf gerust meerdere waypoints met dezelfde naam maken (dit kan mogelijk per model verschillen).

Een route bevat drie soorten punten: <rtept> (viapunten), <rpt> met een <subclass> (richtingpunten) en <rpt> zonder <subclass> (autoroutepunten), waarbij <rpt>'s subitems zijn van een <rtept>. De <subclass> is een afgeleide van het eerder genoemde unieke ID.

Met de introductie van de zūmo 350 is er nog een variant van de <rtept> bijgekomen: het stille/niet aangekondigde viapunt, wat Garmin 'shaping point' of vormpunt noemt. Het is nog steeds een viapunt, alleen dan eentje met een extra kenmerk dat ervoor zorgt dat een zūmo 3x0 of 590 die niet zal afroepen. Voor andere toestellen (zūmo 550, 660, outdoortoestellen) zijn vormpunten identiek aan viapunten, aangezien zij dat extra kenmerk negeren *).

Als je nu BaseCamp instelt om routepunten te laten verwijderen bij verzenden van de route, dan gooit die de viapunten voorzien van dat extra kenmerk weg (de vorm van de route verandert niet omdat er altijd een richtingpunt vlakbij een viapunt staat). Dit kan alleen slagen als het toestel in staat is om een route ongewijzigd over te nemen; voorwaarde daarbij is dat het toestel dezelfde kaart gebruikt. Wordt niet aan een van beide voorwaarden (ongewijzigd kunnen overnemen, zelfde kaart) voldaan, dan zal het toestel de route herberekenen, waarbij alléén de (resterende) viapunten gebruikt worden.

Deze aanpassing van BaseCamp is niets anders dan het klassieke 'ontvlaggen', behalve dan dat je zelf kunt bepalen welke viapunten wel, en welke niet verwijderd moeten worden.
Let op! Als je directe routes maakt, zet dan deze optie in BaseCamp beslist uit. Directe routes bevatten namelijk alleen viapunten; geen richting- en autoroutepunten. Als BaseCamp de (stille) viapunten uit een directe route verwijdert, dan zul je begrijpen dat er niet veel overblijft van je route...

*) Er is nog meer...

In het GPX-bestand dat je met BaseCamp naar het toestel stuurt staat er bij de 'zachte' viapunten een speciaal kenmerk, waaraan een moderne zūmo kan zien dat hij dat punt niet moet aankondigen. Een 550 of 660 heeft nooit geleerd om met dat speciale kenmerk om te gaan, en negeert het daarom simpelweg.

Alle zelfgeplaatste viapunten, maar ook de door BaseCamp toegevoegde richtingpunten bevatten daarnaast een ander kenmerk wat bestaat uit een serie letters en cijfers; de zgn. Subclass. Deze subclass is al heel lang in gebruik. Wat de inhoud precies aangeeft weet alleen Garmin, maar het heeft in ieder geval een relatie met de onderliggende kaart, of preciezer: met het wegsegment waarop het routepunt staat. Hoort de subclass bij een wegsegment waaraan een adres gekoppeld is zullen de 550 en 660 een melding geven; is er geen adres aan gekoppeld, dan niet.

Nu heb ik in het verleden proberen te achterhalen of het mogelijk is om iets te veranderen aan de subclass zodat er geen melding meer komt; dit zou namelijk de ultieme ontvlagmethode opleveren: geen meldingen, maar toch een route die niet vernacheld wordt door herberekenen...
Uiteindelijk heb ik de zoektocht opgegeven en het idee opgevat dat het gewoon niet mogelijk is, en dat de subclass (behoudens wat variaties t.g.v. het type routepunt) een vast gegeven is voor een bepaald wegsegment.

En toen kwam Hans Vaessen met wat experimenten erachter dat het toch niet zo zwart/wit was met die routepunten...
Het blijkt namelijk dat wanneer je een punt op een adres plaatst en het vervolgens 'zacht' maakt, het toch niet aangekondigd wordt. Kijkend naar de inhoud van het GPX-bestand zie je dan dat de subclass toch verandert door het zacht maken. Het was dus in feite al jaren mogelijk om zachte viapunten te verkrijgen i.c.m. de toen gangbare toestellen, alleen heeft Garmin dat nooit ingebouwd in MapSource...
Overigens is dit een onomkeerbaar proces; als je het routepunt weer hard maakt in BaseCamp verandert de subclass niet meer terug, en zal zo'n punt nooit meer aangekondigd worden door een 550/660.

Deze methode lijkt dus ideaal voor bezitters van een 550 of 660 (bij andere toestellen zoals de zūmo 220 en outdoortoestellen werkt het trouwens niet), ware het niet dat het niet optimaal werkt: bij bestaande routes of bij routepunten die je verplaatst hebt lukt het truukje niet; alleen bij nieuw geplaatste routepunten. Daarnaast worden de punten ook weer 'hard' als de route gemaakt was op een andere kaartversie dan die in het toestel zit.

Copyright © 2008-2023 JaVaWa | voorwaarden | contact