Trax

Trax is a suite of cross-platform (Linux, MacOSX and Windows) programs centered around a database of travel records, called "Trax Database". This database is built from a number (possibly a very large number) of GPS log files, covering certain (possibly very long) periods of time. Such a database represents the historical record of movements of a GPS device (or one person, one vehicle, etc.), using either one of a number of different GPS devices, one at the time, for days, months, years or even decades.

The Trax database can be quarried by time or by location. For instance, it can be determined where the device (person, camera, vehicle etc.) was at any given point in time, when the device was in the closest proximity of some given location, how much time did the device spend in a given vicinity and so on.

The Trax system is a work in progress. At present, several command-line programs are available for download from this web site. They provide the user with the ability to find the locations from which a photograph (i.e., camera generated .jpg/exif file) was taken, provided the camera adds a time-stamp into the "exif" data section of each .jpg file as it is created, and that a GPS device was logging the movement of the camera and photographer.

dumpGpx
Create a "human readable" text file of track points in a .gpx log file.

veryfyGpx
Check for time overlaps between .gpx files in a directory.

newlineGpx.c
"Filter" program to add a newline character before <trk..., <trkseg... and <trkpt... tags in a .gpx file.

gpxToTrax
Create a .trax file (a "Trax Database") from a number of GPS log files in .gpx format stored in the same directory.

dumpTrax
Create a text file listing of the .trax database in a human-readable form.

exifDataList
Create a text file of file names and their "image creation" times from a collection of .jpg digital camera image files stored in the same directory.

exifTimeDelta
Report the difference between camera time and "true clock" UTC time for a .jpg file for which a precise time is known by some method independent of the camera clock.

findLocations
Given a text file of object names and their time-stamps (for instance, output from exifDataList program), optional correction of camera time obtained by exifTimeDelta and a .trax database, append the timestamp records with the locations and accuracy estimate.

traxToKml, locationsToKml
Create files suitable for graphical depiction and possible other processing in geographical applications that support KML file format.
wptToGpx
Create a .gpx file from a "free-form" text waypoints file.

The function and operation of the Trax programs listed above is described in a preliminary [manual].

Trax programs [download] page.

Contact Trax authors for bug-reports, comments, suggestions, etc.:
e-mail address


Following are some of the programs we are currently working on:

encryptTrax
Given a .trax file, and a pass-phrase, convert it into an encrypted format that other programs in this suite can read and process if the same pass-phrase is provided. An encrypted .trax file carries no identification data and can not be distinguished from a stream of random bytes.
findTimes
Given a text file of object names and their locations and a .trax database, append the location records with the times when the location was visited or when the device was in it's vicinity.
...