This format can...
This format reads the binary (.vtt) track logs recorded by VITO SmartMap for Nokia Series 60 1.0, a GPS application for smartphones connected to NMEA 0183-compatible Bluetooth GPS receivers. It may work with .vtt files produced by versions of VITO SmartMap for other platforms.
This format was reverse engineered from a .vtt file. Currently, the coordinates, altitude, and time are available for each point recorded in a track. The course speed and heading fields have been identified, but the units are not certain and so those fields are ignored. The rest of the entry has not yet been decoded. The format uses little-endian byte ordering. The application displays metric units by default. Time is UTC.
Table 3.21. Vito SmartMap track file header (8 bytes)
|bytes 0-3||Probably a version field. Int value is 3 in sample file.|
|bytes 4-7||Number of points in file as int.|
Table 3.22. Vito SmartMap track point (32 bytes)
|bytes 0-3||Decimal latitude multiplied by 20000000 as int.|
|bytes 4-7||Decimal longitude multiplied by 10000000 as int.|
|bytes 8-11||Altitude in meters as float.|
|bytes 12-13||Year, with century, as int.|
|byte 14||Month, ranging 1-12.|
|byte 15||Day of month, ranging 1-31.|
|byte 16||Hour, ranging 0-23.|
|byte 17||Minute, ranging 0-59.|
|bytes 18-21||Decimal second multiplied by 30000000 as int.|
|bytes 22-25||Probably speed in meters per second as float. Ranges 0-~3 in file, seems reasonable since sample file was acquired on foot.|
|bytes 26-27||Probably decimal heading multiplied by something. Ranges between min and max values possible when decoded as integer. Doesn't change when speed field is 0. Doesn't change smoothly, jumps around a bit.|
|bytes 28-31||Status field of some kind. Changes only twice in file. May contain satellite count or PDOP info, as both are reported by the application's GUI.|