今回はPythonでインタラクティブな
地図を作成することのできるライブラリ
leafmapのご紹介です 

解説動画はこちら


leafmapはインタラクティブな
地図作成が出来るライブラリで
OpenStreetMapを使った地図表示が出来たり
たくさんの地図を標準装備しています。

高機能なツールバーを装備していますが
高機能すぎて全部を把握することが難しいので
ご紹介だけになります。

このライブラリは
jupyter notebookでも
google colabでもどちらでも利用できます。

インストール方法は簡単で
pipでインストールしておけば良いです
pip install leafmap



インストールできたら
ライブラリを読み込みします。
import leafmap

ライブラリの読み込みが出来たら
早速地図を表示してみましょう。
m = leafmap.Map(center=(35.6833907,139.7352739), zoom=12)
m
スクリーンショット 2022-06-18 16.14.32

コードを実行すると地図が表示され
左: ラインツール , 右:ツールボックス
が表示されます。


地図の読み込み時にはツールボックスの
表示非表示も切り替え出来ます。
m = leafmap.Map(center=(35.6833907,139.7352739), zoom=12,
    draw_control=False,
    measure_control=False,
    fullscreen_control=False,
    attribution_control=True,
)
m

マップサイズも
地図作成時に指定できます。
m = leafmap.Map(height="400px", width="800px")
m

ベースの地図を変更することもできます。
m = leafmap.Map(center=(35.6833907,139.7352739), zoom=12)
m.add_basemap("SATELLITE")
m
スクリーンショット 2022-06-18 16.13.27

画面左側のツールでは
ラインを引くこともできます。
スクリーンショット 2022-06-18 16.13.41

画面右側のツールでは
様々な機能を実現できますが
機能が多すぎて把握が困難なため
割愛します。

データの読み込みなんかも出来ます
サンプルデータを読み込みしてみます
おそらく船の航路か何かのデータです。
m = leafmap.Map(center=(35.6833907,139.7352739), zoom=5)
json_url = "https://raw.githubusercontent.com/giswqs/leafmap/master/examples/data/cable_geo.geojson"
m.add_geojson(json_url , layer_name="Cable lines")
m
スクリーンショット 2022-06-18 16.13.18

国のデータも読み込んでみましょう。
m = leafmap.Map(center=[0, 0], zoom=2)
url = "https://raw.githubusercontent.com/giswqs/leafmap/master/examples/data/countries.geojson"
m.add_geojson(
    url, layer_name="Countries", fill_colors=['red', 'yellow', 'green', 'orange']
)
m
スクリーンショット 2022-06-18 16.12.56

マウスオーバーすると
右下に国の情報も出るようになっているので
色々遊ぶことができます。

他にも様々なデータの読み込みや
保存なんかも出来るようなので
地図を使ったアプリケーションなどが
簡単に開発できるかと思います。

コード量も比較的少なく出来るので
非常に捗る良いライブラリですね。

地図を使ってみたい人は
是非参考にしてみてください
それでは。