Beyond your wall with Drogger

ドロガーで壁を越えよう

DG-PRO1RWS 高精度スタティック測位をする

今回は、DG-PRO1RWS(以下RWS)のRAWデータと国土地理院の電子基準点の観測データとRTKLIBを使用して、後処理で高精度センチメートル級スタティック測位をする方法をご紹介します。

「スタティック測位」は、直訳は定点測位ですが、ここではリアルタイムに補正データを使用するRTKではない、後処理による測位として説明します。

この記事は、DG-PRO1RW とRWSのどちらでも有効です。

この記事は古く、最新のDrogger-GPSアプリの操作に適合しなくなっています。最新は以下のDrogger Processorユーザズガイドをご覧ください。

Drogger Processor ユーザーズガイド - Beyond your wall with Drogger

追記 2022/03/20
BizStationで開発した高精度 static基線解析ソフトウェア Drogger Processor がリリースされました。 この記事で紹介していた内容が驚くほど簡単に行えるようになりました。 drogger.hatenadiary.jp

概要

RTKはリアルタイムにセンチメートルレベルの測位が可能で便利ですが、常に基準局の補正データを受信する必要があります。ところが、山岳地帯でモバイル通信ができなかったり、近くに利用できる基準局がなくこれから基準局を作るような場合は、補正データを受信することができません。

そこで、活躍するのが後処理によるスタティック測位です。RWSで観測データをログに取り同時刻の電子基準点の観測データを使って後処理により高精度センチメートル級の測位が可能です。

タイトルではスタティック(静止)測位としていますが、キネマティック(軌跡)測位も同じ方法で可能です。

山岳地帯で測位するような場合は、位置を知りたい場所での時刻を正確にメモしておいてください。後処理での測位結果からその時刻の位置を求めます。

基準局のためのアンテナ位置測位の場合は、数時間(さらに何回かの)の測位結果の平均を取ってより正確なアンテナ位置を求めます。

必要なもの

  • DG-PRO1RWS + Android + Drogger-GPSアプリ
  • 国土地理院の電子基準点の観測データにアクセスするアカウント
  • Windows PCとRTKLIBソフトウェア
  • 国土地理院のtar.gz形式の圧縮データを解凍するソフトウェア (7zipなど)

それぞれの役割

DG-PRO1RWS + Android + Drogger-GPSアプリ

この組み合わせで、現場での観測データをログに取ります。

国土地理院の電子基準点の観測データ(GEONET)

国土地理院の電子基準点ではGNSSを使って、GPS QZSS GLONASS Galileoの観測を行っています。これらはGEONET(GNSS連続観測システム)と呼ばれています。 GEONETの観測データは国土地理院から誰でも無償でダウンロードすることができます。この観測データと、現場での観測データを使って搬送波位相を利用した高精度測位をします。尚、ダウンロードには事前にアカウント登録が必要です。

RTKLIBソフトウェア

RTKLIBは高須先生が開発された、フリーで使用できるRTK測位に使用するソフトウェア群の総称です。今回使用するのは、RTKCONV.exeとRTKPOST.exeの2つです。

RTKCONV.exeはRWSの観測データ(RAWデータ)をRINEXと呼ばれる共通データの形式にフォーマットを変換します。

RTKPOST.exeは、以下の3つのデータを入力し、搬送波位相を使った計算をし測位結果を出力します。衛星軌道データは電子基準点の観測データとともに、国土地理院のサイトからダウンロード可能です。

  1. GEONETの観測データ
  2. 衛星軌道データ
  3. RTKCONVで変換した観測データ

データとプログラムの関係図(左から右へ処理)

事前の準備

RTKLIBのインストール

RTKLIBは以下のページで公開されています。しかし慣れない方には少し難しいでしょう。 http://www.rtklib.com/

以下をクリックすると、2.4.3 b33のzip形式をGithubからすぐダウンロードできます。

DOWNLOAD_RTKLIB_2.4.3 b33

このzipファイルを開くと、RTKLIB_bin-rtklib_2.4.3というフォルダがあります。このフォルダごと例えばデスクトップにコピーしてください。インストールはこのコピーだけで、インストールプログラムを実行する必要はありません。

デスクトップにコピーしたところ

DG-PRO1RWSに最適化したRTKLIB設定のインストール

以降で使用するRTKCONVRTKPOSTDG-PRO1RWSに最適化した設定ファイルを用意しました。以下をダウンロードし、中の2つのファイルを上記RTKLIB_bin-rtklib_2.4.3配下のbinフォルダにコピーします。

