Sygiclog: Travelbook log to Gpx file

Last version 1.5.0 release on 2015-01-12
page updated 2015-02-10

MOVED
This project has moved to github https://github.com/pljanson/sygiclog.
I'm porting to C++ Qt 5.4 as an educational exercise and to be able to create an android and maybe Sailfish version later on. Basic port is ready but needs some last changes before going into the open.

updated program
The latest verison is 1.5.0. Since 1.5.0rc the project moved to github. See the release on github for the latest binary. This version supports logfiles of Sygic v12, v13 & v14 (log file version 2, 3, 4 & 5). It worked on the logs taken during my summer holliday 2013, from both my Android SGS2 and N7, and latest logs from summer and christmas holiday 2014 from a Note 3.

Since Sygic updated their app to version 13.x their logfiles changed format (to version 5), and I didn't finalize Sygiclog yet! So Sygiclog version 1.4 only supports logfiles of version 2 to 4 (upto Sygic version 12.x) and doesn't work on new files as generated by Sygiclog 13.x. See Las' Stuff for a up to date python program.
However since I've been on holiday making using Sygic version 13.x (logfiles version 5) creating tracks, I need the update myself and thus work (based on Lars his information and code) is in progress, source will move to GitHub when I think a beta version is ready.

Timestamp warning
As it looks right now, sygic stores the phone time in the log file, not the time as send by the GPS system. I've noticed this when comparing the track with the photo's shot with the Sony DSC-HX200V with buildin GPS. I've already noticed that my phone was 3 minutes late, and that was also the diference once I found the track location of the photo with GeoSetter the great photo tagging tool.



Note to Sygic
Hopefully this program will become meaningless sometime:)
Sygic generates KML files now in the travelbook directory (Android version 12.1.0). THANKS Sygic!
But I really need time stamps, which are not in the KML Sygic generated files:(
They need to change the 5.512920,51.444000,102
5.512930,51.444008,99
To KML 2.2 extentions using:
So lets hope they read my webpage:)
Although these KML files import nicely in GeoSetter which I use for geotagging, without timestamps they are useless. I wrote this program for geotagging, so I still need it.

Geotagging for the holidays
I've changed from using a Global Sat DG-100 GPS Data Logger (used from 2007-2011) to using Sygic with travelbook during our holiday travel in the car. And now I use a Sony DSC-HX200V with buildin GPS for photos outside the car. And I've bought a SLR again (dec 2013), a Nikon D5300 with buildin GPS, this is however not as user friendly as the sony (yet, lets hope on a firmware update). The nikon has no GPS satelite screen (yet?); so no clear way to see what it is detecting, a position or actual gps time. The A-GPS update via files is very combersome, why not use the wifi to get the information? And even with an uptodate file it is SLOW in getting sync.
I try to take a picture every rest stop for easy referencing our routes later. I've allways used GeoSetter for tagging the photos, since it is the easiest to use in my work flow. I use XnView for managing my photos in directories, I don't like tools with build in databases.


GPX Time Zone
GPX files are by specification having all times in UTC. While the travelbook log file, as I created, has local time. Therefore I've made a Time Zone Correction option, which will make the files correct for geotagging.

History

2015-01-12 version 1.5.0
  • works with Sygic Android version 14.7.4 log files (version 5)
  • unit tests added covering logfiles of version 2 till 5.
2014-10-04 version 1.5.0rc3
2014-01-25 version 1.5.0rc
2014-01-15 version 1.5.0beta
2012-08-08 version 1.4.0:
  • works with the Android version 12.1.0 log files (version 4)
  • parse all log files in a directory
  • allow correction of the GPX timestamp for Timzone offset
2012-07-13 version 1.3.2: develop version, fix version nr:) and refactor code, in sharpdevelop.
2012-06-25 version 1.3: fixed negative longitude handling and stop criteria (from a iphone file)(Thanks Petra for the input).
2012-05-23 version 1.2: improved error handling
2012-05-22 version 1.1: testversion fixed (improved) file begin- and end-handling
2012-05-16 version 1.0: initial release

Information

Here a little program that transforms sygic travelbook log files into GPX files.
It is a .NET 4.0 commandline program.

Thanks to Jirí Meluzín from "Sygic Aura Log Extractor" for the first code auralogextractor.appspot.com.
And thanks to Marian Holler (Product manager) from Sygic for posting information on their forum.

