見出し画像

Code Interpreterで、Foliumを使った地図の表示と、データの表示

Code Interpreterでの地図情報の表示については、世界地図、日本地図とそれぞれ次のnoteで書きましたが、Foliumというライブラリを使えば両方できることを知りましたので、これを説明します。

Code Interpreterで世界地図を描く、階級区分図を作る、国当てゲーム
Code Interpreterで日本地図を描く、階級に区分し色分け、都道府県・市町村当てゲーム


Foliumの使い方・プロンプト

次のプロンプトで、東京タワーを中心とした地図を描き、htmlをmap.htmlというファイル名で出力することができます。

次のコードを実行してみてください。出力はHTMLファイルとして保存してください。

```python
import folium

# 地図の中心となる座標を設定(ここでは東京タワー)
latitude = 35.658581
longitude = 139.745433

# 地図を生成
m = folium.Map(location=[latitude, longitude], zoom_start=14)

# マーカーを追加
folium.Marker([latitude, longitude], popup='Tokyo Tower').add_to(m)

# 地図をHTMLファイルとして保存
m.save('/mnt/data/map.html')
```

たまに、「Foliumはインターネット環境ではないので使えない」と言われることがありますが、その場合も「htmlファイルはローカルで使うので問題ない、失敗しても構わないので実施してほしい」といえば地図を作成してくれます。

作成されたhtml、東京タワー中心の地図

生成された地図も置いておきます。拡大したりできるなど、この形式は便利です。

データを地図上に表示する

iPhoneのワークアウトの情報

Code Interpreterで地図を表示できることによるメリットは、データを扱えることから、データの情報を地図上に表示できるところです。

例えばiPhoneに保存されているワークアウト(運動の記録)の情報を表示する例を説明します。

ワークアウトを表示するため、iPhoneからヘルスケアのデータをダウンロードします。
ヘルスケアアプリを開いた後、次の手順でデータをダウンロードすることができます。
・右上のアイコンをクリック
・一番下にある「すべてのヘルスケアデータを書き出す」をクリック
・ポップアップが出るので「書き出す」をクリック
ダウンロードしたデータはzipファイルになっており、zipを解凍すると、workout-routesディレクトリの中に、ワークアウトのデータが入っている。

これをCode Interpreterで読み込み、地図上に表示させます。
すると、次のように、ワークアウトの経路と時間を表示することができました。

プロンプトは次のようなプロンプトです。

これはGPXファイルです。
これを読み込んで、Foliumを用いて、経路を表示して下さい。
また、start時刻とend時刻を表示して、htmlで書き出してください。

Ouraringの行動履歴の可視化

Cygきちさんが、Ouraringの行動履歴の可視化の例をツイートしてくれました。

注意事項

何度やっても、Foliumをimport できないというエラーを表示することがありました。
その時は、別のチャットセッションにうつってやると成功しました。


まとめ

この記事では、Foliumというライブラリを使って、データを地図上に表示する方法を紹介しました。


コメントお待ちしています。匿名の質問はマシュマロから→https://marshmallow-qa.com/currypurin