Leaflet.jsを使った地図をPythonスクリプトで簡単に作れるfoliumが便利

タイトルのとおりですが、 folium というPythonライブラリが便利げ。

Leaflet.js というインタラクティブな地図を表現できるJavaScriptライブラリがあり、 そのPythonインターフェースみたいなかたちで使用できます。 実際には Leaflet.js を使ったHTMLファイルを書き出すようになっています。

さっそくインストールして使ってみましょう。

インストール

Jinja2pandas が必要です。pandasはrequirements.txtに記載されてないので、明示的に。

$ pip install pandas
$ pip install folium

大阪駅周辺の地図を書き出してみる

import folium

# osaka
osaka_location = [34.702, 135.4951]
mapobj = folium.Map(location=osaka_location,
                    zoom_start=15)
mapobj.simple_marker(osaka_location, popup='Osaka Station')
mapobj.circle_marker(osaka_location, popup='An on foot 5-minute within the circle',
                     radius=500, fill_color='#cc3399')
mapobj.create_map(path='osm.html')

上記の例の場合、 osm.html に書き出されるのでブラウザで見ると以下のようになります。

http://image.hexacosa.net/images/container/0000000000000460.png

以下のリンク先に色々と例があるので参考にするとよいのではないでしょうか。

ちなみに作者のRob Storyさんは他にもヴィジュアライゼーションに関わるようなプロジェクトに 結構コミットしているようなので、ほかのプロジェクトも少しさわってみようと思ってます。