Documentation
RINGO: RINEX pre-processing tool using Go!⌗
RINGO は, マルチ GNSS データに対応した RINEX データ前処理ソフトウェアです. コマンドラインベースのツールで, シンプルなインターフェースながら, 日々の GNSS データ管理に必要な機能を揃えています.
Windows, macOS, Linux, Unix と様々なプラットフォームに対応しています.
コンテンツ⌗
主な機能⌗
- RINEX ファイル編集 ("merge")
- RINEX ファイル結合 ("merge")
- クロックジャンプ補正 ("clkcorr")
- 品質チェック ("qc")
- 電離層遅延補正 ("ioncorr")
- BINEX, RTCM ファイルの RINEX 形式への変換 ("bingo", “rtcmgo”)
- ビューワー出力 ("viewer")
- RINEX ファイルのCSV変換 ("rnxcsv")
- シェル補完スクリプト出力 ("completion")
- GNSS カレンダー表示 ("cal")
導入方法⌗
それぞれのプラットフォームに対応した実行ファイルはこちらからダウンロード可能です.
- ダウンロードページから最新版の RINGO をダウンロードしてください download page.
- 実行バイナリを好きなディレクトリ(フォルダ)に保存します.
- ディレクトリを環境変数(PATH等)に追加します.
- インストールした実行ファイルに実行権限を追加します. 例えば,
$ chmod +x ringo
対応OS・ファイル形式⌗
対応OS:⌗
現在, Windows OS, macOS, Linux, UNIX (FreeBSD, Solaris) に対応しています. ただし, これらは Go言語のサポート状況に依存します.
対応RINEXバージョン:⌗
file format | version |
---|---|
RINEX | 2.00*, 2.10, 2.11, 2.12 |
3.00, 3.01, 3.02, 3.03, 3.04, 3.05 | |
4.00, 4.01 |
* 現在 RINEX 2.00 形式は IGS の公式ドキュメントが存在しないため, この形式のファイルについては期待通り動作しない可能性があります.
データ変換に対応している形式:⌗
file format | record types |
---|---|
BINEX | 0x7f: GNSS observables |
0x01-0x01: GPS ephemeris | |
0x01-0x02: GLO ephemeris | |
0x01-0x03: SBAS ephemeris | |
0x01-0x06: QZS ephemeris | |
0x01-0x14: GAL ephemeris |
file format | record types |
---|---|
RTCM | MSM7 (1077, 1087, 1097, 1117): GNSS observation data |
1019: GPS ephemeris | |
1020: GLO ephemeris | |
1044: QZS ephemeris | |
1046: GAL ephemeris |
使用方法⌗
インストールのテスト⌗
ringo コマンドを実行してテストします.
$ ringo
正常ならば, 次のようなメッセージが表示されます.
$ ringo
RINEX file pre-processing tool using Go.
ringo is a program for editing, pre-processing, and quality checking RINEX files,
also includes features such as conversion from BINEX or RTCM to RINEX format, interactive viewer etc.
インターフェース⌗
RINGO はコマンドラインベースのツールです. サブコマンドインターフェースを採用しており, コマンドラインベースでありながら直感的な操作が可能です.
基本的なインターフェースは次のように, [sub-command]にコマンドを指定し, 必要なインプットファイルやオプションを指定します. 指定したコマンドに応じて, 機能や有効なオプション(flags)が切り替わります.
結果は標準出力に出力されます(オプション指定で変更もできます).
$ ringo [sub-command] [flags] inputfiles > outputfile
RINGO は inputfiles に指定されたファイルを読み込み, 結果を標準出力に出力します. inputfiles には複数のファイルを指定可能です.
基本的な使用方法を見てみます.
次に示すのは, 二つの RINEX ファイルを結合する例です.
ファイル編集に用いるコマンド merge を用いて, rinex1, rinex2 という二つの RINEX ファイルを結合し, rinex_merged というファイルに保存します.
$ ringo merge rinex1 rinex2 > rinex_merged
また, オプション ‘-o’ を指定し出力ファイルを指定することもできます.
$ ringo merge rinex1 rinex2 -o rinex_merged
それぞれのコマンドの全てのオプションは, ’--help’ オプションで確認することができます.
$ ringo [sub-command] --help
インプットファイル⌗
インプットファイルは, RINEX ファイル(観測データファイル, 衛星軌道情報ファイル), IGS IONEX ファイル(電離層高次項補正ファイル)のいずれかを指定することができます(データ変換に用いるバイナリファイルを除く). ファイル形式は与えたファイルのヘッダー情報から自動的に判別されます.
上記ファイルを圧縮したものも直接読み込むことができます. サポートしている形式は, ‘compress (.Z)’, ‘zip (.zip)’, ‘gzip (.gz)’, ‘bzip2 (.bz2)’ です. また, 衛星軌道情報ファイルについては, ’tar’ でアーカイブされたもの(例えば, 国土地理院が提供している ‘.tar.gz’ でアーカイブされた複数の衛星軌道情報ファイル)も読み込み可能です.
さらに, PATH に ‘CRX2RNX’ コマンドが存在している場合は, Compact RINEX ファイル(‘Hatanaka RINEX’, ‘Hatanaka compressed file’等とも呼ばれます)の読み込みも可能です.
下記にいくつか例を示します.
$ ringo merge rinex_obs1.o rinex_obs2.o.gz > rinex_merged // compressed file
$ ringo merge rinex_obs1.o rinex_obs2.d > rinex_merged // hatanaka compressed file
$ ringo merge rinex_nav.tar.bz2 > rinex_nav.p // tar archived navigation file
* 以前の ringo v0.8.5 では, Compact RINEX ファイルを読み込むには PATH に “CRX2RNX” コマンドが存在している必要がありましたが, v0.9.0 以降は直接読み込みがサポートされました. この機能は crinex ライブラリに依存しています.
コマンド一覧の表示⌗
$ ringo help
上記コマンドを実行するとコマンド一覧が表示されます.
.....
Usage:
ringo [command]
Available Commands:
bingo Convert a BINEX file to RINEX files
cal Displays a GNSS calendar
clkcorr Correct obs rinex by timetag smoothing
completion Generate the autocompletion script for the specified shell
genconf Generate a default conf file
help Help about any command
ioncorr Correct ionospheric delay of rinex obs file
merge Merge observation or navigation RINEX files
qc Quality check of a rinex obs file
rnxcsv Convert RINEX files to csv format
rtcmgo Convert a RTCM3 file to RINEX files
version Show version
viewer Generate a HTML5-based viewer
.....
Use "ringo [command] --help" for more information about a command.
それぞれのコマンドのヘルプは, ‘--help’ オプションで表示することができます.
$ ringo [command] --help
例えば, 下記は bingo コマンドのヘルプを表示した例です.
$ ringo bingo --help
Convert a BINEX file to RINEX files
Currently supports 0x01 ephemerides and 0x7f-05 observations.
Example:
convert a BINEX file to RINEX obs and nav files.
>> ringo bingo --outobs rinexobs --outnav rinexnav binex
.....
コマンドリファレンス⌗
ringo⌗
ringo は RINGO のメインコマンドです. それぞれの機能は, ringo の第一引数にコマンドとして与えることで呼びだされます. RINGO のフラグには, 共通で用いられるフラグと, それぞれのコマンド固有のものがあります.
下記は共通フラグの一覧です.
Flag | Shorthand | Description |
---|---|---|
--config | use a config file (default is $HOME/.ringo.yaml) | |
--debug | enable debug print to stderr [default: false] | |
--help | -h | show help for ringo |
--elmaskf | elmask angle (const; degrees) or file (for azimuth-dependent elmask) [default: ‘’] | |
--etime | -e | end of time window (e.g. ‘2017/01/01 15:00:00’) (default “2099/12/31 23:59:59”) |
--stime | -s | start of time window (e.g. ‘2017/01/01 03:00:00’) (default “1980/01/06 00:00:00”) |
--exclPRN | list of PRN to exclude (e.g. ‘G01,G02’) [default: ‘’] | |
--exclSat | list of satsys to exclude (e.g. ‘G’, ‘REJ’) [default: ‘’] | |
--inclPRN | list of PRN to include (e.g. ‘G01,G02’) [default: ‘’] | |
--inclSat | list of satsys to include (e.g. ‘G’, ‘REJ’) [default: ‘’] | |
--interval | time interval to output (seconds) | |
--outfile | -o | output file [default: STDOUT] |
--outver | RINEX version to output, e.g., ‘4.00’ | |
--sort | sort timetag and PRN [default: false] | |
--ignore-skipped-lli | ignore skipped LLI flags by the interval change [default: false] | |
--seconds-keep-lli | seconds to keep skipped LLI flags (seconds) [default: 3600]. If data is thinned out with the “--interval” option, the LLI flag of the data is held for the duration specified here and is set for the next output. |
|
--toggle | -t | help message for toggle |
--verbose | -v | enable verbose print to stderr [default: false] |
--version | show version for ringo |
merge⌗
merge コマンドは, RINEX ファイルの結合や編集を行います. 例えば, ファイルの切り抜き, 時刻・衛星のソート, ヘッダー編集, 特定の信号種別の抜き出し等基本的な編集機能を備えています.
出力されるヘッダー情報は, 基本的にはコマンドラインで最初に与えられたファイルの内容を踏襲しますが, 下記に示すいくつかのヘッダー情報は出力時のファイル内容に応じて自動的に変更されます.
Header label | Description |
---|---|
VERSION | The output version will be the same as the version of the first file unless you choose otherwise in the option |
TIME OF FIRST OBS | automatically modified according to the data period of the merged file |
TIME OF LAST OBS | automatically modified according to the data period of the merged file. Note that the “TIME OF LAST OBS” is an optional, but RINGO always outputs this header. |
INTERVAL | automatically modified according to the data interval. Currently RINGO determines the interval as the most frequently occurred time interval in the merged file. |
# / TYPES OF OBSERV | The obstypes will change according to the contents of the file contents after the merge. |
SYS / # / OBS TYPES | Same as the “# / TYPES OF OBSERV” |
options⌗
Flag | Shorthand | Description |
---|---|---|
--obstypes | -t | mask of obscodes (e.g. ‘C1C,L1C,L2X&R:S1C,C1P&E:L5X’) [default: ‘’] |
--deepMerge | deeply merge RINEX observation files including PRN, obstypes within overlapping timetags [default: false] (TO BE DEFAULT FROM v0.9.2) | |
--phaseshift | apply phase shift correction (example) | |
--help | -h | show help for merge |
--h.add-new-record | add new optional headers if possible | |
--h.agency string | set agency | |
--h.ante string | set antenna dE | |
--h.anth string | set antenna dH | |
--h.antn string | set antenna dN | |
--h.antnum string | set antenna number | |
--h.anttype string | set antenna type | |
--h.aprx string | set approximate pos x | |
--h.apry string | set approximate pos y | |
--h.aprz string | set approximate pos z | |
--h.doi string | set DOI for data citation | |
--h.license string | set License (separator ‘;’ for multiple lines) | |
--h.mname string | set monument name | |
--h.mtype string | set monument type | |
--h.no-inpfiles | do not show input files in the header | |
--h.observer string | set observer | |
--h.recnum string | set receiver number | |
--h.rectype string | set receiver type | |
--h.recver string | set receiver version | |
--h.stainfo string | set Station Information (’;’ for multiple lines) |
Examples⌗
データ結合・編集⌗
下記はファイル結合の例です.
$ ringo merge 02550010.21o 02550020.21o > 02550010_merged.21o
$ ringo merge 025500[12]0.21o > 02550010_merged.21o
圧縮ファイルを解凍することもできます.
$ ringo merge 02550010.21o.gz > 02550010.21o
$ ringo merge 02550010.21o.bz2 > 02550010.21o
Compact RINEX ファイルも同様に扱うことが可能です.
$ ringo merge 02550010.21d.gz > 02550010.21o
下記は衛星軌道情報ファイルの結合の例です.
使用しているシェルに依存しますが, ワイルドカードを使用することもできます.
$ ringo merge ????0010.21n > merg0010.21n
国土地理院で提供している衛星軌道情報ファイルは, 複数の衛星軌道情報ファイルが tar でアーカイブされています. このようなファイルも同様に扱うことができます.
$ ringo merge 02550010.21N.tar.gz > 02550010.21p
ヘッダー編集⌗
ヘッダー情報の編集の例です.
$ ringo merge 02550010.21d.gz --h.agency GSI --h.observer Kawamoto > 02550010.21o
データの切り抜き⌗
ある期間のデータを切り出すこともできます.
次に示すのは, “2021/01/01 01:00:00” から “2021/01/01 02:00:00” の間のデータのみを切り出す例です.
$ ringo merge --stime "2021/01/01 01:00:00" --etime "2021/01/01 02:00:00" 02550010.21o > 02550010_clip.21o
ある信号種別のみを切り出すこともできます.
次に示すのは, L1 と L2 の信号のみを切り出す場合の例です.
例に示すように, ‘--obstypes’ オプションに続けて切り出す信号名をコンマ区切りで指定します.
$ ringo merge --obstypes "L1,L2" 02550010.21o > 02550010_l1l2.21o
ある衛星系のみ異なる信号種別を指定することもできます.
最初に “GRJECS” のいずれかと “:” により衛星系を指定し, 複数の衛星系の設定を “&” でつなげて指定することができます.
(G: GPS, J: QZSS, E: Galileo, R: GLONASS, C: Beidou, S: SBAS)
次に示すのは, GPS のみ L2X と L5X を切り出し, 他の衛星系については L1C を切り出す例です.
$ ringo merge --obstypes "L1C&G:L2X,L5X" 02550010.21o > 02550010_m.21o
特定の衛星系のデータのみを切り出すこともできます.
特定の衛星系のみを含める場合は ‘--inclSat’ を, 特定の衛星系のみを除外する場合は ‘--exclSat’ を用いて, “GRJECS” の組み合わせを指定します.
$ ringo merge --inclSat "G" 02550010.21o > 02550010_G.21o # GPS only file
$ ringo merge --inclSat "GJ" 02550010.21o > 02550010_GJ.21o # GPS and QZSS
$ ringo merge --exclSat "G" 02550010.21o > 02550010_noGPS.21o # no GPS
特定の衛星のみを切り出すには, ‘--inclPRN’, ‘--exclPRN’ を用います.
衛星系と衛星IDにより指定します. コンマ区切りで複数指定することができます.
$ ringo merge --inclPRN "G01,G02" 02550010.21o > 02550010_G01G02.21o # only G01 and G02
$ ringo merge --exclPRN "G01,G02" 02550010.21o > 02550010_G01G02.21o # without G01 and G02
データ間隔の変更も可能です. ‘--interval’ オプションにデータ間隔を秒単位で指定します. (現在, 1秒よりも短い間隔はサポートしていません)
$ ringo merge --interval 60 02550010.21o > 02550010_60s.21o
ソート⌗
次に示すのは, データをソートする例です. ‘--sort’ オプションを付与すると, タイムタグ及び衛星順がソートされます.
$ ringo merge --sort 02550010.21o > 02550010_sorted.21o
上記コマンドによりソートすると, データは次のようになります.
> 2021 01 01 00 00 0.0000000 0 31
G05 21697284.266 114019997.871 7 -2085.000 46.700 21697290.6094 88846772.50546 -1624.6764
G13 20934053.969 110009159.077 8 -1751.844 49.100 20934059.5314 85721462.52546 -1365.0704
G14 24505154.219 128775502.796 6 613.117 39.200 24505160.5594 100344544.64143 477.7544
G15 20366192.609 107025043.761 8 544.027 51.300 20366198.4884 83396175.49049 423.9184
G18 21709562.883 114084519.671 7 1345.543 44.600 21709568.6414 88897037.58246 1048.4774
G20 23553429.875 123774104.162 6 3244.309 38.400 23553435.1254 96447392.24343 2528.0314
G23 23850618.016 125335843.457 6 3100.906 39.800 23850624.1374 97664324.07344 2416.2894
G24 21628936.797 113660828.469 7 3088.203 44.900 21628945.8284 88566938.42948 2406.3914
...
“--phaseshift” オプション(サイクルシフト補正の適用)⌗
“--phaseshift” オプションを用いて, 衛星種別毎に搬送波位相を修正することができます. 受信機種別の違い等によって出力される RINEX ファイルの搬送波位相が1/4サイクル単位でずれることがありますが, このような場合に個別に修正することができます. (このオプションは, “merge” 以外のコマンドでも利用可能です.)
設定ファイルの例は下記のとおりです.
example.tbl:
// phase shift table for ringo software
//
// lines beginning with "//" are comments.
//
//
//G:
// L1X: -0.25, L2X: 0.25
//R:
// L1X: -0.25, L2X: 0.25
//J:
// L1X: -0.25, L2X: 0.25
//E:
// L1X: -0.25, L2X: 0.25
//
// apply phase cycle shifts to satellite system wide:
G :L1X -0.25, L2X 0.25,
// apply phase cycle shifts to each satellite individually:
G01:L1C -0.25, L2X -0.25,
G02:L1C -0.25, L2X -0.25,
このようなテーブルを “--phaseshift” オプションに続けて指定することで, サイクルシフト補正を適用させることができます.
$ ringo merge --phaseshift example.tbl 02550010.21o > 02550010_mod.21o
仰角マスクの適用⌗
“--elmaskf” オプションを用いて, 観測データに仰角マスクを適用することができます。この場合, 衛星軌道情報ファイルを二つ目以降のデータに指定する必要があります.
下記は仰角マスク (30度) を適用した例です.
$ ringo merge --elmaskf 30 02550010.21o 02550010.21n > 02550010_mask30deg.21o
$ ringo merge --elmaskf 30 02550010.21o 02550010.21N.tar.gz > 02550010_mask30deg.21o
方位角毎に仰角を指定したファイルを指定することで, 方位角依存仰角マスクを適用することもできます.
$ ringo merge --elmaskf elmask.txt 02550010.21o 02550010.21N.tar.gz > 02550010_mask.21o
方位角依存仰角マスクファイルは次のように方位角, 仰角をスペースで区切って記載します.
ファイル例: (elmask.txt)
% Elevation Mask
% AZ(deg) EL(deg)
0.0 7.4
1.0 7.2
2.0 9.4
3.0 10.2
...
方位角依存仰角マスクを適用した例です.
skyplot | |
---|---|
適用前 | |
適用後 |
qc⌗
qc はRINEX 観測データファイルの品質をチェックします.
観測エポック数や観測データ数, それぞれの信号毎の観測データ数, マルチパス誤差, サイクルスリップ数等をまとめて表示します.
Examples⌗
$ ringo qc 02550010.21o 02550010.21n > qc.log
$ ringo qc 02550010.21d.gz 02550010.21N.tar.gz > qc.log
clkcorr⌗
clkcorr は RINEX 観測データファイルに含まれるクロックジャンプを補正します. これによって, データの時計誤差を変えることなく一定間隔のタイムタグに揃えたり, 観測データにジャンプが発生しないように補正することができます(この場合はタイムタグが不揃いになります).
デフォルトでは, 一定間隔のタイムタグとなるようクロックジャンプが補正されます. (この振る舞いは teqc ソフトウェアの ‘-smtt’ オプションと同様のものです.)
また, ‘--smpr’ オプションの指定により, 観測データにクロックジャンプが含まれないような振る舞いに切り替えることも可能です. この場合は, タイムタグにミリ秒単位のクロックジャンプが蓄積されたデータとなります.
Examples⌗
$ ringo clkcorr XXXXXXXX.XXo > timetagSmoothed_RINEX
$ ringo clkcorr --smpr XXXXXXXX.XXo > rangeSmoothed_RINEX
ioncorr⌗
ioncorr は GNSS 信号への電離層遅延の影響を補正します. 一次項及び二次項の影響を補正することができます. 補正には, 衛星軌道情報ファイルに加え, IGS から提供されている IONEX ファイルが必要です.
Examples⌗
以下は, 電離層遅延の影響を補正した例です.
一つ目は, 一次項の影響を取り除いた例です. オプションに ‘-1’ を指定すると一次項の影響が取り除かれます.
二つ目は, 一次項に加え二次項の影響を取り除いた例です. オプションに ‘-2’ を指定すれば二次項の影響を取り除くことができます.
// remove the 1st order effect
$ ringo ioncorr -1 02550010.21o 02550010.21N.tar.gz igsg0010.21i > 02550010_1.21o
// remove both the 1st and 2nd order effects
$ ringo ioncorr -1 -2 02550010.21o 02550010.21N.tar.gz igsg0010.21i > 02550010_12.21o
viewer⌗
viewer は HTML5 ベースのインタラクティブなビューワーを出力します.
RINEX 観測データ用, 品質チェック用の二種類に対応しています.
Examples⌗
一つ目は, 観測データ用のビューワーを出力した例です.
二つ目は, 品質チェック用のビューワーを出力した例です.
$ ringo viewer 02550010.21o > 02550010_21o.html
$ ringo viewer --qcmode 02550010.21o > 02550010_21o_qc.html
rnxcsv⌗
rnxcsv は RINEX 観測データファイルを csv 形式で出力します. それぞれの衛星毎に, 観測コード毎に区切られた csv ファイルが出力されます.
出力する際に, “--outdir” オプションで衛星毎にファイル分割して出力することや, 衛星軌道情報ファイルを追加で与えることで方位角と仰角を追加で出力することもできます.
また, “--qcmode” オプションを付与することで品質評価結果を時系列で出力することもできます.
そのほか, 区切り文字の変更 ("--sep"), 空白削除 ("--no-space"), ヘッダ行削除 ("--no-header") 等のオプションにより出力形式の変更が可能です.
Examples⌗
次に示すのは, RINEX 観測データファイルを csv 形式で出力する例です.
// output a csv file containing all satellites
$ ringo rnxcsv obsfile > rnx.csv
// output csv files to an output directory and csv files are output separetely for each satellite
$ ringo rnxcsv obsfile --outdir ./out
// output a csv file that also includes azimuth and elevation angles by additional navigatin file
$ ringo rnxcsv obsfile navfile > rnx.csv
“rnxcsv” コマンドを実行すると下記のような内容が出力されます.
> PRN, time, az, el, C1C, L1C, D1C, S1C, C2W, L2W, D2W, S2W, C2X, L2X, D2X, S2X, C5X, L5X, D5X, S5X
G01, 2021-01-01 11:04:30.000, 196.84, 5.70, 24885503.563, 130773983.465, 4048.820, 30.700, , , , , , , , , , , ,
G01, 2021-01-01 11:05:00.000, 196.84, 5.90, 24862386.023, 130652698.591, 4050.078, 31.300, 24862396.988, 101807359.859, 3155.906, 25.100, 24862396.621, 101807311.887, 3155.906, 34.800, 24862392.668, 97565339.833, 3024.410, 41.100
G01, 2021-01-01 11:05:30.000, 196.84, 6.11, 24839260.133, 130531173.631, 4051.367, 32.900, 24839271.230, 101712665.530, 3156.910, 27.100, 24839271.102, 101712617.554, 3156.910, 36.100, 24839266.750, 97474591.196, 3025.371, 40.900
G01, 2021-01-01 11:06:00.000, 196.83, 6.31, 24816128.070, 130409613.174, 4052.227, 33.200, 24816139.004, 101617943.573, 3157.578, 28.300, 24816138.402, 101617895.580, 3157.578, 36.400, 24816133.836, 97383816.091, 3026.012, 41.600
G01, 2021-01-01 11:06:30.000, 196.83, 6.52, 24792989.375, 130288019.850, 4053.562, 33.000, 24793000.121, 101523195.994, 3158.621, 28.300, 24792999.586, 101523148.008, 3158.621, 37.200, 24792994.977, 97293016.432, 3027.012, 42.000
...
“rnxcsv” は “--qcmode” オプションにより, 品質評価結果の時系列を出力することもできます.
// output quality check results to a csv file
$ ringo rnxcsv obsfile navfile --qcmode > rnx.csv
この場合は, 下記のような内容が出力されます.
> PRN, time, az, el, MP1, MP2, MP5, GF, MW, IOD1, s1, s2, s5, sg, sm, si
G01, 2021-01-01 11:05:00.000, 196.84, 5.90, 0.524, 0.150, 0.093, -15.203, -62.609, -38.704, , , , , ,
G01, 2021-01-01 11:05:30.000, 196.84, 6.11, 0.401, 0.268, 0.074, -15.312, -62.591, -38.981, , , , , ,
G01, 2021-01-01 11:06:00.000, 196.83, 6.31, 0.884, 0.704, -0.151, -15.429, -63.054, -39.277, , , , , *,
G01, 2021-01-01 11:06:30.000, 196.83, 6.52, 0.981, 0.727, -0.076, -15.542, -63.118, -39.567, , , , , ,
...
“--qcmode” で出力した結果の中で, アスタリスク “*” はサイクルスリップが検出されたタイミングを示しています. それぞれ MP1 (s1), MP2 (s2), MP5 (s5), GF (sg), MW (sm), IOD (si) 線型結合において検出された結果を示しています.
bingo⌗
bingo は BINEX 形式のバイナリデータを RINEX ファイルに形式変換します.
RINEX 観測データを出力する場合は ‘--outobs’ の後に出力ファイル名を, RINEX 衛星軌道情報データを出力する場合は ‘--outnav’ の後に出力ファイル名を指定します.
Examples⌗
次に示すのは, BINEX 形式のバイナリデータを RINEX 観測データファイルと衛星軌道情報ファイルに形式変換する例です.
$ ringo bingo 02550010_21.bnx --outobs 02550010.21o --outnav 02550010.21p
rtcmgo⌗
rtcmgo は RTCM 形式のバイナリデータを RINEX ファイルに形式変換します.
RINEX 観測データを出力する場合は ‘--outobs’ の後に出力ファイル名を, RINEX 衛星軌道情報データを出力する場合は ‘--outnav’ の後に出力ファイル名を指定します.
Examples⌗
次に示すのは, RTCM 形式のバイナリデータを RINEX 観測データファイルと衛星軌道情報ファイルに形式変換する例です.
$ ringo rtcmgo 02550010_21.rtcm --outobs 02550010.21o --outnav 02550010.21p
completion⌗
completion は bash, fish, powershell, zsh のいずれかに対応したシェル補完スクリプトを出力します. この機能を利用することで, ringo 使用時にそれぞれのコマンドやオプション(フラグ)が tab キーにより補完されるようになります.
次のように使用するシェルに対応した補完スクリプトを出力します.
$ ringo completion [ bash | fish | powershell | zsh ] > completion
* この機能はライブラリとして用いている cobra に依存しており, 今後のサポートは cobra の開発状況に依存します.
Examples⌗
次に示すのは, bash 用のシェル補完スクリプトを導入する例です.
$ ringo completion bash > completion.bash
そして, .bashrc等に下記を書き込みます.
$ source completion.bash
すると, ringo 使用時に tab 補完が適用されるようになります.
$ ringo merge --h.[tab]
--h.add-new-record (add new optional headers if possible)
--h.agency (set agency)
--h.ante (set antenna dE)
--h.anth (set antenna dH)
--h.antn (set antenna dN)
--h.antnum (set antenna number)
--h.anttype (set antenna type)
--h.aprx (set approximate pos x)
--h.apry (set approximate pos y)
--h.aprz (set approximate pos z)
--h.doi (set DOI for data citation)
--h.license (set License (separator ';' for multiple lines))
--h.mname (set monument name)
--h.mtype (set monument type)
--h.no-inpfiles (do not show input files in the header)
--h.observer (set observer)
--h.recnum (set receiver number)
--h.rectype (set receiver type)
--h.recver (set receiver version)
--h.stainfo (set Station Information (';' for multiple lines))
その他のシェルにおいて tab 補完を有効にする方法は completion コマンドのヘルプで設定例を確認することができます.
$ ringo completion --help
cal⌗
cal は GNSS カレンダーを表示します. 通常のカレンダーに加えて GNSS 週や年通算日が表示されます.
デフォルトでは, cal は現在の月の GPS カレンダーを表示します. 月や年が引数で与えられた場合は, その月や年の GNSS カレンダーを表示します. 引数に年のみが与えられた場合は, その年1年分の, “-3” オプションを指定すると, 指定した月の前後含めた3か月分の表示になります. また, “--satsys” オプションで衛星系を指定すると, 表示される GNSS 週をその衛星系のものに切替えることができます.
Usage⌗
$ ringo cal [Flags] [[month] year]
flags:
-h, --help help for gnsscal
-n, --hoff turns off highlight of today [default: highlight on]
-3 three-month layout that displays previous, current and next months
--satsys satellite system of GNSS week; 'GPS', 'QZS', 'GAL', 'BDS', or 'GLO' [default: GPS]
Examples⌗
// Display the GNSS calendar for current month
$ ringo cal
GPS October 2023
Week Sun Mon Tue Wed Thu Fri Sat
2282 1 2 3 4 5 6 7
274 275 276 277 278 279 280
2283 8 9 10 11 12 13 14
281 282 283 284 285 286 287
2284 15 16 17 18 19 20 21
288 289 290 291 292 293 294
2285 22 23 24 25 26 27 28
295 296 297 298 299 300 301
2286 29 30 31
302 303 304
// Display the calendar for a specific month, e.g. January 2023
$ ringo cal 1 2023
GPS January 2023
Week Sun Mon Tue Wed Thu Fri Sat
2243 1 2 3 4 5 6 7
001 002 003 004 005 006 007
2244 8 9 10 11 12 13 14
008 009 010 011 012 013 014
2245 15 16 17 18 19 20 21
015 016 017 018 019 020 021
2246 22 23 24 25 26 27 28
022 023 024 025 026 027 028
2247 29 30 31
029 030 031