R Roam Roamを入手

信号が切れたとき、記録アプリは何をすべきか

どんなトラッカーも、いつかはトンネルに入ります。違いが出るのは、見えなかった区間について何を書き残すかです。そしてよくある答え——その間を直線でつなぐ——は、アプリが責任を持てない数字です。

トンネルに入ります。四分のあいだ、受信機は何も聞き取れません。出口を抜けると測位が戻ってきます。アプリの手元には、点の塊が二つと、そのあいだに空いた穴が一つ残ります。そして、この穴について何を書き残すかを決めなければなりません。

正直な選択肢は三つしかありません。そして多くのアプリは、一つ目を選びます。

選択肢その一:直線でつなぐ

途切れる直前の点と、復帰した最初の点を線で結び、その線の分だけ走ったことにします。実装がいちばん簡単で、見た目も整います。これが既定の答えになっている理由は、だいたいそこにあります。

そしてこれは作り話でもあります。その四分間に何が起きたかについて、アプリは何の証拠も持っていません。直線は山腹を貫き、川を横断します。そしてその長さは——どんな長さであれ——走行距離に足し込まれ、実際に走った距離と見分けがつかなくなります。短い途切れが十数回ある街中のライドでは、それが静かに、しかも一方向にだけ積み上がります。常に増える方向で、減ることはありません。

最悪なのはトンネルですらありません。谷底で受信が切れ、十一キロ先で復帰し、あなたが迂回して回り込んだ山の上に、完全にまっすぐな十一キロの線を引いてしまう場合です。

選択肢その二:ライドごと捨てる

確信の持てないものは一切表示しない、という立場です。誰もそんなことはしませんし、すべきでもありません。八十キロのうち四分がまずかっただけのライドは十分によいライドで、統計の数字を守るためにそれを消すのは、割に合わない取引です。

選択肢その三:穴を穴として記録する

二つの区間を分けたまま保持し、途切れを両端と時刻を持つ一つの実体として保存し、そのあいだを何も補間せず、直線距離を走行距離に加えない。そのうえで画面にそう書く。ここが欠けている、長さは四分、下に出ている数字にはそれは入っていない、と。

見た目は整いませんが、実用上はずっと役に立ちます。距離の数字が、推測ではなく下限になるからです。そこに入っているものはすべて、受信機が実際に見たものです。そして後から、そのライドがきれいな計測なのか、穴の空いた計測なのかを判断できます。信用できる少し小さい数字は、信用できない少し大きい数字に勝ちます。

Roam(ローム)はこの三つ目を選んでいます。測位が止まると現在の区間を閉じ、新しい区間を開きます。途切れは、閉じた側の点がもともと持っている二つの事実として保存され、その点と同じトランザクションで確定します。だから途切れが「半分だけ書かれた」状態で存在することはありません。トンネルの途中でアプリが落とされても同じです。途切れは決して補間されず、その長さが距離として数えられることもありません。地図の上の破線と、「信号が四分間途切れました」と伝える一文は、同じ関数から出てきます。絵と数字が食い違いようのない作りです。

より厄介な問題:停止と圏外は見分けがつかない

座標の列だけを眺めていると、赤信号で止まっていることと受信が切れたことは同じに見えます。位置が変わらなくなるか、届かなくなるか、それだけだからです。片方向に読み違えるアプリは、トンネルの入口でライドを一時停止し、経過時間を四分落とします。逆方向に読み違えるアプリは、あなたがカフェで座っているあいだも時計を回し続け、移動平均速度の説明がまるでつかない二時間のライドを報告します。

抜け道は、GPS に尋ねるのをやめることです。スマホには加速度センサーが載っていて、いま時速二十五キロで運ばれているのか、テーブルの上に置かれているのかを、ちゃんと知っています。しかもその情報は、衛星が聞こえているかどうかとまったく無関係です。Roam がスマホのモーションデータを使っているのは、まさにこのためです。本当の停止と信号の消失を区別して、誤って一時停止しないようにするため。このアプリがモーションとフィットネスの許可を求める理由は、それ一つだけです。

自分の記録アプリで確かめること

  1. トンネルか立体駐車場を通ってから地図を見る。破線になっているか、それとも妙にまっすぐな区間があるか。
  2. 距離の分かっているルートと数字を突き合わせる。街中のライドで一貫して長めに出るなら、それは途切れを補間している徴候です。
  3. そもそも途切れがあったことを、アプリが伝えてくるかどうかを見る。伝えてこないなら、自分のどのライドがきれいなのかを知る手立てがありません。
  4. 空の開けた場所で十分ほど止まってみて、経過時間と移動時間が納得のいく形で離れていくかを確かめる。

これでスマホが測量機器になるわけではありません。ジャージのポケットに入り、濡れたジャケットの下にあり、工具の袋の隣にあるスマホの受信は、まともなアンテナを備えたハンドルバー装着のサイクルコンピュータには及びません。そこはソフトウェアでは埋まりません。ソフトウェアにできるのは、その日の走りのうちどの部分を実際に見ていたのかについて、正直であることだけです。

よくある質問

GPS の軌跡が建物を突っ切るのはなぜですか

原因は二つあります。両側に高い建物が並ぶ通りでは反射した信号のせいで個々の測位点が数十メートル単位でずれ、線がぎざぎざになります。街区を横切る長い直線が一本だけある場合は別物で、それはアプリがデータを持たない途切れの両端を結んだものです。

通ったトンネルの分は距離に入れるべきですか

計測できない以上、推定するか省くかしかありません。直線距離を推定として足すと、推測した距離と記録した距離が同じ一つの数字の中で黙って混ざります。省けば、距離はわずかに小さくなりますが、その中身はすべて受信機が実際に見たものになり、そこに何が欠けているかの注記も付きます。

トンネルでアプリがライドを一時停止したのはなぜですか

位置データだけで動く自動一時停止は、「動いていない」と「何も聞こえていない」を区別できないため、途切れが停止として読まれます。代わりにスマホのモーションセンサーを使えば、この二つは分かれます。加速度センサーは衛星が見えているかどうかを気にしないからです。

信号の途切れがあると、その記録は台無しですか

いいえ。前後の区間はそれまでとまったく同じ品質です。大事なのは、そこに途切れがあることをアプリが伝えてくれるかどうか、そしてそれを合計から外してくれるかどうかです。そうであれば、自分が何を見ているのかが分かります。

ライドを失わない記録アプリ

Roam は測位点が届いたその瞬間に、走行中の累計値と同じトランザクションで端末へ書き込みます。信号が切れた区間は直線でつながず、切れた区間として残します。獲得標高は GPS の高度ではなく気圧センサーから読みます。アカウントもサインインも同期もありません。一本まるごと記録して、見て、再生するところまでは無料です。

App Storeでダウンロード

関連記事

記事一覧