BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

GPS移動軌跡をGoogleMapsで表示

これに激しくインスパイアされちゃいました。っていうかパクりです。僕もGPSトラックログの表示に挑戦。

TRKファイルを食わせると、トラックポイント間引いてからJavaScriptコード生成するプログラムをRubyで書きました。

生ログではトラックポイントの量が多すぎるので間引きます。もちろん単純に等間隔で間引いてしまうと交差点などで綺麗に曲がってくれなくなるので、もう少しインテリジェントにやります。ようするに直線のポイントをすべて削除するのが目標です。まずポイント間の座標から方位を計算して、方位が大きく変わっているポイント(おそらく交差点など)だけを採用します。それでもまだノイズが残るので、さらに、距離が近すぎるもの、時間間隔が短すぎるものを間引きます。このへんのパラメータは試行錯誤が必要でしょう。今はサンプルが少ないので適当です。とりあえず約10kmの通勤でトラックポイント132個だったのが、21個に圧縮されました。

いい感じ。なだらかなカーブなどでは多少道を外れてしまうけど、交差点は綺麗に曲がれているし、大体のコースは分かる。

追記)ありゃ?もしかしてIEだと開けない?
→ということで一旦削除