Mariusz Jankowskiの投稿「 ラットレース、または1日を始める素晴らしい方法 」の翻訳。
記事のコードはここからダウンロードできます 。
翻訳に協力してくれたKirill Guzenko KirillGuzenkoに感謝します。
少し前まで、冬が猛威をふるい、家の入り口を雪の詰まりから取り除いていたとき、
Wolfram言語を使って仕事をするサイクリングルートを調べて、天気の良さを思い出すことにしました。
昨年、私は活動データを記録するような非常に一般的な活動に従事することにしました。 過去数年間で、シーズンが終わりに近づくにつれて旅行がより速く簡単になりましたので、体調にこのような改善があることを確認することは興味深いものになりました。 スマートフォンと対応するアプリケーションのみを使用して、自宅と職場間の27回の旅行を記録し、Wolfram言語を使用して結果を読み取り、分析し、視覚化しました。
これは、東から西に走る18 km未満の朝の自転車ルートを示すGoogle Earthの画像です。
スマートフォンからデータを転送するために、
GPX(GPS Exchange Format)を使用しました。これは、GPSデバイスの主要メーカーがサポートし、ほとんどのアプリケーションで利用可能なファイル形式です。 通常のGPXファイルには、タイムスタンプ付きの場所と標高のデータが含まれ、Wolfram言語は、このデータを
スペルの名前が
Geometry 、
PointElevation 、
PointTimestampのルールのリストの形式で返します。
GPXファイルのスニペットを次に示します。
Wolfram言語の新しい地理的特徴と利用可能な時間と位置のデータを使用して、日帰りアニメーションを簡単かつ迅速に作成することができました(詳細は付属のCDFの初期化セクションで入手できます)。
もう少し努力しますが、ここで興味深いことがあります。私は、シーズンのすべての朝の旅行を1つのアニメーションレースで組み合わせました。これらは仕事の「ラットレース」です。 もちろん、シーズンリーダーは黄色で表示されます!
この「レース」の結果は次のとおりです。
時系列で旅行を検討してください。 シーズンの終わりに近づくほど、また走行距離が長くなるにつれて旅行時間を改善するという私の仮定は正しかったことがわかりました。
また、以前の計算と視覚化で十分ですが、さらに何かを行うことができます。 GPXファイルには、時間に関する標高データが含まれていますが、これにより、道路の一般的なプロファイルを簡単に視覚化できるようになるだけでなく、信号処理の範囲からの新しい機能を使用した登り下りのセクションの検出-ピーク検出も簡単になります。
標準的な道路プロファイルから始めましょう。
浮き沈みを判断するために、信号の最大の局所的最大値と最小値のみを記録するために、浮き上のデータを平滑化しました。 これを行うには、最初に関数全体の線形補間を作成して、記録されたデータの不安定すぎる間隔を取り除き、次に
GaussianFilterを使用して平滑化しました。
平滑化操作により、標高データの「スプリアス」ピークとスロープが除去されます。
FindPeaksを使用して残りの大きなピークを
特定し、ルートを昇順セクションと降順セクションに分割しました。
朝の旅行の上り下りのセクションを高さグラフで視覚化します。
そして、さらに便利な視覚化がいくつかあります-マップ上のルートの上昇と下降のセクション:
上昇および下降セクションのおおよその距離は、以前に計算された上昇および下降リストから入手できます。 次の結果は、仕事に行くことは
常に難しく(つまり、上り坂)、したがって、そこから戻ってくるよりも快適ではないという単純な真実を裏付けています。
Wolfram言語を使用したデータの分析において、次のシーズンとあらゆる興味深い事実をすでに楽しみにしています。