8-13. convert_movebank_format

BiPで標準化したデータをMovebankで読み込みやすいフォーマットに変換するプログラムです。Movebank は現在、世界最大のバイオロギングデータベースです。BiPへ登録したデータを同時にMovebankへ登録(また、その逆にMovebank→BiPへも)することでデータを共有する幅が広がります。

BiPとMovebankのフォーマットでは書式や用語が異なるため、そのままでは読むことができません。本スクリプトでは、BiPフォーマットのデータをMovebankで読み込みやすいフォーマットへ変換します。

BiPではZone情報を含む日時フォーマット(例: 2021-08-24 19:13:27.040000+00:00)になっていますが、MovebankではZone情報を含まない世界標準時刻 (例: 2021-08-24 19:13:27.040) となっています。そのほか、小数点以下の桁数の違いなどMovebankで読み込めるように日時フォーマットを変換します。

また、Movebankでは各センサーデータ内に個体ID (Animal Id) とタグID (Tag Id)を含んだ方が登録しやすくなります。

pythonコード(convert_movebank_format.py)とデータ (data.csv)* をダウンロードしてください。

*BiPでOpenデータとなっているKatsufumi Sato (Atmosphere and Ocean Research Institute, University of Tokyo) 提供のオオミズナギドリのデータ (title: 9B41870_TS-AxyTrek_Movebank_YNo.6_release20210824) の一部を使用しています。AxyTrekで得られたGPSのほか三軸加速度情報を含みます。BiPからMovebank用語辞書(Movebank Atttibute Dictonary)へ対応した用語へカラム名を変換します。

BiPからMovebankで読み込み可能なセンサーデータは以下の29 項目です:
latitude, longitude, height_above_mean_sea_level, ground_speed, number_of_satellites, hdop, vdop, argos-quality, ninja-accruacy-of-horizontal-position, ninja-accruacy-of-vertical-position, horizontal_speed_east, vertical_speed_downward, acceleration_x, acceleration_y, acceleration_z, acceleration_longitudinal, acceleration_lateral, acceleration_dorso_ventral, magnetic_field_longitudinal, magnetic_field_lateral, magnetic_field_dorso_ventral, angular_velocity_pitch, angular_velocity_roll, angular_velocity_yaw, pressure, depth, temperature, light, odba

いまのところ、air-speed (対空速度), water-speed (対水速度), salinity (塩分) についてはMovebank側で受け入れる項目がないため登録できません。

実行方法

Pythonのプロンプト上でそれらを保存したディレクトリに移動して、以下のコマンドを実行します。

python convert_movebank_format.py

コードを実行中に以下の情報を入力します。

  • ファイル名(拡張子CSVを除く、例: data
  • Animal Id, Tag IdをCSVファイルに含める場合には、“y” と入力
  • Animal Id を入力(例: 9B41870
  • Tag Idを入力 (例: YNo.6
(base) C:\>Python convert_movebank_format.py
変換元のファイル名(拡張子なし)を入力してください: data
Animal Id, Tag IdをCSVファイルに含めますか? (y/n): y
Animal Id を入力してください: 9B41870
Tag Id を入力してください: YNo.6
変換完了!Movebank用のCSVファイルを data_movebank.csv に保存しました。

変換されたファイル (data_movebank.csv) が保存され、先頭2行のデータがプロンプト上に表示されます。

変換完了!Movebank用のCSVファイルを data_movebank.csv に保存しました。

=== 変換後のデータ(先頭2行) ===
                 timestamp  location lat  location long  acceleration y  acceleration x  acceleration z  barometric pressure  external temperature  height above mean sea level  ground speed  \
0  2021-08-24 19:13:27.000      39.39811      142.01237        -1.84428        -2.14839        11.65428               994.82                  23.8                         -2.0           0.0
1  2021-08-24 19:13:27.040           NaN            NaN        -2.72718        -1.85409        13.42008
 NaN                   NaN                          NaN           NaN

   gps satellite count   sensor type animal id tag id
0                    3           gps   9B41870  YNo.6
1                 <NA>  acceleration   9B41870  YNo.6

Movebankによる読み込み

Movebankでユーザーアカウントを作成し、データをUploadする先のStudyを作成してください。Movebankへのデータ登録については Add data to Movebank をご覧ください。

Studies→Upload→Import DataからUploadするデータの種類を選択してください。緯度経度情報を含む場合は”GPS data”→”custom GPS data”、含まない場合は”Other accessory data collected by your tags”を選択し、変換したファイル(例: data_movebank.csv)を選択して、Uploadしてください。

上段に表示された各カラムをクリックして、読み込むデータを選択します。問題なく変換されていれば、下段に適切なカラム名で表示されます。Sensor TypeにはGPSと加速度などのそれ以外のデータタイプに分かれています。最後に、Animal IdとTag Idを選択して、Finishをクリックします。

その後にEdit Animalで個体情報、Edit Tagでタグ情報をそれぞれ入力し、Edit DeploymentでUploadしたファイルとそれらを統合します。この作業はBiPのStandardizeに相当しますが、BiPとMovebankで用語 (Attributes)が異なるのに注意してください。Movebank Attributes からとBiPで使われている用語を比較しました。入力の際には以下のMovebank_BiP_atributes.csvをダウンロードしてご参考にしてください。ダウンロードが始まらない場合は、右クリックから「名前を付けてリンク先を保存」を選んでダウンロードしてください。