• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

linux: PQ mit gpsbabel und gpxrewrite aufs GPS

chaos_

Geocacher
Hallo,
ich habe mir mal nen Shellscript gebastelt, das mir
- ne PQ entpackt
- mit gpx rewrite den namen und die Info anpasst
- mittels sed ungültige zeichen im GPX löscht und
- das ganze per gpsbabel auf den GPSr ( hier Garmin Vista Hcx) überträgt
Aufruf: transferpq.sh [pqname].zip
Benötigte pakete: unzip, gpsbabel und gpxrewrite aus dem paket gpx_tools

Code:
#! /bin/bash
## transferpq.sh
unzip -o $1 -d ~/temp/
bname=`basename $1`
len=`expr length $bname` #len = länge vom original
len2=`expr $len - 4` #len2 = länge von der extension
x=${bname:0:len2} #x = original von vorletzter zahl bis ende
#echo $bname
#echo $x # x ausgeben
echo ++ converting ...
gpxrewrite /etc/gpxrewrite.conf ~/temp/$x.gpx ~/temp/out.gpx
echo ++ replacing invalid strings ...
sed 's/\xc3</</g' ~/temp/out.gpx > ~/temp/a_out.gpx
echo ++ transfer ...
gpsbabel -i gpx -f ~/temp/a_out.gpx -o garmin,snlen=14 -F usb:
echo ++ cleanup ...
rm ~/temp/a_out.gpx
rm ~/temp/out.gpx
rm ~/temp/$x*.gpx
rm ~/temp/$x-wpts.gpx
echo ++ done

die datei /etx/gpxrewrite.conf (muss erzeugt werden) sieht bei mir so aus:
Code:
# Der Name von Wegpunkten ist bei dem eTrex Legend HCx auf 14 beschränkt:
Waypoint_Max_Length=14
# Die Beschreibung kann immerhin 30 Zeichen lang sein.
Desc_Max_Length=30

# Das Format für den Wegpunkt-Namen: C[ID-Nummer] [Größe] [Schwierigkeit]/[Terrain]
Waypoint_Format=%I %s %d/%t

# Das Format für die Beschreibung: [GC-Name] by [Eigentümer]
Desc_Format=%N/%H

eine Beschreibung der datei gibt es hier

viel Spass
chaos
 
Hi,

interesante Sache.
Ich habe das Script ein weinig nach meinen Bedürfnissen angepasst.
Was ich aber noch nicht gerafft habe, wie mit gpxrewrite das angezeigte Icon angepasst werden kann(Also Tradi/Multi...).

Ich weiß, das tool ist nicht von dir, aber vll. hast du ne Idee?
Das würde die Anwendung nämlich perfekt machen:)


Gruß

Frank
 
OP
chaos_

chaos_

Geocacher
das waren diverse Sonderzeichen bei denen der Transfer mit GPS Babel abgestürtzt ist. das ist aber eigentlich bei richtiger Konfig von GPSrewrite nicht mehr nötig , da man dort jetzt die zulässigen Zeichen definieren kann:
Code:
Desc_Allowed_Chars=+-
und
Waypoint_Allowed_Chars=!@#$%^&*()

siehe auch http://www.gpxspinner.com/help/options.htm

Ändern der Symbole geht auch über GPXrewrite, einfach mal das sample.ini file ansehen.
siehe auch http://rumkin.com/software/gpx_tools/gpxrewrite.php

speziell den Bereich mit :Found,Not_Found,TYPE_Found,TYPE_Not_Found
 

Deepeis

Geocacher
Ich hab ein wenig gebastelt. Ich wollte ein Script, welches mir aus vielen gpx - Dateien eine macht.

Code:
 #!/bin/sh

    echo ....Entpacke....
    cd ~/PQ
    unzip ‘*.zip’ -d /home/[user]/PQ/Temp/

    echo ....Fasse zusammen....
    cd Temp
    gpsbabel -i gpx $(for f in *.gpx ; do echo -n “-f “$f” ” ; done ) -o gpx -F in.gpx

    echo ....Modifiziere....
    gpxrewrite settings.ini in.gpx /home/[user]/PQ/out.gpx

    echo ....Räume auf....
    rm /home/[user]/PQ/Temp/$*.gpx

    echo ....Fertig....
 
OP
chaos_

chaos_

Geocacher
Danke , das war genau das was ich gesucht habe.

kleine Anmerkung : wenn du aus
Code:
unzip ‘*.zip’ -d /home/[user]/PQ/Temp/

Code:
unzip ‘*.zip’ -d ~/PQ/Temp/

machst bist du immer im Verzeichniss des angemeldeten Users.( das muss natürlich weiter unten im Script auch noch angepasst werden.)

Und gleich noch ne Frage:
Hat gemand ne Idee wie man die WP in dem GPX zählen kann? Leider bekomme ich nicht mit wenn es mehr wie 1000 werden, und somit fehlen mir Punkte auf dem Empfänger
:-(

gruss
Chaos
 

Deepeis

Geocacher
chaos_ schrieb:
Und gleich noch ne Frage:
Hat gemand ne Idee wie man die WP in dem GPX zählen kann? Leider bekomme ich nicht mit wenn es mehr wie 1000 werden, und somit fehlen mir Punkte auf dem Empfänger

Hm, ich habe überlegt die Waypoints mittels gpxinfo zählen zu lassen. Wenn ich nun aus zwei Dateien (*-wtps.gpx und *.gpx) durch gpsbabel eine gpx Datei erzeuge und diese dann mit
Code:
gpxinfo out.gpx
starte bekomme ich eine Fehlermeldung. Ich kann hier nur mit Windoof XP testen. Vielleicht klappt es ja mit Linux. Muss ich heute Abend mal checken.

Ansonsten: Scite, .... einen Editor Deiner Wahl (hier getestet mit Notepad++) und dann [Strg + F] und als Suchstring Waypoint| eingeben. Dann Zählen lassen. Ist ein kleiner Workaround, klappt aber. Ich arbeite aber an einer eleganteren Lösung.

Gruss

Deepeis
 

Deepeis

Geocacher
Kleine Modifikation:

Code:
#!/bin/sh

    echo ....Entpacke....
    cd ~/PQ
    unzip ‘*.zip’ -d /home/[user]/PQ/Temp/

    echo ....Fasse zusammen....
    cd Temp
    gpsbabel -i gpx $(for f in *.gpx ; do echo -n “-f “$f” ” ; done ) -o gpx -F in.gpx

    echo ....Modifiziere....
    gpxrewrite settings.ini in.gpx /home/[user]/PQ/out.gpx

    echo ....Räume auf....
    find -type f -name '*.gpx' -delete

    echo ....Fertig....
 
Oben