よちよちpython

独習 python/Qpython/Pydroid3/termux/Linux

【foliumのPlugins】地図のマーカーをまとめて表示するMarkerCluster

今回は、地図作成ライブラリfoliumの数あるPluginsの中の1つ、MarkerClusterの使い方。

地図上に設置したマーカーを、地図を縮小した時にはまとめて表示することができます。その際まとめてあるマーカーの個数が換わりに表示されます。
地図を拡大すればマーカーが1つずつ表示。



目次



地図作成

簡単です。マーカークラスタのレイヤー(層)が生成されます。

※ 座標は適当な数字を入れています。

import folium
from folium import plugins

# ベースとなる地図作成
m = folium.Map(location=[34, 134], zoom_start=8)


# マーカークラスタのレイヤーを生成し、地図に追加
marker_cluster = plugins.MarkerCluster().add_to(m)


# マーカー1をマーカークラスタに追加
folium.Marker(
    location=[34.05, 134.05],
    popup="マーカー1",
    icon=folium.Icon(color="green"),
).add_to(marker_cluster)


# マーカー2をマーカークラスタに追加
folium.Marker(
    location=[34.07, 134.02],
    popup="マーカー2",
    icon=folium.Icon(color="lightblue"),
).add_to(marker_cluster)


# マーカー3をマーカークラスタに追加
folium.Marker(
    location=[34.03, 134.07],
    popup="マーカー3",
    icon=folium.Icon(color="purple"),
).add_to(marker_cluster)


# 地図表示
m
Make this Notebook Trusted to load map: File -> Trust Notebook

「3」と書いてあるマーカーは3つのマーカーをまとめたマーカーです。
それをクリックかタップすると、各マーカーに別れて表示されます。



ヘルプ

# ヘルプの表示
help(folium.plugins.MarkerCluster)

# または(Jupyterで
?folium.plugins.MarkerCluster
folium.plugins.MarkerCluster(
    locations=None,
    popups=None,
    icons=None,
    name=None,
    overlay=True,
    control=True,
    show=True,
    icon_create_function=None,
    options=None,
    **kwargs,
)



おわりに

都道府県内の市町村のマーカーを県庁で1つにまとめる、ジャンル毎にマーカーを色分けしながらまとめる等、便利かつスッキリ表示させられます。コードも意外と簡単なので、これは使えるかも。

以上です。