#1 Le 12/10/2006, à 16:13
- benjou
[relosu]faire des multiplications avec cat et sed!!
Bonjour,
je viens d'ecrire un script qui permet de montrer la vitesse d'un trace gps en fausse altitude dans google-earth. Plutot que de décrire de quoi il s'agit, voire cette capture.
le script est le suivant:
gpsbabel -t -i garmin -f usb: -x track,speed,title="%d-%m-%Y" -o gpx -F "`date +%d.%m.%y`""_""$title"".gpx"
cat "`date +%d.%m.%y`""_""$title"".gpx"|grep -v ele|sed 's/speed/ele/g'>/tmp/gpx
gpsbabel -t -i gpx -f /tmp/gpx -x track,speed,title="%d-%m-%Y" -o kml,points=0,floating=1 -F /tmp/kml
cat /tmp/kml|sed 's/<altitudeMode>absolute<\/altitudeMode>/<altitudeMode>relativeToGround<\/altitudeMode><extrude>1<\/extrude>/g'>"`date +%d.%m.%y`""_""$title""_speed"".kml"
Grosso modo, il prends un ficher gpx (du xml applique au GPS) généré par gpsbabel
-enleve línformation d'élevation <ele> avec grep,
-remplace les balises <speed> par des balises <ele> de sorte que la vitesse est considérée comme de l'altitude
-fabrique un fichier kml pour ouvrir avec google-earth
Le problème c'est que je fais du velo et donc mes vitesses sont faibles donc je ne m'éleve pas beaucoup au dessus du terrain.
Donc je voudrais que ma vitesse::fausse altitude soit multipliee par 10 donc dans mon fichier gpx,
je voudrais que
<ele>25.87</ele>
devienne
<ele>258.7</ele>
Y a tíl un moyen de faire cela?
Dernière modification par benjou (Le 12/10/2006, à 17:40)
écrasons l'infâme
Hors ligne
#2 Le 12/10/2006, à 17:39
- benjou
Re : [relosu]faire des multiplications avec cat et sed!!
resolu avec sed.
La fonction
sed 's/\(\.\)\([0-9]\)\(.*ele>\)/\2\1\3/g'
prends la virgule et le premier chiffre apres la virgule et les inverse ce qui multiplie par 10
le script est donc:
#!/bin/bash
title=$(zenity --entry --title "name" --text "Please name this track")
gpsbabel -t -i garmin -f usb: -x track,speed,title="%d-%m-%Y" -o gpx -F "`date +%d.%m.%y`""_""$title"".gpx"
cat "`date +%d.%m.%y`""_""$title"".gpx"|grep -v ele|sed 's/speed/ele/g'|sed 's/\(\.\)\([0-9]\)\(.*ele>\)/\2\1\3/g'>/tmp/gpx
gpsbabel -t -i gpx -f /tmp/gpx -x track,speed,title="%d-%m-%Y" -o kml,points=0,floating=1 -F /tmp/kml
cat /tmp/kml|sed 's/<altitudeMode>absolute<\/altitudeMode>/<altitudeMode>relativeToGround<\/altitudeMode><extrude>1<\/extrude>/g'>"`date +%d.%m.%y`""_""$title""_speed"".kml"
écrasons l'infâme
Hors ligne
#3 Le 12/10/2006, à 21:23
- mrf
Re : [relosu]faire des multiplications avec cat et sed!!
j'ai pas vraiment testé, mais je crois que tu gagnerais en lisibilité en utilisant Awk
Hors ligne