体重を可視化したい
当サイトのWORKSページを見てもらえれば分かると思いますが、私は何かしらデータを可視化するのが大好きです。
大量のデータをチャートや表などの形で可視化し分かりやすくしています。それはこのサイトで公開しているものに限らず、保有している投資信託の損益推移であったり、今回のテーマである体重なんかも可視化しています。可視化が手段ではなくもはや目的になっていますね。
以前は特に連携機能を持たない普通の体重計を使っており、毎日測ってはパソコンで値を記録し、ということをやっていました。これが結構面倒な作業で、お風呂上がりに体重を測っても着替えている間に記録することを忘れてしまうということもありました。またGoogle Fitのような個人アカウントと紐づくヘルスケアサービスで体重の推移を見るには、それをまたGoogle Fitに記録しなければなりません。Google FitはWeb版が無いためパソコンでは記録を追加できず、二度手間になってしまうため使っていませんでした。
そこで、スマートフォンやスマートバンドと連携できて自動で体重が記録されていくものを使おうと思いました。もちろんアプリ上で体重記録が見れるようになりますし、データのエクスポートに対応していればあとから自分好みに可視化することもできます。というわけで、体重計と連携でき、エクスポートも簡単にできる必要最低限のスマートバンドを探すことにしました。
Mi FitとMiスマートバンド
そこで出会ったのがXiaomi製品のMi FitとMiスマートバンド(Smart Band)です。同じXiaomi製品で体重や体脂肪率などが測定できるMiスマート体組成計と連携することができ、Mi Fit上で各種データを参照することができます。Google FitはWeb版が無くデータのエクスポートができない(とこの当時は思っていた)ので、CSV形式でのデータエクスポートが可能な点が決め手になりました。腕時計と心拍数などの記録デバイスとしてしか使うつもりがなく、大きな画面やスマホからの通知機能、電子マネー支払い機能は必要無かったので、Miスマートバンドは余計な機能が無く小さくて安いため完全に求めていたものでした。
ちなみにアプリの使い勝手は正直Google FitもMi Fitも悪いです。見たい指標(体重、心拍数など)をパッと探すのが難しく、推移に関してもGoogle Fitはあらかじめ期間を決められてしまったり、Mi Fitは長期間の推移が見にくかったりします。ただエクスポートさえできれば自分で好きなように可視化できるため、Mi Fitアプリの使いにくさはMiスマートバンドを選択する際の懸念にはなりませんでした。
もう1点、測定された数値の信用度についてです。Miスマート体組成計は体重、体脂肪率、筋肉量などを測定できますが、体脂肪率の値が元々使っていたタニタ製の体重計と大きく異なっています。Miのほうが6%ほど低い値が出ます。体重はほぼ同じになるものの体脂肪率に関しては正直信用できません。先入観はよくありませんがタニタのほうがより正確な値を出しているのではないかと思っています。
Mi Fitのエクスポートが動かなくなった
というわけで自由にデータのエクスポートができるMi Fitをしばらく使っていたのですが、12月くらいからエクスポートができなくなってしまいました。エクスポート機能が削除されたというわけではなく、エクスポート時にメールアドレスと画像認証を入力する画面で次に進むボタンを押しても進まなくなってしまったのです。サポートへ問い合わせもしてみましたが返答は無く、その後のアプリ更新でも改善されていません。
困りました。体重測定は続けていますが見にくいMi FitアプリかGoogle Fitアプリ上でしか見ることができず、見たい期間での推移を見るのも難しいです。また別のスマートバンド、体重計を探すか、何か別の方法は無いかと考えていたところ、あることに気づきました。
Google Fitもエクスポートできた
最近はWebやアプリサービスが個人から情報を収集する際、どういった情報が保存されているかの確認や一括ダウンロードができるようになってきています。おそらく何らか欧米の法律が関係しているのではないかと思いますが、世界で進む個人情報保護の観点からそういった機能が提供されている場合が多いです。例えばTwitterではアカウントの全ツイートのデータをエクスポートできるようになっています。
というわけで、Google Fitとしてデータのエクスポート機能を提供していなくても、Googleアカウントに紐づく情報の1つとしてGoogle Fitのデータをダウンロードできるのではないかと思ったのです。そしてたどり着いたのがこちらのページです。
Googleアカウント管理機能として、https://takeout.google.com/?hl=jaにアクセスすると「Googleデータエクスポート」というページにたどり着きます。ここではGoogleアカウントに紐づいて記録されている様々なデータの中から必要なものだけを選んでエクスポートすることができます。まさに求めていた機能でした。
エクスポートの方法
というわけで長くなってしまいましたがやっと本題です。Google Fitのデータをエクスポートする方法を紹介します。上記のエクスポートページにアクセスし、「1 追加するデータの選択」で「Fit」にチェックを入れます。後ほどファイル構成を紹介しますが、この時点で「すべてのFitのデータが含まれます」の部分を押すと不要なデータの除外ができます。
選択が終わったら「次のステップ」を押し、配信方法と頻度、ファイル形式などを選択します。あとは「エクスポートを作成」を押せば、ダウンロードの準備ができ次第メールが送られてくるためそれを待つだけです。選択した内容が多いほどエクスポートにかかる時間は長くなると思います。
ファイル構成
ダウンロードリンクからダウンロードしたファイルはこのような構成になっています。
📂 Takeout
└ 📂 Fit
├ 📂 アクティビティ
├ 📂 すべてのセッション
├ 📂 すべてのデータ
├ 📂 日別のアクティビティ指標
└ 📄 アーカイブ概要.html
アーカイブ概要.html
を見れば大体の説明は書いてあります。アクティビティ
フォルダにはウォーキングやランニングなどのデータがセッション単位で含まれています。ファイル形式はTCXで、Garmin ConnectやStravaといった他のサービスでも利用可能な形式のようです。すべてのセッション
とすべてのデータ
フォルダは、前者はセッションごと、後者は連携アプリ(Mi Fitなど)ごとにまとめられたJSON形式のファイルが含まれています。日別のアクティビティ指標
には各指標(心拍数、歩数、体重など)が15分おきにまとめられた日別のCSVファイルと、それをさらに1ファイルにまとめた日別のアクティビティ指標.csv
ファイルが含まれています。今回の用途で欲しいのは最後の日別のアクティビティ指標.csv
ファイルですね。
ちなみにCSVファイルは文字コードがUTF-8になっているため、そのままExcelで開くと文字化けしてしまいます。VSCodeなどのエディタで事前にShift-JISに変換してから開くようにしましょう。
可視化してみた!
というわけで早速最近の体重を可視化してみました。
7日間の移動平均線も入れてみました。このように好きなように可視化方法を変えられるのが自分で可視化する強みですね。
実は昨年の終盤ダイエットに取り組んでいました。実際9月から11月末にかけてかなり減ったのですが、そこから横ばいになったあと年末年始で増加に転じています。朝ご飯をサラダにしたり、サラダチキンに置き換えたり、ご飯をしらたきご飯にしてみたり色々していましたが、結局クリスマスケーキやおせちなどを食べていたら食べたいものを食べたくなって元に戻ってしまいました。年末年始は増量注意ですね。
というわけで今回は、体重などの記録に使っているMi Fitのエクスポート機能が使えなくなり、Googleのエクスポート機能を使った体重の可視化に切り替えた話でした。可視化、楽しいですね。
それではまた。