https://www.bizstation.jp/DroggerGps/rtklib/rtklib_settings.zip

コピーしたファイル

これで、RTKLIBのインストールは終了です。

7ZIPのインストール

お使いのコンピュータに、tar.gz形式の圧縮ファイルを解凍するソフトが無い場合は、7ZIPという解凍ソフトをインストールします。 ダウウンロードは以下から行ってください。 https://forest.watch.impress.co.jp/library/software/7zip/

国土地理院アクセスアカウントの取得

https://ssosv.gsi.go.jp/piss/Attention.aspxにアクセスして利用規約に同意して進めます。

うまく行かない場合は、FAQ(よくあるご質問)などを参照してみてください。質問は、お問い合わせにて問い合わせてみてください。

最寄りの電子基準点を探す

  1. アカウントが取得できたら、電子基準点データ提供にアクセスして[電子基準点 観測データ取得]をクリックします。

  2. ログイン画面が出たら、取得したユーザー名とパスワードを入力して[ログイン]をクリックします。

  3. 以下の画面が表示されたら、[稼働中]にのみチェックを付けます。(画面が表示しきるまでに少し時間がかかります)

  4. 地図を拡大し、観測したい場所に最も近い電子基準点(緑の四角アイコン)を探し、そのアイコンをクリックします。

    局番号と局名称が表示されます。あとで検索に便利ですのでこの番号は控えておいてください。

尚、この電子基準点は観測点から10Km以内が理想です。距離が離れれば離れるほど精度が落ちたり、Fixしないといったことになります。

AndroidからPCへのデータ転送方法を用意する

観測データはAndroid端末に保存されます。RTKLIBによる処理はPCですので、データを転送するしくみを準備します。

転送する方法は、大きく分けてGoogleドライブなどを経由して行う方法と、AndroidとPCを直接USBケーブルで接続して行う方法があります。GoogleドライブはほとんどのAndroidですぐ使えることと出先からも転送できますので、以降の説明はGoogleドライブでの方法をご案内します。

Googleドライブを使用するには、Android端末で使用しているGoogleアカウントのユーザー名とパスワードを入力する必要がある場合があります。事前に把握しておいてください。

RWSによる観測とRAWデータのロギング

スタティック測位に使用する観測データをRAWデータ(生データ)と呼んでいます。Drogger-GPSを使用して簡単にRAWデータを取得することができます。

RWSを設定する

まず、Drogger-GPSアプリは最新にしてください。古いアプリでは必要な項目がないなどします。(アプリの更新方法

  1. Drogger-GPSを起動します。
  2. ギアマークをタップして設定を開きます。
  3. [...メニュー]をタップし[デフォルトに戻す]をタップします。
  4. [GNSS (衛星測位システム)]をタップします。GPS and QZSS GLONASS Galileo を有効にします。Beidouは必ずOFFにしてください。(国土地理院の観測データにBeidouは無いため)
  5. [計測・更新レート]をタップし[1Hz]を選択します。
  6. 設定を終了します。

これで準備が整いました。 それでは実際の観測と処理を進めます。

観測とロギング

測位全般に言えることですが、アンテナはグランドプレーンを付け出来るだけ高い位置にします。ポールや三脚を使い地面から1.5m以上確保しましょう。地面や石、テーブルの上といったところでは正確な測位はできませんし、全くFixしないなどします。

基準局を作る場合は、周囲360°、最低でも仰角15°以上には何もない場所へのアンテナの固定が必要です。

また、精度を求めるには出来るだけ長い時間の測位が良いわけですが、時間が長いと非常に大きなデータとなり、ファイルコピーや計算にも時間がかかります。最初は10分程度の小さなデータで試してみることをお勧めします。

観測開始

  1. Drogger-GPSを起動します。
  2. [Start]をタップして接続を開始します。
  3. しばらく測位を続け十分な数の衛星を捕捉し安定するまで待ちます
  4. ギアマークをタップし [RTK]-[Rawデータを記録する]をONにします。
    [Stop]ボタンの下に Rawと表示されていれば、ロギングされています。(最新版はRAWとだけ表示されます))

Rawデータは非常にサイズの大きなデータです。Android端末のBluetooth能力が低いと処理が間に合わないものもあります。その場合DMPとSateliitesの表示をOFFにしてください。Rawデータ以外の不要なデータ転送が停止され能力不足を解消できます。

観測終了

  1. 観測が終了したら[stop]をタップします。

