[Talk-de] Mapping Workflow mit Garmins nüvi550

Wolfgang osm at kahl-hinsch.de
Sa Jun 27 22:41:20 UTC 2009


Am Freitag, 26. Juni 2009 12:22:28 schrieb Ingo Lantschner:
> Hallo,
> ich hab seit kurzem ein Nüvi550 von Garmin und verwende dieses u.a.
> dafür, um im Zuge von Wanderungen Wegepunkte und Tracks aufzuzeichnen
> sowie diese dann in weiterer Folge in OSM mittels Merkaartor
> einzupflegen. Andere aber ähnliche Anwendung ist, die Tracks und
> verorteten Fotos via OpenLayer auf Webseiten darzustellen [1]. Für
> diesen Schritt habe ich schon ein kleines Werkzeug entwickelt [2].
>
> Was sich als zunehmend störend dabei herausstellt ist, dass bei diesem
> Modell alle Waypoints und Tracks in einer Datei namens Current.gpx
> liegen. Ich habe kein Tool gefunden, mit dem ich diese Datei
> bereinigen kann. Jeder jemals gesetzte Punkt bleibt dort drin, es sein
> denn ich lösche ihn mühsam über den Touchscreen vom nüvi.
>
> Der mir vorschwebende Workflow wäre:
>
> 1. Tracks nach Datum gefiltert in eine eigene export.gpx exportierten,
> optional diesen Track aus der Current.gpx (und damit vom Garmin)
> löschen.
>
> 2. Die export.gpx in z.B. RoadTrip (entspr. MapSource in Win)
> importieren, bearbeiten und ggf. die gesäuberte Version davon ins Nüvi
> reimportieren
>
> Natürlich wäre diese export.gpx ein hervorragende Grundlage auch für
> den Import in Merkaartor oder für jede andere Weiterverarbeitung.
>
> Fragen:
>
> a. Hat sonst noch jemand das Nüvi550 in Gebrauch?
> b. Gibt es andere Garmin-Geräte die eine einzige Current.gpx so
> verwenden?
> c. Gibt es schon ein Tool für den Export wie oben beschrieben?
> d. Wäre ein solches von breiterem Interesse?
> e. Ja und grundlegend: Gibt es Verbesserungsvorschläge zum Workflow?
>
>
> Für jeden Hinweis dankbar, Ingo.
>

a) Nein
b) Ja, Colorado
c) kurz gebastelt:

sed \
-e 's/<trk>/\n<trk>/g' \
-e 's/<\/trk></<\/trk>\n</g' \
$1 | \
sed \
-e '1d' \
-e '$d' \
> temp.gpx
nn=`cat temp.gpx|wc -l`
nx=1
while [ "$nx" -le "$nn" ]
do
        sed -n -e "$nx wtrack$nx.gpx" temp.gpx
        (( nx++ ))
done

Das Script separiert die Tracks in einzelne Zeilen, schmeißt alles vor dem 1. 
und nach dem letzten Track raus, speichert das Ergebnis in temp.gpx zwischen 
und erzeugt Dateien mit Namen track1 - trackx für jeden gefundenen Track. 
Ebenso ließe sich natürlich auch nach <trkseg> suchen.

Das Script läuft in jedem ux-System, das bash, sed und wc unterstützt, 
dazu müsste auch cygwin gehören. Benutzung auf eigene Gefahr!

Alternative für Geübte in vi/gvim, wobei [[strg]] die strg-Taste meint:
:s/<trk>/[[strg]]vm<trk>/g
:1,$ s/<\/trk></<\/trk>[[strg]]vm<
:1 w track1
:2 w track2
...


Gruß, Wolfgang




Mehr Informationen über die Mailingliste Talk-de