コンテンツにスキップ

記録中の停止判定とGPSデータの処理

ランニング中には、信号待ちや休憩などで立ち止まることがあります。 Dailythm Runでは、こうした停止を単純に記録から消してしまうのではなく、 停止中も含めてすべてのGPSデータを記録し、「どこで停止したのか」を記録後に判定して確認できるようにしています。

Dailythm Runの考え方
停止中のデータも含めて記録を残し、そのデータから停止した区間を判定して、ペース計算に利用します。 これにより、走行中のデータと停止中のデータを区別しながら、ランニング全体を振り返ることができます。

一般的な「自動一時停止」とは少し違います

ランニング記録アプリには、走行中に速度が低下すると自動的に記録を一時停止する 「自動一時停止」の設定があります。

これは便利な機能ですが、記録上は「停止していた時間」が見えにくくなる場合があります。

Dailythm Runは、自動一時停止で記録を止めません。 停止中のデータも含めて記録し、停止していた区間は記録後に判定して区別します。

一般的な自動一時停止
  • 停止すると記録を自動的に一時停止
  • 停止時間を走行記録から切り離す
  • 設定によって動作を変更できる
Dailythm Run
  • 停止中のデータも含めて記録
  • 停止した区間を後から確認
  • 停止時間をペース計算などのデータ処理に利用

なぜ「停止した場所」を確認できるようにするのか

ランニングでは、信号待ち、給水、休憩、コース上の混雑など、 実際に走っていない時間が発生します。

その時間をすべて単純に走行時間として扱うと、 「走っている時間」と「止まっている時間」が混ざってしまいます。

Dailythm Runでは、停止中も記録を残したうえで停止した区間を判定することで、 走行中にどこで停止したのかを、後からデータとして確認できるようにしています。

1

停止を自動判定

GPSなどの記録から、走行中に停止していると考えられる区間を判定します。

2

停止区間を特定

停止と判定した区間の回数・時間・位置を、記録から求めます。

3

後から確認

記録を振り返る際に、どこで停止したのかを確認できるようにします。

4

データ処理に利用

停止時間を考慮して、走行中の実質的なペースなどを計算します。

停止時間を差し引いた「実質ペース」

ランニング全体の経過時間には、停止していた時間も含まれます。

そこでDailythm Runでは、停止判定された時間を区別し、 停止時間を差し引いた実質的な走行時間を使ってペースを確認できる ようにしています。

1
ランニングを記録 GPSなどのデータを継続して取得します。
2
停止を判定 走行していないと判断された区間を停止として判定します。
3
停止時間を区別 ランニング全体の経過時間と、実際に走っていた時間を区別します。
4
実質ペースを計算 停止時間を差し引いた走行時間を使ってペースを確認できます。

長時間停止すると、GPSが「動いたように見える」ことがある

GPSによる位置測定には、測位誤差があります。

そのため、実際には同じ場所で長時間停止していても、 GPSの位置が少しずつ変化することがあります。 場合によっては、その変化が「移動した」ように見えることがあります。

ここがGPSデータ処理上のポイントです。
停止中のGPS位置が少し動いたからといって、それをそのまま実際の走行距離として加算すると、 走っていないのに距離が増えてしまいます。

Dailythm Runでは、このような停止中のGPSの異常な移動をそのまま走行距離として扱わないよう、 異常なGPSデータを除去する処理を行います。

GPSの「速度0」は、止まっているとは限りません

GPSの測位には、位置のほかに「速度」の値が付いてきます。 ところが、場所や測位の方式によっては、速度の情報そのものが得られないことがあります。 たとえば、ビルの多い駅前などで、衛星の電波が弱く、Wi-Fiや携帯電話の基地局をもとにした大まかな測位に なっているときです。この場合、速度は「分からない」のではなく、「0」と表示されます。

速度0を、そのまま「止まっている」と判断すると、走っているのに停止と判定してしまいます。
実際に、記録を始めた直後の約1分間、速度が0のままなのに約200m進んでいた例がありました。

Dailythm Runでは、速度の情報が得られていない測位だけは、位置の変化から速度を見積もって、 動いているかどうかを判定します。止まっているだけでも位置は誤差の範囲で揺れるため、 少し前の位置との距離が、測位の誤差よりはっきり大きいときだけ「動いた」と判断します。 また、記録の最初から続く「動いていない」区間は、GPSがまだ安定していない時間とみなして、 停止回数には数えません。

「GPSの記録」と「走行データの解釈」を分けて考える

GPSから得られるデータには、測位誤差や一時的な異常値が含まれることがあります。 重要なのは、取得した値をそのまま走行距離として積算するのではなく、 その値が「実際の走行を表しているのか」を考えて処理することです。

Dailythm Runでは、停止中も記録を残したうえで、 停止時間や停止中のGPSデータを区別して扱います。

こうした処理によって、 「どれだけ時間が経過したか」だけでなく、「実際にどのように走ったのか」 を振り返りやすい記録を目指しています。

Dailythm Runの停止判定

Dailythm Runでは、停止を単純に記録から消すのではなく、 停止中も含めてデータを残し、記録後に停止を判定します。

その情報を利用して、停止した場所の確認、停止時間を考慮した実質ペースの表示、 そして停止中に発生するGPSの異常な移動の除去を行います。

ランニングデータを「記録する」だけでなく、 記録されたデータをどのように解釈し、処理するかも Dailythm Runの重要な仕組みの一つです。

停止判定の具体的な基準

記録を開いたとき、GPSの各点を次の基準で「動いている/止まっている」に分けます。初期値は、速度が0.5 m/s以上、位置精度が15 m以内、止まっている状態が5秒以上続いたものを「1回の停止」とする設定です。これらは設定画面で変えられますが、変えても記録中の処理は変わらず、記録詳細の再計算にだけ使われます。

  • 記録の最初から続く「動いていない」区間は、GPSが安定する前の時間とみなし、停止には数えません
  • GPSが30秒以上途切れた区間は、その間の移動時間を数えず、停止として扱います
  • 速度も速度の精度も0の測位は、速度が「不明」なので、8〜15秒前の位置との距離から速度を見積もってから判定します