Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rokubun/android_rinex

This repository contains a python script that converts logs from Google's GNSS measurement tools to RINEX
https://github.com/rokubun/android_rinex

Last synced: 3 months ago
JSON representation

This repository contains a python script that converts logs from Google's GNSS measurement tools to RINEX

Awesome Lists containing this project

README

        

Android GNSS Logger to RINEX converter
======================================

This repository contains a Python script that converts logs from Google's GNSS
measurement tools to RINEX

The repository for the GNSS measurement Android app can be found in this link:

https://github.com/google/gps-measurement-tools

Once installed in your Android device, the app will log GNSS measurements
and will write a text file with the GNSS measurements. There is a file in
the `data` folder that contains an example data file collected with a Nexus 9
tablet:

data/pseudoranges_log_2017_07_17_13_46_25.txt

This file can be used with this tool to generate a RINEX file that can be
then used in GNSS data processing software such as e.g. RTKLib.

Standalone test
------------

If you are developing the code it might be easier to run it as a standalone library.

* in Linux this can be done via
```
export PYTHONPATH=$PWD;$PYTHONPATH
bin/gnsslogger_to_rnx
```
* in Windows, most of the time PYTHONPATH is not set so its easier to use batch file

gnsslogger_to_rnx.bat -o nex91980.17o .\data\pseudoranges_log_2017_07_17_13_46_25.txt

That is

gnsslogger_to_rnx.bat -o OUTPUT FILE INPUT FILE

Installation
------------

This package has been built using Pyhton's setuptools. As such, you can
install it into your system by issuing the command

python setup.py install

You might need the root password to issue this command. Alternatively, you can
install in a non-default directory by specifying the install path with the
`--prefix` option:

python setup.py install --prefix /path/to/instal

Examples
--------

The script has a small help that explains the different options of the
program. This help is accessed through the command:

gnsslogger_to_rnx -h

There are several options that allow the user to change several standard
RINEX fields ('MARKER NAME', 'RECEIVER TYPE', ...)

Some execution examples follow:

(a) Process the data file and generate a RINEX file in the standard output
(discard the error messages)

gnsslogger_to_rnx data/pseudoranges_log_2017_07_17_13_46_25.txt 2> /dev/null

(b) Process the data and save the results into a specified file name (and
disregard warning messages)

gnsslogger_to_rnx -o nex91980.17o data/pseudoranges_log_2017_07_17_13_46_25.txt 2> /dev/null

(b) Process the data, trying to "integerize" the observations to the nearest
time stamp (i.e. integerize the time stamp to the closest second and
modify the pseudorange uaing the PseudoRangeRateMeterPerSecond measurements=.
Note: this option does not touch the carrier phase. In theory the same could
be done to the phase, but strictly speaking we would need the Doppler. not
the PseudoRangeRate measurements.

gnsslogger_to_rnx -i -o nex91980.17o data/pseudoranges_log_2017_07_17_13_46_25.txt 2> /dev/null

This option might be useful to process data from various smartphones at
once.

(d) Process the data and generate a named RINEX data but maintaining
constant the 'FullBiasNanos' instead of using the instantaneous value.
This avoids the 256 ns jumps each 3 seconds that create a code-phase
divergence due to the clock.

gnsslogger_to_rnx -b -o nex91980.17o data/pseudoranges_log_2017_07_17_13_46_25.txt 2> /dev/null