こんにちは
先日、GPXデータから斜度等をもう少し分かりやすく出来ないか?とプログラムを作ってました。
用途がうまく思い描けてませんが、試しに使ってみようと思う方がいたら、ご自由にお使いください。
サーバの負荷の事もあるので、トライしてみても1時間に100回以下ぐらいでお願いしますm(_ _)m
以下の記事です。
→ 斜度を細かく知れるツールを作ってみようかなと思ってみました
プログラムはPHPで作成して、ローカルのGPXファイルを読み込んでCSV形式で出力する所まで作りました。
その後、Excelでグラフ表示してみたりしました。
少し進めて、WEBページとして表示して、GPXファイルをアップロードしてCSV形式で表示する様にしてみました。
体裁は適当です、もし思うような物ができたら、真面目に変えようと思います(^_^;
ツールは以下のURLに用意しました。(暫定)
→ https://road-bike.net/tools/gpx/calc_slope.html
こんな、あっさりしたページが表示されます。
入力項目は2つ。1つ目の「斜度計算単位」は、スタートから、この距離を進んだ毎のデータを算出します。
初期値は1000m(1km)となってますので、そのままだと、スタートから1km進んだ先の高度とスタート時の高度の差から斜度等を算出します。
100にすると、100m毎になります。
次のGPXファイルは、ローカルにあるGPXファイルを指定します。アップロードできるファイルは最大30MB迄です。
それ以上の容量のファイルをアップロードしても、結果は空になります。
上記2つを指定したら、「処理開始」ボタンを押すとGPXファイルをアップロードして、計算を実施します。
処理が終わると以下の様なページが表示されます。
サンプルに、3月に参加した300kmブルベのGPXファイルをアップロードしてみました。
テキストボック(textarea)の中に算出後のCSVデータが入ります。
※この中はエラーが出ると空になります。エラー処理を手抜きして端折ってます。
ファイルが最大容量を超えた場合も空になり、アップロードしたファイル形式がGPXでない場合も空になります。
もしくは、不測のエラーが発生しても空になります。
その下には、読み込んだGPXファイル内から取得した概要を参考に表示してあります。
このデータの場合には、GPXファイルのタイトルが「また雨のブルベ(BRM303 大洗・銚子300 (2019))」で、移動距離が305405m(305.405km)で、総上昇距離が26094mで、GPXファイル中のポイント数が51353箇所でした。
今回の5万ポイント強のファイルを処理して約6秒でした。意外と早い?
総上昇距離。。間違えてそうな。。。暇を見て確認してみます。(笑)
アップロードしたファイルは、一旦サーバ上に保存されますが、結果ページが表示された時点でサーバ上から削除されます。
途中で、エラーが発生して、結果ページが表示されなかったり、途中で切れてる場合は、サーバ上に残りますが、処理を仕込んでまして、アップロード後10分後には、もしファイルが残っていても自動で削除される様にしてあります。
ですが、個人情報を含むGPXファイル(自宅の場所が記録冴えているGPXデータ等)は、控えてもらえると助かります。
アップロードして何か有っても、保証できませんのでお願いします。
暇を見て、グラフが出る様にしたいなと思ってますが、大変そうなので。。気長に検討してみます。
最後に、なんとなく100m単位で処理したデータをExcelに読み込んでグラフを作ってみました。
平坦ブルベなので、楽しくない感じです。斜度は変なデータが混ざった(ガーミンさんが誤計測?)様なデータがありました(^_^;)
平均斜度はこんな感じ。
高度グラフはこんな感じです。
ついでに200m単位にして線を補足してみました。ちょっと見やすいかも?
コメント
斜度の図上での再現性は無くても良いので、各距離区間で0%青、5%緑、10%黄、15%燈、20%以上赤など色分けされると個人的には嬉しいです。
たかにぃさん
コメントありがとうございます。
色分けいいですね。その案いただきますm(_ _)m
高度グラフに斜度で色分け。。見てみたくなりました。
面白いツールですね。
いま、試しに今まで登ってキツかった記憶のルートを読ませてみましたが、100mで区切るとキツいところでも18%くらいしかなかったです。そう考えると、20%越えるような斜度のところはほんとに短い距離なんでしょうね〜
まあ20%越えるような坂が100mも続かれたらこまっちゃいますけど
terucさん
お試しありがとうございます。
そんな急な坂が。。(笑)
GPSの計測誤差や、ログの記録間隔などもあり、実際の斜度との誤差がどのぐらいあるかわかりませんので、目安ぐらいにしかならないかと思います。
高度もきっちり計測できるとは思えませんので、区切りが小さいと誤差が大きそうです(^_^;)
18%の坂と近づきたくないです(笑)