Etrex legend / gpx output verwerken

Ik ben erg tevreden met mijn Garmin eTrex Legend HCx. Echter, ik mis 1 mogelijkheid wat betreft het opslaan van trackpunten. Ik zou graag de miswijzing ook kunnen opslaan. Volgens mij is dat niet mogelijk.
Weet iemand of dat wel kan en hoe ik dat dan voor elkaar krijg?

Verder staat er op de kaart altijd een cirkeltje rond mijn positie. Volgens mij is dat de grootte van de miswijzing, maar die komt niet altijd overeen met de gegeven miswijzing. Kan iemand mij daar meer over vertellen?

En dan als laatste
Hoe kan ik de gpx output in een csv bestand zetten om verder te verwerken? Bijvoorbeeld om afstanden en tijd tussen punten te bereken, maar ook om alle punten in 1 bestand te zetten. Zijn hier al scripts voor? Op zo’n manier kan ik ook mijn gpx files opschonen. Waar bijvoorbeeld de afgelegede afstand groter is dan x meter of het tijdsverchil groter dan y seconden, moet wat gebeuren.
Om alles in 1 bestand te zetten kan ik ook alle gpx files met cat aan elkaar plakken en de verschillende tags met sed er uit kunnen halen. Heeft iemand hier enige ervaring mee?

Waarom kun je tijdverschillen wel berekenen vanuit een csv file en niet vanuit een gpx file?
(Wat had je dan in zo’n csv file willen zien precies?)

Verder snap ik dan niet dat je dan wel weer een gpx file kunt opschonen.
(Waarbij ik aanneem dat je er dan wat uithaalt op de juiste plaats).

@Michiel Faber, stel je vraag eens op het Waypoint forum: http://forum.gps.nl/ - daar zitten ook heel veel zeer kundige en ervaren mensen. Edward, de maker van het filter- en conversieprogramma WinGDB is de expert als het gaat om de inhoud van gpx, gdb en tcx files.
Misschien is het handig om dan ook wat in meer detail uit te leggen wat je probleem/vraag nu precies inhoudt en wat je ermee wilt bereiken. Ik moet, evenals @greencaps zeggen dat het me niet geheel duidelijk is. Gpx files zijn gewone tekstbestanden in XML opmaak. Het programma Mapsource van Garmin kan o.a. een als gpx ingelezen bestand opslaan als tab-delimited text.

Onder Linux kan je met ‘gpsbabel’ allerlei formaten van en naar elkaar converteren. Van gpx naar csv kan met:

gpsbabel -i gpx -f bestand.gpx -o csv -F bestand.csv

Meerdere gpx-files combineren kan door meerdere “-f bestandsnaam” opties te gebruiken, alle inputbestanden worden dan samengevoegd in het outputbestand. Verder kan gpsbabel op heel veel verschillende manieren filteren, bijvoorbeeld op nauwkeurigheid (hdop-waarde), aantal satellieten, straal rond gegeven punt, enzovoorts.

In een gpx bestand staat alleen de tijd+datum, hoogte en positie.
Hoe haal je daar bvb het aantal satellieten uit?
Of kan dat alleen met de geinstalleerde versie van GPSBabel, tot nu toe gebruik ik af en toe de GPSBabel die bij GPSVisualizer staat.

Alvast dank voor het meedenken.

Ik wil graag al mijn trackpunten in 1 bestand hebben. Dan kan ik bijvoorbeeld mijn gemiddelde snelheid uitrekenen of totale afstand ed. Ook kan ik dan makkelijk punten zoeken die niet aan mijn criteria voldoen. Die zou ik dan uit de oringele gpx kunnen verwijderen. Of wat nog leuker zou zijn is, dat ik volgens mijn criteria, eigen tracks maak. Bijvoorbeeld tracks van elk uur (ik noem maar wat). Of als 2 op een volgende punten in tijd of afstand te ver uit elkaar liggen.

Ik kan zo niet bedenken hoe ik in een gpx bestand zou moeten rekenen. Handmatig kan dat natuurlijk, maar niet automagisch volgens mij.

Gpsbabel leek inderdaad goed te werken; helaas krijg ik daar alleen de coordinaten en de naam van de trackpunten uit en niet de tijd of hoogte.

