Pythonは、データの可視化や地図上でのデータ表示に便利なライブラリを多数提供しています。その中でも、foliumライブラリは地図の作成や地理的データの可視化に優れたツールです。本記事では、Pythonのfoliumライブラリの使い方について詳しく解説します。
1. foliumとは
foliumはPythonの地図作成ライブラリであり、Leaflet.jsを使用してインタラクティブな地図を作成することができます。Pythonのシンプルな文法と組み合わせることで、地図上でのデータの視覚化や地理的な情報の分析が容易に行えます。
2. foliumのインストール方法
foliumを利用するには、まずPythonパッケージをインストールする必要があります。以下のコマンドを使用して、pipを介してfoliumをインストールします。
pip install folium
3. 基本的な地図の表示方法
foliumを使用して基本的な地図を表示するには、folium.Map()
関数を使用します。以下のコードは、中心座標を指定して地図を作成し、HTMLファイルとして保存する例です。
import folium
# 地図の中心座標
location = [35.6895, 139.6917]
# 地図の作成
map = folium.Map(location=location, zoom_start=12)
# 地図をHTMLファイルとして保存
map.save("map.html")
このコードを実行すると、指定した中心座標を中心にした地図が表示され、map.html
という名前のHTMLファイルが保存されます。
4. マーカーの追加
foliumを使用すると、地図上にマーカーを追加することもできます。以下のコードは、東京タワーの位置にマーカーを追加する例です。
import folium
# 地図の中心座標
location = [35.6586, 139.7454]
# 地図の作成
map = folium.Map(location=location, zoom_start=15)
# マーカーの追加
folium.Marker(
location=location,
popup="東京タワー",
icon=folium.Icon(icon="cloud")
).add_to(map)
# 地図をHTMLファイルとして保存
map.save("map.html")
このコードを実行すると、地図上に東京タワーの位置を示すマーカーが表示されます。
5. ポップアップの表示
マーカーに対してポップアップを表示することもできます。以下のコードは、マーカーにポップアップを追加する例です。
import folium
# 地図の中心座標
location = [35.6586, 139.7454]
# 地図の作成
map = folium.Map(location=location, zoom_start=15)
# マーカーの追加
folium.Marker(
location=location,
popup=folium.Popup("東京タワー", max_width=200),
icon=folium.Icon(icon="cloud")
).add_to(map)
# 地図をHTMLファイルとして保存
map.save("map.html")
このコードを実行すると、マーカーをクリックするとポップアップが表示され、東京タワーの名前が表示されます。
6. カラーマップの利用
foliumでは、地図上にカラーマップを表示することもできます。以下のコードは、カラーマップを使って人口データを表示する例です。
import folium
import pandas as pd
# 人口データの読み込み
data = pd.read_csv("population.csv")
# 地図の中心座標
location = [35.6895, 139.6917]
# 地図の作成
map = folium.Map(location=location, zoom_start=12)
# カラーマップの追加
folium.Choropleth(
geo_data="japan.geojson",
data=data,
columns=["Prefecture", "Population"],
key_on="feature.properties.name",
fill_color="YlOrRd",
fill_opacity=0.7,
line_opacity=0.2,
legend_name="人口"
).add_to(map)
# 地図をHTMLファイルとして保存
map.save("map.html")
このコードを実行すると、日本の都道府県ごとに異なる色で人
口データが表示されるカラーマップが作成されます。
7. 図形の描画
foliumを使用して地図上に図形を描画することもできます。以下のコードは、円を描画する例です。
import folium
# 地図の中心座標
location = [35.6895, 139.6917]
# 地図の作成
map = folium.Map(location=location, zoom_start=12)
# 図形の描画
folium.Circle(
location=location,
radius=1000,
color="red",
fill=True,
fill_color="red"
).add_to(map)
# 地図をHTMLファイルとして保存
map.save("map.html")
このコードを実行すると、地図上に半径1kmの赤い円が描画されます。
8. 地図の保存
foliumを使用して作成した地図は、HTMLファイルとして保存することができます。以下のコードは、地図をHTMLファイルとして保存する例です。
import folium
# 地図の中心座標
location = [35.6895, 139.6917]
# 地図の作成
map = folium.Map(location=location, zoom_start=12)
# 地図をHTMLファイルとして保存
map.save("map.html")
このコードを実行すると、作成した地図がmap.html
という名前のHTMLファイルとして保存されます。
9. 地理的データの可視化
foliumを使用すると、地理的データを地図上に可視化することができます。以下のコードは、地理的データを表示する例です。
import folium
import pandas as pd
# 地理的データの読み込み
data = pd.read_csv("data.csv")
# 地図の中心座標
location = [35.6895, 139.6917]
# 地図の作成
map = folium.Map(location=location, zoom_start=12)
# 地理的データの可視化
for index, row in data.iterrows():
folium.Marker(
location=[row["Latitude"], row["Longitude"]],
popup=row["Name"],
icon=folium.Icon(icon="cloud")
).add_to(map)
# 地図をHTMLファイルとして保存
map.save("map.html")
このコードを実行すると、地理的データをマーカーとして地図上に表示することができます。
10. 地図のスタイルの変更
foliumでは、地図のスタイルを変更することもできます。以下のコードは、地図のスタイルを変更する例です。
import folium
# 地図の中心座標
location = [35.6895, 139.6917]
# 地図の作成
map = folium.Map(location=location, zoom_start=12, tiles="Stamen Terrain")
# 地図をHTMLファイルとして保存
map.save("map.html")
このコードを実行すると、地図のスタイルがStamen Terrainに変更されます。
11. 地理的データの重ね合わせ
foliumでは、地理的データを重ね合わせて表示することもできます。以下のコードは、地理的データを重ね合わせて表示する例です。
import folium
# 地図の中心座標
location = [35.6895, 139.6917]
# 地図の作成
map = folium.Map(location=location, zoom_start=12)
# 地理的データの重ね合わせ
folium.TileLayer("OpenStreetMap").add_to(map)
folium.TileLayer("Stamen Terrain").add_to(map)
# 地図をHTMLファイルとして保存
map.save("map.html")
このコードを実行すると、地理的データが重ね合わせて表示されます。
12. ウェブマップの作成
foliumを使用すると、ウェブマップを作成することもできます。以下のコードは、ウェブマップを作成する例です。
import folium
# ウェブマップの作成
map = folium.Map(location=[35.6895, 139.6917], zoom_start=12)
# ウェブマップの保存
map.save("webmap.html")
このコードを実行すると、ウェブマップが作成され、webmap.html
という名前のファイルとして保存されます。
13. ストリートビューの表示
foliumでは、Google Mapsのストリートビューを表示することもできます。以下のコードは、ストリートビューを表示する例です。
import folium
# ストリートビューの表示
map = folium.Map(location=[35.6895, 139.6917], zoom_start=12)
folium.StreetView().add_to(map)
# 地図をHTMLファイルとして保存
map.save("map.html")
このコードを実行すると、地図上にストリートビューが表示されます。
14. クラスタリングの利用
foliumを使用すると、マーカーのクラスタリングを利用することができます。以下のコードは、クラスタリングを利用してマーカーを表示する例です。
以下のコードは、クラスタリングを利用してマーカーを表示する例です。
import folium
from folium.plugins import MarkerCluster
# 地図の中心座標
location = [35.6586, 139.7454]
# 地図の作成
map = folium.Map(location=location, zoom_start=15)
# マーカーの追加
marker_cluster = MarkerCluster().add_to(map)
for i in range(100):
folium.Marker(
location=[location[0]+0.001*i, location[1]+0.001*i],
popup="マーカー{}".format(i),
icon=folium.Icon(icon="cloud")
).add_to(marker_cluster)
# 地図をHTMLファイルとして保存
map.save("map.html")
このコードを実行すると、100個のマーカーをクラスタリングして、地図上に表示することができます。
まとめ
本記事では、Pythonのfoliumライブラリを使用した地図の作成方法について解説しました。foliumを使用することで、地図上でのデータの視覚化や地理的な情報の分析が容易に行えます。また、マーカーの追加やポップアップの表示、カラーマップの利用、図形の描画、地理的データの重ね合わせなど、様々な機能を使って地図をカスタマイズすることもできます。
コメント