【STA24】スキー場実測 その4<pythonでデータ処理して散布図>

4回目のスキー場実測となると慣れてきましたが、意図せぬトラブルがまだありました。
しかし、基本的なデータ測定基板は、確実に動作しているので、有意なデータは測定できました。

Win10タブレットのBlueToothSPPが不通になる。
=>2時間くらいぶっ通しで通電させてBlueToothSPPでMovingBaseシステムのESP32Eと数分毎に通信をさせていたのですが、突然、通信が途絶えました。

=>今までBTが不通になったことがなかったので、MovingBaseシステムの故障かと思い、駐車場まで戻って、ばらして様子をみても不通だったので、
Bluetoothの設定をみると、ESP32Eが認識されてなくて、過去に消去したATOMliteが生きていたので、おかしいと思って、再起動したら、正常になりました。
おかげで、駐車場まで戻ってしまったので、あと1時間くらい測定できるのですが、疲れもあって、退散となりました。
4回目は、長いデータ1本短いデータ1本となりました。

 

●4回目のデータ品質

①今回は、大斜面の等高線測量をやったので、ジグザグに5m間隔で斜滑降でゆっくり滑って地形データを取り込みました。
コースの端っこの森にさえぎられる部分での、電波状況も測定する目的もあります。
これから、何年もこの大斜面をテストコースとして使うので、コースの詳細な地形と電波状態を基礎測定しました。 等高線などは、春から夏に3次元プロット処理してだします。

②Fix率は、MovingBaseがBootsOnより良い傾向は前回と同様にでてます。足が電波の邪魔になるのかもしれません。

③雪の状態が良かったのでパラレルターンが上手にできたので、BNOとMovingBaseでのHeading角度差をみてみます。
しかし、左右で分けてしまったので、Heading角測定時には、右足に全部装着してやろうと思います。

 

●データ処理の合理化
ExcelでXYプロットまでもっていくのが手数がかかるので、PythonでCSVを読み込ませて、散布図をプロットさせてみました。
Excelで散布図を書くより、1/10の手数ですみます。大量のデータ(数万行x数十列)ならPythonが便利です。
Gistにコードおいてあります。 https://gist.github.com/dj1711572002/e79e2c4ec5a2ceaca7824aa15819521f

 

このグラフ書くのに、CSVファイルを読んで、DataFrameに切り出して、データ型を2行で変換して2行で散布図に指定して出来上がりです。列名を書くだけでデータ指定できるので、EXCELみたいにデータ指定で
セル範囲を指定する操作が不要な点が大きなメリットです。全体をみるには、Pythonのmatplotlibが便利でした。

 

●PythonにCSVファイルを読み込ますので苦労した点

①ヘッダーを後付けしようとするとエラーになった。
列数が合わなかったり、ヘッダー文字にスペースが入っていたりするとエラーになります。
ヘッダーは、元のCSVファイルを作成した時点で、つけておいてからPythonで読み込ませたほうが正しいしトラブルが少ないです。

②読み込んだCSVファイルから、BaseとRoverデータを分類して左右に合体させるのが、トラブった
  ヘッダーの名称が同じものがあってもCONCATはできるが、データを使うときに大変なことになるので、CONCATする前に、ヘッダーの文字にSUFFIXをつけるのが便利です。

③数万行のCSVファイルだとどこかで、列多かったりして、指定の列数以上にデータあることでエラーになるので、列数は多めのヘッダーにしておくとよいです。

 

●以後
Heading角解析用のデータが足りないので、右に全部装着して、ターン種類、スピード、斜面のバリエーションをつけて測定します。
スキー場は、20日が最後なので、あと3回くらい行こうかと思います・

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です