The trackxf format

In order to archive raw tracking data in a way that it can be shared with other researchers and with other software, it is necessary to establish a standardised data format. We have developed an new format, called trackxf to fit this task.

A shareable format for spatial tracking data

The complete raw data describing an experiment is bundled by Rtrack into an rtrack_experiment object1. This object contains all of the raw tracking data, arena descriptions and any user-defined factors. Exporting to a trackxf archive file (using the function export_data) will package all of the core information in the rtrack_experiment object into a single trackxf file. This file can be archived, submitted as supplementary materials for a publication or shared with colleagues. The function read_experiment will automatically read trackxf files and completely recreate the rtrack_experiment object for further analysis in R. Because the read_experiment function also accepts URLs, an experiment can even be loaded directly from a trackxf archive hosted on a remote server.

A standardised format for spatial tracking data

The format is based around JSON—a simple and widely-used format suited to the storage of list-type data. More information about JSON can be found at https://www.json.org/. Because the JSON standard is not bound to a particular software or programming language2, it can easily be read by other software and can be readily shared with colleagues who might not (for whatever reason!) use R. In addition, because JSON is plain text, it is fully compatible with version control platforms and can be searched for metadata keywords if necessary.

The trackxf format additionally compresses the JSON document to make the files a lot smaller. This is much better for storage and for transfer over the network.

The formal schema

The formal trackxf schema can be found at https://rupertoverall.net/trackxf/trackxf_schema_v0.json.

There is also additional detailed information at the trackxf github project page: https://github.com/rupertoverall/trackxf.


  1. The metrics calculated by Rtrack are also contained in the rtrack_experiment object, but are not exported to the trackxf file.↩︎

  2. Don’t let the name fool you; although the ‘JavaScript Object Notation’ was indeed originally designed to be a part of JavaScript, it has been widely adopted since the early 2000s and is supported by most software environments. See https://en.wikipedia.org/wiki/JSON for some background information.↩︎