2019-06-01から1ヶ月間の記事一覧

Scala 正規表現のパターンマッチ match case式による直接処理

Scala パターンマッチ Scalaでは文字列をマッチングさせる場合、match式で処理を書くことができます。 "abcdef" match { case "abcdef" => println("match") case _ => println("not match") } 上記のような直接比較では問題ないのですが、正規表現を使う場…

【湯治宿・自炊宿の宿泊】宮城県大崎市 川度温泉 高東旅館 東五郎の湯

蔵王温泉を満喫したのち、14:30過ぎに川渡温泉に到着。今年3回目の高東旅館に泊まる。旅館というより限りなく湯治場に近い温泉宿である。宿泊にあたってのチェックインルールや持参したほうがよいもの、川渡温泉の見どころをまとめた。

【山形県 村山の温泉】山形市 蔵王温泉 下湯共同浴場 川原湯共同浴場

休みをとって鳴子温泉郷にいってきた。 鳴子といっても中心の鳴子温泉ではなく、南端の川渡温泉での湯治もどきの旅行です。 鳴子温泉までの道筋は国道4号側の温泉に寄り道し、加美町で食材を調達して国道47号を西へ進むことが多かったのだけれど、今回は国道…

Akka HTTPを利用したストリームクライアント

ストリームクライアント NtripプロトコルはHTTPライクなシーケンスの後、ストリームでRTCMが送信されます。 新たに学び始めたscalaで、本シーケンスをシミュレートするクライアントを作成していきたいと思います。 Akka streaming / HTTP scalaにはHTTPスタ…

バイト配列の一部bit列を数値に変換 : java

bit列で数値を抜き出す必要性 一部のプロトコルではデータがbyteやinteger単位ではなく、bit単位で設定されています。 特定bit列を数値に変換するには先頭bitから最終bitまでシフトしつつ足していくことで取得することができますが、バイト単位にキャストし…

RTCM3 メッセージタイプ

本題のGNSSデータ NtripのRequest/Response、RTCM3フォーマットの解析まできてようやくGNSSデータにたどり着きます。 RTCM3のデータ部分は最初の12bitsがメッセージタイプとなり、メッセージタイプの一覧は以下のページで参照できます。 SNIP Knowledge Base…

クライアントから見たRTCM3

RTCM3 メッセージ フォーマットがRTCM 3.xとなっているmountpointにRequestを送信すると、"ICY 200 OK"を受信したのちGNSSデータ(RTCMメッセージ)がストリーミングで送られてきます。 ストリーミングなので1パケットにひとつのRTCMメッセージが含まれてい…

Ntrip version 1.0 sourcetable フォーマット

SOURCETABLE ストリーミング(STR)フォーマット 英語でのフォーマット説明はネットで見つかりますが、日本語版で。 各パラメータの区切り文字は ’:’(半角)です。 # パラメータ 意味 フォーマット 例 1 <type> = STR データストリームSTR(Data Stream) / CAS(Ca</type>…

NMEA checksum

Checksum NEMAフォーマットは$で始まり、で終わります(のあとにchecksumをつける)。 checksumは、最初の文字と次の文字の排他的論理和(xor)を最後の文字まで続けることにより得ることができます。 /** * @param data 計算対象文字列 * @param startPos …