Skip to main content

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.7a1

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qzsl6tool-0.1.7a1.tar.gz (82.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qzsl6tool-0.1.7a1-py3-none-any.whl (151.6 kB view details)

Uploaded Python 3

File details

Details for the file qzsl6tool-0.1.7a1.tar.gz.

File metadata

  • Download URL: qzsl6tool-0.1.7a1.tar.gz
  • Upload date:
  • Size: 82.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.10

File hashes

Hashes for qzsl6tool-0.1.7a1.tar.gz
Algorithm Hash digest
SHA256 d99c9511b322407949cb8a2ebd18661079486725683f9e00e12b4357d5bc02a8
MD5 a2d3bd27e24f7dbc806c6c94a6bbd074
BLAKE2b-256 587b71c23d98504d8755d035acaada1a130654e90dd4dad9636c3c824f92dd8f

See more details on using hashes here.

File details

Details for the file qzsl6tool-0.1.7a1-py3-none-any.whl.

File metadata

  • Download URL: qzsl6tool-0.1.7a1-py3-none-any.whl
  • Upload date:
  • Size: 151.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.10

File hashes

Hashes for qzsl6tool-0.1.7a1-py3-none-any.whl
Algorithm Hash digest
SHA256 563a7a7eda9a07abc05a253e309178c8d6dfe3eaba74d0937bea5e32ca6d4882
MD5 81c629fb8844a7b32aae31ce83c78cdc
BLAKE2b-256 3e4918b96a0f5717b4fad8df443f6e155e443872af0e128013cde3d08fa45f13

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page