Matoro Moto

The sky is the limit

Garmin Extensions

Ich hatte da einen schönen Track durch die Pyrenäen bekommen, den ich mir gerne auf motoplaner.de angesehen hätte. Leider war das .gpx file mit knapp 3mb viel zu groß. Problem : den meisten Platz verbrauchten die Garmin Extensions. Wie bekommt man nun die Extensions aus dem .gpx file ?

gpsbabel

Erster Versuch : gpsbabel. Es ist mir aber nicht gelungen eine Commandline zusammenzustellen, die die extensions löscht (das Herumspielen mit der garminextensions Option hat mich irgendwie nicht weitergebracht – wer eine Lösung weiß, bitte melden).

xmlstarlet

Zweiter Versuch : xmlstarlet. Da kann man ja prinzipiell per xpath auch Elemente löschen. xmlstarlet ist aber ziemlich pedantisch was die Namespace Behandlung angeht. Prinzipiell ja durchaus richtig, für den Quicky zwischedurch aber lästig.

gpsbabel

Also wieder zurück zu gpsbabel. gpsbabel versteht ja auch ein ziemlich simples .csv Format. Man kann den Track zunächst in ein .csv verwandeln, und das erhaltene .csv dann in ein .gpx zurückverwandel. Die Waypoints des .csv müssen dann zunächst in einen Track umgewandelt und dann gelöscht werden.

Insgesamt sieht das dann so aus :

gpsbabel -i gpx -f in.gpx -o csv -F tmp.csv
gpsbabel -i csv -f tmp.csv -x transform,trk=wpt -x nuketypes,waypoints -o gpx -F out.gpx

Und schon hat man einen ganz simplen kleinen Track. In meinem Beispiel konnte so einfach die Dateigröße von 3582541 auf 511333 bytes, also auf ca. 1/6, geschrumpft werden. Das frisst dann auch der motoplaner.

Oder als simples Linux-Script

gpsbabel -i gpx -f $1 -o csv -F tmp.csv
gpsbabel -i csv -f tmp.csv -x transform,trk=wpt -x nuketypes,waypoints -o gpx -F $2
rm tmp.csv

Sollte der Track danach immer noch zu groß sein (wie z.B. beim Italien-Track vom Trans Euro Trail kann man den Track auch noch vereinfachen :

gpsbabel -r -i gpx -f out.gpx -x simplify,count=10000 -o gpx -F small.gpx

Weiter Beitrag

Zurück Beitrag

Kommentar verfassen

© 2024 Matoro Moto

Thema von Anders Norén