Pagina 1 van 2

GPX bestand onderzoeken

Geplaatst: 29 nov 2021 23:19
door blazez
Ik heb een gps bestand dat geëxporteerd is uit een app (data komt van een workout op een Apple Watch. de watch heeft een tracklog gemaakt en een 3rd party app exporteert dit naar gpx).

Nou probeer ik dit gps bestand in te lezen in Basecamp en daar krijg ik de melding dat het geen geldig gps bestand is. Als ik de gps inlees op andere plekken (bijvoorbeeld JaVaWe Track analyse) dan wordt deze wel zonder problemen ingelezen.
Nou ben ik natuurlijk benieuwd naar WAT er nou aan de gps niet correct is. Indien mogelijk wil ik dat ook nog aan de app bouwer doorgeven. wellicht dat hij/zij er iets mee kan. Of niet natuurlijk als de data die opgeslagen gewoonweg niet klopt. (maar waarom dan alleen basecamp die het niet snapt).

is er een manier om snel/simpel een gpx te valideren ?

Re: GPX bestand onderzoeken

Geplaatst: 29 nov 2021 23:28
door JaVaWa
Ik wist wel een goede validator, maar die is helaas verdwenen en vervangen door een site met veel reclame.
Plaats het gpx-bestand hier, dan zal ik eens kijken. Ik heb er al heel vaak mee gewerkt, waarschijnlijk kan ik zo zien wat eraan mankeert.

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 00:35
door RonalT
De reden dat BaseCamp het niet snapt is dat BC erg strikt inlees. Als het niet aan de juiste format voldoet wordt het niet ingelezen.
JaVaWa doet je een prima voorstel...

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 01:17
door JaVaWa
GPX-bestanden bevatten XML-data en moeten voldoen aan de GPX-standaard: https://www.topografix.com/gpx.asp
In die standaard staat precies omschreven wat er in mag staan, op welke volgorde en welke notatiewijze van de gegevens gebruikt moet worden. Ook moet de juiste tekenset gebruikt worden (dit is van belang zodra je letters met accenten gebruikt) en zijn bepaalde tekens in waardes niet toegestaan: & en < zijn altijd verboden, en afhankelijk van de plaats geldt dat ook voor > en " en '
Nu bevat die standaard wel de mogelijkheid om extra gegevens toe te voegen, dat is met name voor sporttoepassingen van belang (de standaard bevat geen items voor bijv. hartslag of cadans). Er gelden wel strenge eisen aan die mogelijkheid. Alles wat je toevoegt moet vastgelegd worden in een schema, en daar moet naar verwezen worden in het GPX-bestand (in de kop of bij de afzonderlijke items). Je kunt zoiets prima zelf maken, maar het is natuurlijk handiger om mee te liften met van Garmin bedacht heeft; alleen dan worden de extra gegevens ingelezen door BaseCamp. Nu heb ik voor JaVaWa RTWtool voor een bepaald doel een eigen extensie gemaakt. BaseCamp doet weliswaar niets met die gegevens, maar omdat de extensie netjes gedefinieerd is heeft BaseCamp er geen problemen mee.
Een veel voorkomend probleem bij ontwikkelaars is dat ze niet netjes XML "spreken". Het lijkt namelijk veel op HTML, en daar zijn de regels niet zo streng. Bij XML zijn ze dat wèl. Als je bij het inlezen een echte XML-parser gebruikt (zoals Garmin in BaseCamp en MapSource) dan zul je dat ook meteen merken: elk foutje komt aan het licht. Op zich vind ik het goed dat BaseCamp zo streng is; die ontwikkelaars moeten gewoon beter hun best doen. Aan de andere kant: bij mijn online apps zoals de Track Analyser kan ik geen gebruik maken van een echte XML-parser; ik gebruik een andere methode waarbij alleen de relevante delen eruit gevist worden, waarbij eventuele fouten genegeerd worden (tot op zekere hoogte uiteraard).

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 10:23
door blazez
Bedankt voor je uitgebreide tekst. Ik zal zelf ook eens dieper in de file spitten. De RTWtool had ik inderdaad gevonden. Maar die kan ik op m’n laptop niet draaien. Dus ik moet even wachten tot ik weer bij m’n (windows) pc ben daarvoor.
Als je de gpx file eens zou willen bekijken. Ik heb geen optie kunnen vinden hier een bestand te plaatsen, dus ik heb hem even op een eigen site gezet dit is de link
[edit, link weer opgeruimd omdat ik niet goed gekeken heb hoe het bestand te uploaden was]

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 10:28
door QuattroFrits
Als je bij "Snelle reactie", onder aan de pagina, op de knop "Volledige bewerker & voorbeeld" drukt, komen de optie's voor toevoegen tevoorschijn.

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 10:40
door blazez
Dank je wel. niet goed gekeken. Toch nog maar een bak koffie pakken. De gpx file die ik had was te groot om als bijlage toe te voegen. Ik heb dus aan het eind een hele lading trackpoints ( van <trkpt> tot </trkpt> ) weggehaald uit de file. Er staan er nog genoeg in, dus dat zou geen probleem moeten zijn. Vermoedelijk zit het in de header ergens lijkt me.

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 11:04
door hhout
Hierbij de verbeterde file. Omgezet met GPSBabel
gpxfile_2.gpx
(489.89 KiB) 13 keer gedownload

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 11:10
door blazez
Daar is inderdaad Iets aan aangepast. Alleen als ik deze probeer te importeren in Basecamp krijg ik nog steeds "/Documents/gpxfile_2.gpx" is geen geldig GPX bestand en kan niet worden geopend."

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 11:22
door hhout
gpxfile_3.gpx
(160.85 KiB) 12 keer gedownload
Ja, dat is merkwaardig. Ik heb het bestand geopend in Mapsource zonder problemen en in Basecamp lukt het inderdaad niet. Ik heb het bestand dus in Mapsource geopend en als gpxfile_3.gpx gesaved en nu werkt het wel in Basecamp.

