Entgegen dem bisher doch recht hilfreichen Artikel von Michael Schilli habe ich das mit gnuplot gelöst. Das Mittel der Wahl, um aus der CSV-Liste mit Trackpoints, Zeiten und Höhendaten das Profil zu machen war ein kleines Perl-Script.
In meinen Dateien mit den Touren stehen auch Infos zu den Markern, Mapmittelpunkt und Zoomfaktor. Das mag gnuplot nicht gerne, also wird die Datei gefiltert und dann gnuplot zum Frass vorgeworfen:
#!/usr/bin/perl -w
print << 'EOF';
set title ""
set terminal png size 900,140 notransparent
set timefmt "%s"
set xdata time
set autoscale xfix
set autoscale y
set format x "%H:%M"
set style fill solid 1.0
plot "-" using ($3+7200):2 with filledcurves x1 notitle
EOF
while (<>) {
print $_ if (/^\d+\.\d+,\d+\.\d+\t\d+/);
print $1 if (/^POINT\t(\d+\.\d+,\d+\.\d+\t\d+.*)/);
}
Das Teil habe ich mal getplot genannt. Der Output von getplot wird dann direkt an gnuplot verfüttert:
getplot bla.txt | gnuplot > bla.pngDie ersten paar Zeilen sind Setup für gnuplot, die letzte Zeile sagt aus, dass die folgenden Daten ("-") als Punkte einer nach unten hin gefüllten Kurve verwendet werden sollen, und zwar die Spalte 3 (mit 7200 addiert) als x-Achse und die Spalte 2 als y-Achse. Die misteriösen 7200 kommen daher, dass in Spalte 3 die Uhrzeit in Sekunden seit 1.1.1970 drinsteht - und zwar als UTC. Zur Sommerzeit sind wir da 2 Stunden voraus, eben die 7200 Sekunden.
Simpel, oder?
Keine Kommentare:
Kommentar veröffentlichen