Skip to content

Home

XTR Reader

This program reads and converts XTR files generated by Anubis into JSON files. The output JSON file can be easily imported by a variety of programming languages.

Installation

xtr-reader uses poetry as package and dependency manager.

As client application

To install all dependencies, run:

poetry install

The command line tool should now be available. Run xtr-reader to check for the version. You can run xtr-reader --help to receive help information.

As part of your application

pip install git+https://git.gfz-potsdam.de/gnss/xtr-reader

Usage

As client application

The application ships with a separate client program that you can execute from the command line. You can pass one or multiple XTR files as positional argument. You have to pass an output directory via --output-directory to store the JSON files locally. The output filename has the same base name as the input but the extension is extended with .json.

Usage: xtr-reader [OPTIONS] COMMAND [ARGS]...

  xtr-reader. 0.1.0

Options:
  --help  Show this message and exit.

Commands:
  read  Read and convert XTR files.

As part of your application

You can also call the XtrReader class from within your application.

from xtr_reader.xtr_reader import XtrReader

m = XtrReader(
    xtr_files=['data/POTS00DEU_R_20222630000_01D_30S_MO.rnx.xtr']
)

output = m.main()

# print the cycle slips
print(output.slips)

JSON Output

If you would like to store the output in a separate JSON file, the structure looks as follows:

{
    "software": "G-Nut/Anubis Free",
    "version": "3.3",
    "first_epoch": "2022-09-20T00:00:00",
    "last_epoch": "2022-09-20T21:11:30",
    "min_elevation": 0.00,
    "elevation_usermask": 5,
    "generated_at": "2022-10-13T14:11:19.689842",
    "header": {},
    "summaries": {},
    "observations": {},
    "xyz": {},
    "blh": {},
    "prns": {},
    "observation_types": {},
    "bands": {},
    "multipath": {},
    "snr": {},
    "satellites": {},
    "gaps": {},
    "pieces": {},
    "slips": {},
}

Licenses

The content of this repository is licensed under several licenses. We follow the REUSE specification to indicate which license applies to the files specifically. Here are some general hints:

  • Source code is licensed under EUPL-1.2,
  • Documentation is licensed under CC-BY-4.0,
  • Some files with trivial content, e.g., configuration files, are licensed under CC0-1.0.

For more details on the licenses, please have a look at the file headers or associated *.license files. The terms of all used licenses are located in the LICENSES directory.