Pythonには、地理データを可視化できる強力なライブラリがいくつかありますが、その中でもfoliumは使いやすさと機能性で特に優れています。
この記事では、foliumを使って東京都と埼玉アリーナにマーカーを追加し、インタラクティブな地図を作成する方法を詳しく解説します。
さらに、基本的な使い方に加えて、応用例も紹介します。
Pythonで地図を表示することができるんですか?!
とっても楽しみです!!
Pythonで地図を扱うならfoliumというライブラリを使ってみてください!
地図を表示したり、マーカーをつけたり、地図上の2点を直線で結んだり、想像以上のことがPythonでできちゃいますよ!
1. foliumライブラリとは?
foliumは、Pythonでインタラクティブな地図を作成できるライブラリです。
foliumは、OpenStreetMapをベースにしており、緯度・経度のデータを使ってマーカーやポリゴンを簡単に地図に追加できます。
以下のような特徴があります。
- インタラクティブ地図: マウスでズームや移動が可能。
- 豊富な表示オプション: マーカーやライン、ポリゴンを簡単に追加でき、カスタマイズも可能。
- Jupyter Notebookとの相性が良い: インタラクティブな結果をノートブック上で簡単に表示できる。
2. foliumのインストール方法
以下のコマンドで、foliumをインストールします。
pip install folium
これで、foliumライブラリが使えるようになります。
3. foliumを使った地図表示の基本
foliumを使った地図表示はシンプルです。
基本的な手順は以下の通りです。
folium.Map()
を使って地図を生成し、表示したい場所の緯度・経度を指定します。folium.Marker()
で特定の位置にマーカーを追加し、任意のポップアップテキストを設定できます。- 作成した地図オブジェクトを表示します。
4. サンプルコード:東京都と埼玉アリーナにマーカーを表示する
以下のコードでは、東京都と埼玉アリーナの位置にマーカーを表示し、それを地図上にプロットしています。
import folium
# 地図を作成し、中心を東京都の位置に設定
map_data = folium.Map(location=[35.6895014, 139.6917337], zoom_start=10)
# 東京都にマーカーを追加
folium.Marker(location=[35.6895014, 139.6917337], popup="東京都").add_to(map_data)
# 埼玉アリーナにマーカーを追加
folium.Marker(location=[35.893294, 139.628022], popup="埼玉アリーナ").add_to(map_data)
# 地図を表示
map_data
コードの詳細説明
folium.Map()
:location
引数で地図の中心となる緯度・経度を指定します。zoom_start
はズームレベルで、値が大きいほど詳細が表示されます。folium.Marker()
: 指定した位置にマーカーを追加し、popup
でマーカーがクリックされたときに表示されるテキストを設定します。map_data
: 作成した地図オブジェクトを表示します。
5. 実行結果と解説
このコードを実行すると、以下の2つのポイントにマーカーが表示されたインタラクティブな地図が表示されます。
- 東京都のマーカー: 緯度35.6895014、経度139.6917337にマーカーが表示され、クリックすると「東京都」というポップアップが表示されます。
- 埼玉アリーナのマーカー: 緯度35.893294、経度139.628022にマーカーが表示され、クリックすると「埼玉アリーナ」というポップアップが表示されます。
地図はインタラクティブで、ズームイン・ズームアウトや地図の移動ができます。zoom_start=10
に設定しているため、都市全体が見渡せる程度の拡大率になっています。
これを変更すれば、さらに細かい場所まで表示することができます。
6. 応用例:地図にラインやポリゴンを追加する
foliumを使うと、マーカーだけでなく、地図上にラインやポリゴンを描画することもできます。
これにより、経路の表示や特定の地域を囲む形でエリアを強調することが可能です。
応用例1: 複数地点を結ぶラインを追加する
例えば、東京都と埼玉アリーナを結ぶラインを追加する場合は、次のように記述します。
# 地図を作成
map_data = folium.Map(location=[35.6895014, 139.6917337], zoom_start=10)
# 東京都にマーカーを追加
folium.Marker(location=[35.6895014, 139.6917337], popup="東京都").add_to(map_data)
# 埼玉アリーナにマーカーを追加
folium.Marker(location=[35.893294, 139.628022], popup="埼玉アリーナ").add_to(map_data)
# 東京都と埼玉アリーナを結ぶラインを追加
folium.PolyLine(locations=[[35.6895014, 139.6917337], [35.893294, 139.628022]], color="blue").add_to(map_data)
# 地図を表示
map_data
応用例2: ポリゴンでエリアを囲む
複数の地点を指定して、特定のエリアをポリゴンで囲むことも可能です。
例えば、以下のようにして三角形のポリゴンを描画できます。
# 三角形の頂点を指定してポリゴンを描く
folium.Polygon(locations=[[35.6895014, 139.6917337], [35.893294, 139.628022], [35.652832, 139.839478]], color="green", fill=True).add_to(map_data)
# 地図を表示
map_data
これにより、複数地点を結んでエリアを視覚化することができます。
例えば、市区町村の境界線を強調したり、特定のエリアを示す際に役立ちます。
7. まとめ
今回は、Pythonのfoliumライブラリを使って、地図にマーカーを追加し、東京都と埼玉アリーナを表示する方法を解説しました。
さらに、ラインやポリゴンを使った応用例も紹介し、地図を使ったより高度な可視化方法を学びました。
foliumは、シンプルな使い方から高度なカスタマイズまで対応でき、データ可視化のプロジェクトに非常に役立ちます。
特に、Jupyter NotebookやGoogle Colabでの使用が便利なので、地理データの分析や可視化をする際に是非活用してみてください。
また、他の地理データやさらに詳細な地図表示のカスタマイズについて学び、独自のインタラクティブな地図を作成してみましょう!
このサイトのトップページへは以下へアクセス!
コメント