Skip to content

yoronneko/qzsl6tool

Repository files navigation

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

QZS L6 Tool

English

概要

  • このツール集は、GNSS(測位衛星: Global Navigation Satellite System)のメッセージを表示し、また、GNSS受信機の生データから特定的形式データ(例えばRTCM形式、みちびきL6形式)を抽出します。
  • このツール集は、メッセージを標準入力で受け取り、変換結果を逐次的に標準出力に出力するPythonコードからなります。必要に応じて、標準エラー出力も利用できます。
  • netcatのncや、RTKLIBstr2strなどと一緒に利用することを想定しています。
  • 当初、準天頂衛星みちびき(QZS: quasi-zenith satellite)がL6周波数帯にて放送する補強メッセージ(CLASやMADOCA-PPP)の内容表示を目指していましたが、Galileo HASメッセージなども表示できるようになりました。
  • 2024年8月11日バージョンからセマンテック・バージョニングを導入しました。
  • リリースノート

動作環境

  • LinuxやmacOSのコマンドラインで利用することを想定しています。
  • Python 3.10以降が必要です。
  • Docker DesktopなどのDocker環境では、Windows上、macOS上、Linux上、Raspberry Pi OS上でもLinuxコンテナ内で本ツールを利用できます。DockerイメージにはPython実行環境、nc、RTKLIB 2.4.3 b34のstr2strが含まれます。

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

PyPIパッケージでは、bitstringgaloisnumpyなどのPython依存パッケージも一緒にインストールされます。ncやRTKLIBのstr2strなどの外部コマンドは、必要に応じて別途インストールしてください。

Dockerイメージのビルド

docker build -t qzsl6tool .

作成したDockerイメージの実行

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"

Windows上でGNSSバイナリデータを扱う場合は、cmd.exeやPowerShellのパイプにバイナリを流さず、上述のように入力取得とパイプ処理をコンテナ内で完結させてください。

また、Windows git CLIにてこのリポジトリーをダウンロードする際には、あらかじめgit config --global core.autocrlf inputを実行しておいてください。Pythonコード行末に改行CRが混入させないためです。

衛星信号表示

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形式変換

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

GNSS受信機データ変換

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

時刻・座標変換

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

ディレクトリ構造

├── 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)

ライセンス

ライセンスとして、BSD 2-clause licenseを適用します。

利用者は、商用・非商用、修正の有無を問わず、このプログラムを利用できますが、この著作権表示が必要です。librtcm.pyの関数 rtk_crc24q ()にRTKLIB ver.2.4.3b34の成果を利用しています。

Copyright (c) 2022-2026 by Satoshi Takahashi
Copyright (c) 2007-2020 by Tomoji TAKASU

About

QZS L6 Tool: quasi-zenith satellite L6-band tool

Topics

Resources

License

Security policy

Stars

34 stars

Watchers

4 watching

Forks

Packages

 
 
 

Contributors