蔵王温泉を満喫したのち、14:30過ぎに川渡温泉に到着。今年3回目の高東旅館に泊まる。旅館というより限りなく湯治場に近い温泉宿である。宿泊にあたってのチェックインルールや持参したほうがよいもの、川渡温泉の見どころをまとめた。
休みをとって鳴子温泉郷にいってきた。 鳴子といっても中心の鳴子温泉ではなく、南端の川渡温泉での湯治もどきの旅行です。 鳴子温泉までの道筋は国道4号側の温泉に寄り道し、加美町で食材を調達して国道47号を西へ進むことが多かったのだけれど、今回は国道…
ストリームクライアント NtripプロトコルはHTTPライクなシーケンスの後、ストリームでRTCMが送信されます。 新たに学び始めたscalaで、本シーケンスをシミュレートするクライアントを作成していきたいと思います。 Akka streaming / HTTP scalaにはHTTPスタ…
bit列で数値を抜き出す必要性 一部のプロトコルではデータがbyteやinteger単位ではなく、bit単位で設定されています。 特定bit列を数値に変換するには先頭bitから最終bitまでシフトしつつ足していくことで取得することができますが、バイト単位にキャストし…
本題のGNSSデータ NtripのRequest/Response、RTCM3フォーマットの解析まできてようやくGNSSデータにたどり着きます。 RTCM3のデータ部分は最初の12bitsがメッセージタイプとなり、メッセージタイプの一覧は以下のページで参照できます。 SNIP Knowledge Base…
RTCM3 メッセージ フォーマットがRTCM 3.xとなっているmountpointにRequestを送信すると、"ICY 200 OK"を受信したのちGNSSデータ(RTCMメッセージ)がストリーミングで送られてきます。 ストリーミングなので1パケットにひとつのRTCMメッセージが含まれてい…
SOURCETABLE ストリーミング(STR)フォーマット 英語でのフォーマット説明はネットで見つかりますが、日本語版で。 各パラメータの区切り文字は ’:’(半角)です。 # パラメータ 意味 フォーマット 例 1 <type> = STR データストリームSTR(Data Stream) / CAS(Ca</type>…
Checksum NEMAフォーマットは$で始まり、で終わります(のあとにchecksumをつける)。 checksumは、最初の文字と次の文字の排他的論理和(xor)を最後の文字まで続けることにより得ることができます。 /** * @param data 計算対象文字列 * @param startPos …
Ntrip(Networked Transport of RTCM via Internet Protocol)とは NtripはRTCM(Radio Technical Commission for Maritime Services)で規定されているインターネット上でGNSSデータを送信するためのプロトコルです。 GNSS単独測位ではメートル級の誤差が生…
プロトコル実装の際、送受信データをバイナリとアスキーの両方で確認したいことが多々あります。 標準出力で確認できるようテキスト(String)に変換するサンプルプログラムを作成しました。 public String hexDump(final byte[] data, int length) { if(dat…