Command-line tools for reading and converting GNSS messages, including QZSS L6, RTCM, Galileo HAS, and BeiDou PPP-B2b data.
Project description
QZS L6 Tool: quasi-zenith satellite L6-band tool, ver.0.1.7
Summary
- This set of tools displays GNSS (Global Navigation Satellite System) messages and extracts specific formatted data from the raw data of GNSS receivers, for example, RTCM format and Michibiki L6 format.
- The suite consists of Python code that receives the messages via standard input, and the conversion results are sequentially outputted to the standard output. The use of standard error output is also possible as needed.
- It is designed to be used in conjunction with tools such as
ncof netcat, andstr2strof RTKLIB. - Initially, it aimed to display the content of augmentation messages broadcasted by the quasi-zenith satellite Michibiki (QZS) in the L6 frequency band, including CLAS and MADO. However, it is now also capable of displaying Galileo HAS messages.
- Semantic versioning has been applied since 2024-08-11.
- Release note
Operating Environment
- It is intended for use on the command line of Linux or macOS.
- Python 3.10 or later is required.
- With a Docker environment such as Docker Desktop, this tool can also be used on Windows, macOS, Linux, and Raspberry Pi OS inside a Linux container. The Docker image includes the Python runtime,
nc, andstr2strfrom RTKLIB 2.4.3 b34.
Installing from PyPI
python3 -m pip install qzsl6tool
qzsl6read.py < sample/2022001A.l6
str2str -in ntrip://ntrip.rnav.info.hiroshima-cu.ac.jp:80/OEM7 2>/dev/null | rtcmread.py
The PyPI package installs the required Python dependencies such as bitstring, galois, and numpy. External command-line tools such as nc and RTKLIB str2str should be installed separately when needed.
Building a Docker image
docker build -t qzsl6tool .
Executing a docker image
docker run -it --rm qzsl6tool "cd /root/qzsl6tool/test; ./do_test.sh"
docker run -it --rm qzsl6tool "qzsl6read.py < /root/qzsl6tool/sample/2022001A.l6"
docker run -it --rm qzsl6tool "str2str -in ntrip://ntrip.rnav.info.hiroshima-cu.ac.jp:80/OEM7 2>/dev/null | rtcmread.py"
docker run -it --rm -v .:/mnt qzsl6tool "qzsl6read.py < my_l6_data.l6"
When handling GNSS binary data on Windows, do not pass the binary stream through cmd.exe or PowerShell pipes. Keep input acquisition and the processing pipeline inside the container like above.
Those who use Windows Git CLI, please execute git config --global core.autocrlf input before cloning this repository. This is to avoid CR inclusion in line ends of a Python code.
Satellite Signal Display
| display | code |
|---|---|
| RTCM | rtcmread.py |
| QZSS L6 | qzsl6read.py |
| QZSS L1S | qzsl1sread.py |
| Galileo I/NAV | galinavread.py |
| Galileo HAS | gale6read.py |
| BeiDou PPP-B2b | bdsb2read.py |
GNSS Receiver Data Conversion
| GNSS receiver | code | QZS L6 | QZS L1S | Galileo HAS | Galileo I/NAV | BeiDou B2b |
|---|---|---|---|---|---|---|
| Allystar HD9310 option C | alstread.py | -l option |
||||
| Pocket SDR | psdrread.py | -l option |
-l1s option |
-e option |
-i option |
-b option |
| NovAtel OEM729 | novread.py | -e option |
||||
| Septentrio mosaic-X5 | septread.py | -e option |
-b option |
|||
| Septentrio mosaic-CLAS | septread.py | -l option |
||||
| u-blox ZED-F9P | ubxread.py | -l1s option |
-i option |
Time & Coordinate Conversion
| conversion | code |
|---|---|
| GPS time, GST, BST → UTC time | gps2utc.py |
| UTC time → GPS time, GST, BST | utc2gps.py |
| LLH → ECEF | llh2ecef.py |
| ECEF → LLH | ecef2llh.py |
Directory Structure
├── docs/ (documentation directory)
├── license.txt (license description)
├── python/ (code directory)
├── readme-en.md (English document)
├── readme.md (this file, Japanese document)
├── sample/ (sample data directory)
└── test/ (directory to test the tools)
License
This project is licensed under the BSD 2-clause license.
Users are permitted to use this program for commercial and non-commercial purposes, with or without modification, but this copyright notice is required. The function rtk_crc24q() in librtcm.py utilizes the achievements of RTKLIB ver.2.4.3b34.
Copyright (c) 2022-2026 by Satoshi Takahashi
Copyright (c) 2007-2020 by Tomoji TAKASU
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qzsl6tool-0.1.7a0.tar.gz.
File metadata
- Download URL: qzsl6tool-0.1.7a0.tar.gz
- Upload date:
- Size: 83.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d19705e2dc81ef9d392c9b23654d6847d8d45211ea4bb227d0ba9baeb2e468ab
|
|
| MD5 |
c4dbd24f64bb4e101e51a135f4c4e9f8
|
|
| BLAKE2b-256 |
3f63e3fd9e33b662535a95da39cfd031d5ac1862d03ca149f4c7a6a76772e5b8
|
File details
Details for the file qzsl6tool-0.1.7a0-py3-none-any.whl.
File metadata
- Download URL: qzsl6tool-0.1.7a0-py3-none-any.whl
- Upload date:
- Size: 152.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7dcbbf605d4bed058e3c3cff9a439d0adb10de6e89a81964b4ab2145d4d2dd7
|
|
| MD5 |
ef32224edcbd1c143687f57b971701e4
|
|
| BLAKE2b-256 |
152b908189020714d3dab6c9d89e92d124f3c59dcf924260794cbfa6869ba99c
|