Verder kan ik niet de afwijzing (hdop) opslaan van mijn gps ontvanger. Is die mogelijkheod er wel met een Garmin Etrex legend?

@Gollem
Het kan wel in een gpx bestand. Zie dit trackpunt.

125.900000 2010-11-09T05:26:59.735Z 151.800003 0.000000 3d 7 1.300000 1.900000 2.200000

en dat trackpoint komt direct uit de etrex?

Gpsbabel heeft veel filteropties en kan ook interpoleren en dergelijke: zie de docs op http://www.gpsbabel.org/htmldoc-1.4.2/Data_Filters.html

@gollem: gpx kan allerlei soorten info bevatten, o.a. hdop (horizontal dilution of precision, de positienauwkeurigheid) en het aantal satellieten dat meegenomen is in de berekening, maar wat er wordt opgeslagen verschilt per ontvanger. De goedkopere dataloggers/gps’en slaan bijvoorbeeld niet de nauwkeurigheid en het aantal satellieten op, zodat het achteraf niet mogelijk is om de onbetrouwbare punten uit de data te filteren.

Voor een custom layout van je csv-file kan je experimenteren met de ‘unicsv’ output-module van gpsbabel: http://www.gpsbabel.org/htmldoc-1.4.2/fmt_unicsv.html

Bij mij lijkt die het overigens niet te doen.

Ik heb een 60CSx en een 78s en die slaan alleen maar tijd, hoogte en positie op, en waren toch best wel prijzig.
Tenzij je resp. 500 en 350 euro goedkoop noemt

@Gollem.

Mijn etrex legend doet ook alleen maar datum+tijd, positie en hoogte :frowning: Ik zou erg graag de miswijzing (hdop/vdop) willen hebben.

@gollem: zo bedoelde ik het niet; ik wilde niet impliceren dat die Garmins goedkoop zijn. Ik doelde eerder op dataloggers, waar je onder de 100 euro bijna niks kan vinden dat meer kan opslaan dat lat+lon+tijd. De cheapo’s hebben vaak minder geheugen en compenseren dat door te beknibbelen op de informatie per punt. Zelfs de duurderen doen het soms fout, zoals de verder zeer fraaie Wintec WBT-202. De Garmins zijn prima outdoor-apparaten van hoge kwaliteit, maar hebben blijkbaar de tekortkoming dat ze geen informatie over de kwaliteit van de meting opslaan. Edit: ze bedienen een andere niche.

Top!

Dat is precies wat ik wil. Alles wordt goed herkend en de csv is mooi ook komma gescheiden. Het aan elkaar knopen gaat mij ook wel lukken.

Bij deze dan de commando’s om het eindresultaat te krijgen. Werkt op een linux gebaseerd systeem met bash, cat, sed en gpsbabel.

Mijn result.csv bestaat nu uit ruim 67000 punten.

Combine all your gpx files into one

cat *.gpx > $temp_file1

remove the first two lines of each original file, containing the header.

sed -n ‘/xml/!p’ $temp_file1 > $temp_file2

remove the ending from each original file, thus the footer

sed -n ‘/gpx/!p’ $temp_file2 > $temp_file3

Append only once a header and footer.

In this header file the xml scheme is defined and its start the <gpx tag.

The footer file only contains .

cat $header_file $temp_file3 $footer_file > $output_file

create from the one file containing all my tracks a nice csv file with lat, lon, altitude, date and time

gpsbabel -t -i gpx -f $output_file.gpx -o unicsv -F result.csv

Werkt deze one-liner niet?

gpsbabel -t -i gpx for i in *.gpx; do echo "-f $i "; done -o unicsv -F result.csv

Helaas niet, met als reden:
Extra arguments on command line

Ik weet (nog) niet wat de foutmelding betekent, maar daar kan ik morgen op google-en.

Hm, dan heb je bestandsnamen met spaties of gekke tekens, en dan werkt het truukje niet meer. Het volgende is minder elegant maar zou ook moeten werken met rare namen:

( for i in *.gpx; do gpsbabel -t -i gpx -f “$i” -o unicsv -F - | tail -n+2; done ) > result.csv

Kort gezegd: converteer alle files een voor een naar unicsv, strip van elke file de header-regel af, en sla de gecombineerde output op in result.csv.