ログのコピー

  1. ギアマークの横のフォルダアイコンをタップします。

  2. [xxxxx.ubx]と最後にubxと付いたデータを長押しします。

  3. 共有アイコンをタップし、共有先一覧から[ドライブに保存]をタップします。
  4. アカウントとフォルダを選択して[保存]をタップします。

Googleドライブアプリの設定で、「Wi-Fi経由でのみファイル転送」が有効な場合WiFi接続がされていないと転送されませんのでご注意ください。

複数の観測ポイントがある場合、観測開始からこのログのコピーまでを繰り返し行います。

GEONET観測データの準備

ここからの処理はすべてWindows PCでの処理です。

データのフォルダの準備

データをコピーするためのフォルダを準備します。 ここでは、デスクトップのRTKLIB_bin-rtklib_2.4.3フォルダの下にdataという名前のフォルダを作成します。

  1. デスクトップのRTKLIB_bin-rtklib_2.4.3フォルダを開きます。
  2. binフォルダが見えると思いますが、その付近の何もないところを右クリっクして、[新規作成]-[フォルダ]をクリックします。
  3. 名前をdataに変更します。

拡張子の表示

以降で扱うファイルは、特殊な拡張子が使われています。条件によっては拡張子が隠されて見えなくなりますので常に見えるようにしておくと便利です。

  1. RTKLIB_bin-rtklib_2.4.3フォルダを開きます。
  2. 上部の、[表示]タブをクリックします。
  3. [ファイル名拡張子]にチェックを付けます。

観測データダウンロード

  1. ブラウザで電子基準点データ提供へアクセスします。
  2. [電子基準点 観測データ取得]をクリックします。
  3. ログインID、パスワードを入力し[ログイン]をクリックします。
  4. [同意する(提供サービス画面へ)]をクリックします。
  5. 地図から前記で調べた基準点を探しクリックします。
  6. 選択一覧タブに目的の基準点が表示されたら、[ダウンロード]をクリックします。

  7. [任意時間のデータダウンロード]の[開始日時]と[終了日時]を現地観測した時間が含まれるように設定します。
  8. [衛星]からGRJEを選択します。RINEXバージョンは自動的に3.02になります。
  9. [任意時間データのダウンロード]をクリックします。

  10. 観測ファイルと衛星軌道情報ファイルのそれぞれの[ダウンロード]をクリックし2つのデータをダウンロードします。

データの解凍とコピー

  1. (ファイル)エクスプローラにてPCのダウンロードフォルダを開きます。
  2. ダウンロードした、xxxxx.tar.gz ファイルとxxxxxx.gzファイルをそれぞれ開いて、中のファイルを、上記で作成したdataフォルダにコピーします。

合計5個のファイルがコピーされます。(ファイル名は最後の文字、o g q l n 以外は異なってOKです)

電子基準点アンテナ位置データの取得

RTKLIBでデータ処理する際に、基準局のアンテナ位置を指定する必要があります。ここで電子基準点のアンテナ位置が記録されたファイルをダウンロードします。

このファイルの中は年初からの日々のデータとなっていますが、一番最後の最新のデータのみ使用します。

  1. https://terras.gsi.go.jp/pos_main.phpを開きます。
  2. [電子基準点]から目的の基準点を選択します。
  3. [ダウンロード]をクリックします。

  4. 日々の座標値ファイル xxxxxx.posをクリックします。ダウンロードが開始されます。

  5. (ファイル)エクスプローラにてPCのダウンロードフォルダを開きます。
  6. xxxxxx.posファイルをメモ帳で開きます。
  7. 一番下までスクロールし、最後の日のアンテナ位置をメモします。

  8. 右から、高度、経度、緯度でそれぞれE以降を取り10倍(E+01)または100倍(E+02)します。 (例 緯度 36.239029396 経度 137.98455596 高度 648.03662885)

RTKLIBによるデータ処理

これから説明するRTKLIBのプログラムにはさまざまなオプションがありますが、事前にコピーしていただいた設定のまま基本的に何も変更する必要はありません。

GoogleドライブからPCにデータをダウンロードする

  1. ブラウザで以下のURLにアクセスします。
    https://drive.google.com/drive/my-drive
  2. 左のマイドライブをクリックし、中央ペインからAndroidで保存した xxxx.ubxファイルを探します。
  3. xxxx.ubxを右クリックして[ダウンロード]をクリックします。
  4. ダウンロードしたxxxx.ubxファイルを上記で作成したdataフォルダにコピーします。

