一汁三菜

自分が楽しいと思うこと、マラソン、旅行、その他日々の記録をしたい。

GPSデータを補正する仕組みを考える

最近のスマートフォンにはGPSが標準で付いてくるようになっていることもあって、スマートフォンを持ちながら走ることで、自分の走った距離を測ったり、一定の区間をどのくらいのペースで走ったのかを測るのが容易になりました。

ただ、GPSはそれなりに誤差があるので、実際に走った距離と地図上で計測した距離には結構な誤差が含まれることがあります。郊外のマラソン大会に出場したときは21km走って数百メートルもずれが出ないのですが、都心の高層ビルが立ち並ぶ中を走ると、10km走る間に1km程度ずれることもままあります。

正確に距離を測るのが目的だったら、ルートラボでも使って後から地図上で計測してみればいいのですが、ペースの測定は後から補正しようにも手で補正するのはかなり難しいです。なので、計測した道のりと地図上の道のりを比較して、後からペースを近似するようなソフトウェアを作りたいなあという願望があります。

たとえば次の地図のようなケース。六本木ミッドタウンの近くを走った時のGPSの測定結果です。Google Mapsのゼンリンの地図の上に、RunKeeperを使ってプロットしてもらいました。

f:id:silphire:20121204070350p:plain

実際に走行したのは青線の道路なのですが、GPSの計測では赤線に示すようにだいぶブレてしまっています。この時は高層ビルの間をずっと走っていましたが、7km走る間に800mほど測定誤差が出てしまいました。比較的短い間にこれだけずれてしまうと、自分の正確なペースを把握することが難しくなります。

なので地図上に手で書いた経路を基にして補正する方法をもやもやと考えてはいるのですが、まだあまりうまくはまとまっていない感じです。