It is by no way finished, but it works for travel book files from my SGS2 android 4.0.3 with Sygic 12.1.0 & 11.2.6, and an older version I used on android 2.3.x. Especially the time creation is not yet understood by me, and currently completely based on the aura extractor code. Although I found understandable time information in vrsion 4 files.

I've released it under LGPL-2.1, so just use it or use and improve the code! Or even better, write an android version (I'm investigating this, but haven't started using the development environment yet).

log output
It can generate a logging output txt file for seeing what is done and comparing the HEX data with a hexviewer of the orginal travelbook file.
validation
It can validate the output xml immediately to the xsd files.
gpx extension
It can generate extentions to the gpx 1.1 format for logging the speed.

Downloads

Newer versions wil apear on github https://github.com/pljanson/sygiclog as releases.

The .NET 4.0 executable sygiclog.exe, version 1.4.0.
version 1.2. (Thanks Marco for the input).
The VS C# express & sharpdevelop files Sygiclog-1_4_0.7z.
The xsd files for validation: gpx.xsd GpxExtPlj

Using

Dir:
E:\Temp>dir
 Volume in drive E is data
 Volume Serial Number is 7988-B713

 Directory of E:\Temp

08-08-2012  21:02    
Running on a single log file:
E:\Temp>sygiclog.exe 120413_074738.log tzc-2 wait
Sygiclog v1.4.0, log 2 gpx
SygicTravelbookLog inputfile 120413_074738.log created at:8-8-2012 21:19:46
Options: [tzcSHH:MM][wait]
120413_074738.log wrote : 286 trkpt
Hit a key to close
Running on all log files in this directory:
E:\Temp>sygiclog.exe all tzc-2 wait
Sygiclog v1.4.0, log 2 gpx
SygicTravelbookLog inputfile all created at:8-8-2012 21:21:11
Options: [all]  [tzcSHH:MM][wait]
E:\projects\SygicLog\Sygiclog\sygiclog\bin\Debug\110715_075330.log wrote : 8967 trkpt
E:\projects\SygicLog\Sygiclog\sygiclog\bin\Debug\120413_074738.log wrote : 286 trkpt
E:\projects\SygicLog\Sygiclog\sygiclog\bin\Debug\120414_112544.log wrote : 78 trkpt
E:\projects\SygicLog\Sygiclog\sygiclog\bin\Debug\120418_074150.log wrote : 505 trkpt
E:\projects\SygicLog\Sygiclog\sygiclog\bin\Debug\120520_113917.log wrote : 1592 trkpt
E:\projects\SygicLog\Sygiclog\sygiclog\bin\Debug\120528_114812.log wrote : 761 trkpt
E:\projects\SygicLog\Sygiclog\sygiclog\bin\Debug\120530_090514.log wrote : 662 trkpt
number of logs parsed = 7,      7 suceeded,     0 Failed.
Hit a key to close
And of course the "manual" or usage options:
E:\Temp>sygiclog.exe
Sygiclog v1.4.0
The sygic travelbook log file 2 gpx convertor.
Usage: sygiclog.exe [log_file|all] [xml] [validate] [gpxext] [wait] [log]
         [log_file] the log file
         [all]      for all log files in this directory
         [tzcSHH:MM]   timezone correction. S Sign, H Hours, M Minutes
         [xml]      the gpx file will get the .gpx.xml extension
         [validate] validate the output file
         [gpxext]   use GPX extensions for additional data
         [wait]     wait for use input before closing console
         [log]      create a txt logfile
Please provide a inputfile or "all" as the first argument.

Example:
sygiclog.exe .\travelbook.log

TZC Time Zone Correction:
CET = UTC+1:00 So the TZC is -1:00! So tzc-1
CET+DST = UTC+2:00 So the TZC is -2:00! So tzc-2
Hit a key to close

Using Validation:
E:\Temp>sygiclog.exe 120413_074738.log validate wait
Sygiclog v1.4.0, log 2 gpx
SygicTravelbookLog inputfile 120413_074738.log created at:8-8-2012 21:15:47
Options: [validate][wait]
120413_074738.log wrote : 286 trkpt

[validate]: xml:[.\120413_074738.gpx] with xsd:[./gpx.xsd] with xsdext:[]
            Validation completed successfully.
Hit a key to close

Enjoy Paul