観測データ(Rawデータ)をRINEXに変換する

  1. デスクトップのRTKLIB_bin-rtklib_2.4.3フォルダを開き、その下のbinフォルダを開きます。
  2. rtkconvを開きます。 (不明な発行元といった警告が出来る場合がありますが[詳細情報]をクリックし[実行]を選択します)
  3. 下図の①から④を順に設定していきます。

     ①をクリックしdataフォルダの.ubxファイルを選択します。
     ②をクリックしdataフォルダを選択します。
     ③ u-bloxを選択します。
     ④自動的に入力されたままでOKです。
  4. [Covert]をクリックします。小さなファイルの場合すぐに終わりますがそれでOKです。
    不安な場合はもう一度[Covert]をクリックしてください。上書き確認の[Overwrite]ボタンが出れば変換されたファイルが生成されています。

位置計算をする

ここまでで計算に必要なプログラムとデータの準備ができました。いよいよ、RTKPOSTを使用して搬送波位相を使用した位置計算を行います。

  1. デスクトップのRTKLIB_bin-rtklib_2.4.3フォルダを開き、その下のbinフォルダを開きます。
  2. rtkpostを開きます。
  3. 下図の①から④を順に設定していきます。

     ①をクリックしdataフォルダの.obsファイルを選択します。
     ②をクリックしdataフォルダの.xxoファイルを選択します。
     ③順に、dataフォルダにある最後が g q n lで終わるファイルを指定します。
  4. [Options...]をクリックします。

  5. [Positions]タブを選択し、[Lat/Lon/Height(deg/m)]を選択し、「電子基準点アンテナ位置データの取得」で得た、緯度・経度・高度を入力します。
  6. [OK]をクリックします。
  7. [Execute]をクリックします。

Options
以下の項目は変更することでFIXし易さが変わりますので試してみてください。

タブ 設定名 内容
Setting1 Filter Type Forword(順方向)よりCombine(双方向)の方が処理時間がかかるがFixし易い
Setting1 Elavation Mask 測位点によるが25°前後で変えてみる
Setting2 Min ration to Fix Ambiguity デフォルト3から下げていくとFixし易くなるがミスFixが多くなるので注意

測位結果を見る (.posファイル)

それでは測位結果ファイル(.pos)を見てみましょう。

  1. dataフォルダを開きます。
  2. posファイルを右クリックして、[プログラムから開く]をポイントし[メモ帳]を選択します。メモ帳の候補が無い場合は、[別のプログラムを選択]をクリックして一覧から[メモ帳]をクリックします。

少しスクロールすると図のようにきれいに整列したデータが見えます。タイトル[Q]列は、測位ステータス表示で、1はFIX2はFLOATです。 左から 日付・時刻・緯度・経度・楕円体高・RTKステータスの順です。

エクセルなどに取り込めばfixだけの絞り込みや、緯度・経度・楕円体高の平均値などが計算できます。

基準局のアンテナ位置を求める場合は、上空の衛星配置を変えて測位するために何回かに分けて複数回計測し、平均を求めるなどすることをお薦めします。

基準局のアンテナ位置の決定

ここで求まった位置は、電子基準点の「日々の座標値」を使用していますので「今期」です。一般的には基準局のアンテナ位置は「元期」で指定されます。セミ・ダイナミック補正を使用して元期に変換しましょう。

drogger.hatenadiary.jp

補足情報

DG-PRO1RWSを基準局として後処理する

ここまでは、上記は電子基準点を基準局としての後処理について説明いたしましたが、後処理の基準局は電子基準点に限定されません。 他の搬送波測位が可能なレシーバ(DG-PRO1RWS)も基準局として使用できます。ただし、基準局のアンテナ位置はわかっていなければなりません。

DG-PRO1RWSを基準局として使用する場合は、RAWデータだけでなく衛星航法メッセージも含めることができます。含めたい場合は[設定][RTK][衛星航法データも加える]をONにします。これは、基準局または移動局のいずれか一方で記録すればOKです。

基準局はRAWデータまたはRTCM3をロギングし、rtkconvを使用して.obsファイルに変換します。その際、衛星航法メッセージは.navファイルとして出力されます。

最後に

RTKLIBの使い方などは(すみませんがビズステーションではサポートできませんので)以下をご覧ください。 RTKLIBの日本語マニュアル

後処理での測位は、なかなか手順がたくさんあって容易とはいいがたいものです。時間があったら、RAWデータと国土地理院のアカウントを入れれば一発で計算してくれるツールをつくりたいと思っています。

最後に素晴らしいソフトウェアを提供されている高須先生に感謝です。

Enjoy with Drogger

Droggerの詳細・ご購入は https://www.bizstation.jp/ja/drogger/