Groeten, Henk

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 11:46
door blazez
Dank je wel. ik heb de _3 en de originele file naast elkaar gehouden en vergeleken.
de tracepoints zijn (heel) veel uitgebreider. Daar staan inderdaad heel veel meer gegevens in (Niet nodig voor alleen een tracklog).
Ik ben dus begonnen met de header te vervangen van de niet werkende naar de werkende. Dat maakt niet uit.
Daarna de <metadata> sectie. Zodra ik die vervang is de file niet meer in te lezen.
Stukje bij beetje wat weghalen en vervangen, opslaan en inlezen in basecamp inlezen.

Wat blijkt? Basecamp verslikt zich dus in de lege <link></link> tag. Ik zou persoonlijk ook niet weten waarom je wel een tag gebruikt en die dan leeg laat. Maar zodra ik de link leeg laat importeert hij niet, zodra ik er een webadres inzet (welke dan ook, dat maakt niet uit) dan importeert hij goed.
Probleem dus blijkbaar gevonden. Nu eens contact opnemen met de programmeur om dit voor te leggen.

bedankt voor de duw in de juiste richting.

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 11:47
door JaVaWa
Dit zijn de fouten:
  • Onder het "metadata" element staat een element "link". Deze mist het vereiste attribuut "href" (meest logische is het "link" element gewoon weg te laten)
  • De elementen "speed" en "course" mogen niet worden toegevoegd aan de trackpunten. Dit zijn GPX 1.0 elementen die weggelaten zijn in GPX 1.1 (het bestand is GPX 1.1)
    "hdop" en "vdop" zijn overigens ongebruikelijke toevoegingen, maar zijn wel toegestaan.
  • De laatste is nogal tricky: de waarde voor hartslag mag nooit nul zijn! (is ook vrij ongezond). Als de sensor geen hartslagwaarde doorgeeft moet dat element weggelaten worden in de track, nul invullen mag niet.
