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

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.7a0.tar.gz (83.4 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.7a0-py3-none-any.whl (152.3 kB view details)

Uploaded Python 3

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

Hashes for qzsl6tool-0.1.7a0.tar.gz
Algorithm Hash digest
SHA256 d19705e2dc81ef9d392c9b23654d6847d8d45211ea4bb227d0ba9baeb2e468ab
MD5 c4dbd24f64bb4e101e51a135f4c4e9f8
BLAKE2b-256 3f63e3fd9e33b662535a95da39cfd031d5ac1862d03ca149f4c7a6a76772e5b8

See more details on using hashes here.

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

Hashes for qzsl6tool-0.1.7a0-py3-none-any.whl
Algorithm Hash digest
SHA256 a7dcbbf605d4bed058e3c3cff9a439d0adb10de6e89a81964b4ab2145d4d2dd7
MD5 ef32224edcbd1c143687f57b971701e4
BLAKE2b-256 152b908189020714d3dab6c9d89e92d124f3c59dcf924260794cbfa6869ba99c

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