Tovább vizsgáltam a gpx-eket, új módszerrel mutatom ki az ugrást, így nem kell a fájlban kézzel keresgélnem. Átteszem garmin_txt-be, majd ahol nem ír a két trackpont közé eltelt időt, ott van a visszaugrás. Veszem az előző és a következő három sort és ennek az idejét írom ki.
find -name '*.gpx' | sort | while read file; do echo $file; gpsbabel -i gpx -f $file -o garmin_txt -F - | grep -B 3 -A 3 -P "m\t\t[0-9.]+ kph" | grep -P -o "([0-9]{2,2}:[0-9]{2,2}:[0-9]{2,2}|--)"; done;
Ilyen eredményeket adott, történetesen ugyanazon napról:
./20100524.gpx
12:10:58
12:10:59
12:11:19
12:11:05
12:11:07
12:11:08
12:11:09
--
13:39:15
13:39:16
13:39:36
13:39:22
13:39:24
13:39:25
13:39:26
--
14:49:50
14:49:51
14:50:09
14:49:55
14:49:57
14:49:58
14:49:59
Majdnem mindig húsz másodperc esik ki (egy esetben 18), aztán mindig 14-et ugrik vissza.
Az egyik ilyen esetnél sikerült két útpontot is találnom, amelyeknél szintén rossz az idő. A CSx beírja megjegyzésbe a pontos időt, nálam ez így nézett ki:
471 09-JUL-10 15:07:41
472 09-JUL-10 15:07:32
A két útpont a helyén van, de az első ideje előreugrott 15 másodpercet.
Ilyenkor tehát nem a track rögzül rosszul, hanem az egész gps rosszul tudja az időt 15 másodperccel. Ahogyan a hivatkozott oldalról kiderül, mostanában éppen 15 másodperc a szökőmásodperces UTC és a szökőmásodpercek nélküli GPS-idő különbsége. Ezekben a trackpontokban tehát a gps UTC helyett GPS időt használ. Garmin suxx.
Ugye nem kell meglepődnöm, hogy az MTK vevőjű gps logjaiban nem találtam visszaugrást? Igaz, itt sokkal kisebb a minta. Megnéztem a 62s-t is ebből a szempontból. A már említett tegnapi nagy ugráson kívül egyetlen esetben volt negatív időugrás, felcserélt két időpontot:
09:12:39
09:12:40
09:12:42
09:12:41
09:12:43
09:12:44
09:12:45
Itt nem tudom eldönteni, hogy mi történt, nem mozgott éppen a készülék, álló helyzetben rögzített másodpercenként.
Összefoglalva: háromféle időugrást láthatunk.
1. CSx (valószínűleg csak a SiRF III) egy pillanatra elveszti a jelet, majd az első trackpontnál GPS időt ír a trackbe, utána visszaáll UTC-re. Ez mindig 15 másodperces eltolódást jelent, ami a következő trackponthoz képest 14 másodpercet mutat, ha éppen egy másodperc telt el időközben.
2. 62s mentés közben beszúrja a trackbe egy tetszés szerinti helyre a mentés helyzetét, ezt láttam tegnap délután.
3. 62s másodperces rögzítés közben felcserél két másodpercet. Remek. |