De eerste twee fouten zijn verwijderd door GPSBabel, maar de laatste niet. MapSource heeft er geen problemen mee omdat die hartslag- en cadansdata helemaal niet inleest (en dus ook niet controleert of het juist is). Exporteer je de track weer uit MapSource, dan zijn de gegevens ook verdwenen uit de track en kan BaseCamp het inlezen.

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 11:50
door blazez
kijk, dat is nog veel uitgebreider dan mijn ene puntje. Dank je wel. Super

edit, toevoeging.
klopt het dat hartslag de tag "<gpxtpx:hr>75</gpxtpx:hr>" is ?
dus in regel 20 staat een "hr>0"
en die hr=0 mag dus (van basecamp) nooit 0 zijn (ja, omdat je dan redelijk dood bent, dat ook)

Edit:
de originele file even ingekort naar een handvol trackpoints.
- De <link></link> regel verwijderd
- De dode regel 20 (hartslag 0) verwijderd
- per trackpoint de regel met "speed" en "course" verwijderd.
En dan kan de file inderdaad gewoon ingelezen worden in basecamp.
Helaas is het benaderen van de programmeur en nog grotere uitdaging aangezien daar helemaal geen contact details bij de app of op de site te vinden zijn. Een beetje een dood spoor dus.

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 22:19
door blazez
Nog even een extra update in dit verhaaltje gewoon voor het doorredeneren (wie weet heeft iemand er nog eens wat aan terugkijkend).

Vanuit de gezondheidsgegevens kan je blijkbaar ook een export doen van alle data. Hier zitten ook alle workouts in GPX formaat in.
Heel bijzonder is dat in deze gpx file vermeld staat dat het versie 1.1 is. Echter een trackpoint is voorzien van teveel (en foute) gegevens zoals speed en course (die dus niet in 1.1 maar wel in 1.0 zouden mogen).

Een trackpoint ziet er zo uit:
<trkpt lon="5.483372" lat="52.025344"><ele>30.328142</ele><time>2021-11-28T10:33:04Z</time><extensions><speed>16.923347</speed><course>207.146347</course><hAcc>13.118048</hAcc><vAcc>18.857111</vAcc></extensions></trkpt>

De gpx kan dus uiteraard ook niet worden ingelezen in Basecamp. Pas als de "speed","course","hAcc" en "vAcc" tags verwijderd worden kan de gpx ingelezen worden. Dat is te doen voor 1 trackpoint, maar een gpx met honderden trackpoints wordt lastiger.
"link" en de 0 hartslag kan ik niet vinden in de gpx.

Re: GPX bestand onderzoeken

Geplaatst: 30 nov 2021 22:51
door JaVaWa
blazez schreef:
30 nov 2021 11:50
die hr=0 mag dus (van basecamp) nooit 0 zijn
Nee, niet van BaseCamp, maar van de standaard waarin die GPX-extensie is vastgelegd.
blazez schreef:
30 nov 2021 11:50
Helaas is het benaderen van de programmeur en nog grotere uitdaging aangezien daar helemaal geen contact details bij de app of op de site te vinden zijn. Een beetje een dood spoor dus.
Ja, dat is lastig. Het gaat om ene Marcello Mascia, op Twitter waarschijnlijk opererend onder de naam "kishnel". Ik doe niet aan Twitter, dus verder dan dat kom ik niet.
blazez schreef:
30 nov 2021 22:19
die dus niet in 1.1 maar wel in 1.0 zouden mogen
Klopt, maar met 1.0 kun je weer geen extensies gebruiken.
blazez schreef:
30 nov 2021 22:19
"hAcc" en "vAcc"
Die twee ken ik al helemaal niet...

Je GPX-bestand snel ontdoen van rommel kan met deze pagina: https://www.javawa.nl/track2table.html
Dit tooltje is gemaakt om je trackdata te analyseren en/of te bewerken met een spreadsheet. Je kunt echter die stap overslaan en meteen weer de GPX downloaden. Het resultaat is een geldig GPX-bestand dat door BaseCamp ingelezen kan worden.
Er is wel één beperking: hij kan maar een track per bestand aan... Het positieve aspect is dat het tooltje op elk platform werkt en dat het ook snel gebeurd: de data verlaat je computer niet en wordt direct in de browser omgezet.