BiPで標準化したStandardized fileを解析するツールとして、Pythonプログラムを公開しています。サンプルデータとプログラムは以下のリンクからダウンロードしてご使用することができます。右クリックから「名前を付けてリンク先を保存」を選んでダウンロードしてください。
Pythonをまったく使ったことがない方でも、JupyterLiteを使えば簡単にPythonを利用した解析に挑戦できます。
JupyterLiteはJupyterプロジェクトが運営している、ブラウザ上で動作する軽量なPython環境です。アカウント作成が不要で、インターネットに接続されたデバイスがあれば、誰でも無料で利用することができます。JupyterLiteでは、多くのPythonライブラリ(例: グラフ描画用のmatplotlib
やデータ解析用のpandas
など)を利用することが可能です。
1. filter_csv~4. plot_AccのプログラムはJupyterLiteで動作しますが、5. summary_filter_csv以降のプログラムは、メモリの制約や追加ライブラリを利用する必要があるため、ローカル環境やクラウド環境で動作するPythonを使う必要があります。これらはAnaconda環境で開発しています。Anaconda環境のインストールについては、ネットの情報などを参考にしてください。1~4でPythonの基礎を学んだ方は、5以降のプログラムにもトライしてみてください!
ここではまず、JupyterLiteを使った解説手順を説明します。以下の手順を参考にして、Pythonを用いた解析を試してみてください!
1. JupyterLiteでノートブックを作成
- JupyterLiteのウェブページ にアクセスします。
- ページが開いたら、左上のメニューから「File」 > 「New」 > 「Notebook」を選択します。
- 表示されたポップアップで「Python (Pyodide)」を選択します。
- これで新しいノートブックが作成され、Pythonコードを記述できる環境が整います。
2. CSVファイルをアップロード
解析に必要な以下のデータをご自身のPCへダウンロードしてください。
- data.csv (GPSによる緯度経度情報と三軸加速度を含むデータ): filter_csv, plot_Acc, summary_filter_csv, CWT_Accで使用
- data_gps.csv((time, latitude, longitude, height_above_mean_sea_level) の項目を含むGPSデータ): generate_kmlで使用
- data_dt.csv ((time, depth, temperature)を含むデータ): plot_DT, dive_parameter_analysisで使用
- JupyterLiteの左側にあるファイルブラウザを確認します。
- ファイルブラウザの上部にある「Upload Files」(上向き矢印アイコン)をクリックします。
- ダウンロードした
CSVファイル
を選択してアップロードします。- アップロード後、ファイル名がファイルブラウザに表示されていることを確認してください。
3. Pythonコードを実行
以下のPythonコードをテキストエディタで開き、JupyterLiteのノートブックにコピーして実行(右▼をクリック)します。
警告 (Warning) メッセージが表示されますが、JupyterLiteに含まれるライブラリのバージョンに関する通知であり、実行内容には影響しません。グラフが表示、あるいはファイルが出力されていれば無視して問題ありません。出力された図は”output_graph.png”という名前でJupyterLite内で保存されているので、ダウンロードして利用してください。
1. filter_csv
AxyTrek (Technosmart) やNinjaScan (Little Leonardo) などGPSによる緯度経度情報と加速度などを含むデータ(data.csv)から、GPSに関係する項目のみを抽出してfiltered_data.csvとして保存するツールです。
2. generate_kml
(time, latitude, longitude, height_above_mean_sea_level) の項目を含むGPSデータ(data_gps.csv)を元にGoogle Earthで表示できるKMLファイルを作成するツールです。ほかのセンサーデータが含まれていてもよく、(height_above_mean_sea_level) がなくてもKMLファイルが作成されます。
3. plot_DT
(time, depth, temperature)を含むデータ(data_dt.csv)を読み込み、深度と水温の時系列グラフを表示するツールです。
4. plot_Acc
(time, acceleration_longitudinal,acceleration_lateral,acceleration_dorso_ventral) を含むデータ(data.csv)読み込み、3軸の加速度の生波形とそれを元に計算したODBAの時系列グラフを表示するツールです。
5. summary_filter_csv
ローカル環境やクラウド環境で動作するJupyter Notebookなどを使うことで、よりインタラクティブにCSVファイルに含まれるデータ概要を表示し、必要な期間・センサー情報を指定して、必要な部分のみのデータを抽出して保存します。
6. CWT_Acc
(time, acceleration_longitudinal,acceleration_lateral,acceleration_dorso_ventral) を含むデータ(data.csv)読み込み、3軸の加速度を元にODBAを計算し、それを元に連続ウェーブレット変換による周波数スペクトルを表示するツールです。
7. dive_parameter_analysis
海生哺乳類や海鳥などの肺呼吸動物から得られた深度を含むデータから、潜水開始から浮上までの1回あたりの潜水パラメーターを計算し、それらをCSVファイルとして出力するとともに統計量を出力します。
8. watersurface
海生哺乳類や海鳥などの肺呼吸動物から得られた水面付近での深度と温度データを用いて、深度のオフセットと温度ドリフトを補正します。
9. depth_temp_analysis
海生哺乳類や魚類から得られた深度と温度のデータを可視化し、その動物が潜水中に経験した環境を解析します。
10. UTM_transform
GPSロガーから得られた緯度・経度情報をUTM座標に変換します。
11. estimate_flight_height
海鳥から得られた気圧と温度データを基に飛行高度を推定します。