Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

QZS L6 Tool: quasi-zenith satellite L6-band tool, ver.0.1.7a3

QZS L6 Tool

日本語

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 nc of netcat, and str2str of 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, and str2str from 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

RTCM Format Conversion

conversion code
QZS L6 → RTCM message type 4050 l6rtcm4050.py

GNSS Receiver Data Conversion

GNSS receiver code QZS L6 SBAS / QZS L1S Galileo HAS Galileo I/NAV BeiDou B2b GLONASS L1OF BeiDou B1I
Allystar HD9310 option C alstread.py -l option
Pocket SDR psdrread.py -l 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 --l1of option --b1i 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

Metadata

Release files for qzsl6tool 0.1.7a3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qzsl6tool 0.1.7a3
File Size Uploaded
qzsl6tool-0.1.7a3.tar.gz 83.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qzsl6tool 0.1.7a3
File Interpreter ABI Platform
qzsl6tool-0.1.7a3-py3-none-any.whl Python 3 none any Details

Total release size: 236.0 kB

Release files / qzsl6tool-0.1.7a3.tar.gz

Download URL qzsl6tool-0.1.7a3.tar.gz
Size 83.8 kB
Tags Source
SHA-256 checksum
How to use checksums
63aa66f06cfb93f342b59ef80cc25c327324a05e7ea5293612d50dd743f5ad41
BLAKE2b-256 checksum
How to use checksums
758f0c7bc360150f9f3671fdf03ca59c14c44447a582679d7121463d6bd53a0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.10

Release files / qzsl6tool-0.1.7a3-py3-none-any.whl

Download URL qzsl6tool-0.1.7a3-py3-none-any.whl
Size 152.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e5cb42d44e48a23eb818293faca8f0727924d2d13a09972a3aaf6b8c0a4c144
BLAKE2b-256 checksum
How to use checksums
0fd14d7879f49f3ccab8555385556e9f8485f3273bf833b024d900bc27982be7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.10

Release history Release notifications | RSS feed

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

This release

0.1.7a3 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page