Группирование (кластеризация) маркеров Folium (Python)
В файле POI.csv находятся названия точек, долгота, широта, радиус и секторы входа (в градусах), которые отображаются на карте графически.
import folium
from folium import plugins
from folium.plugins import MarkerCluster
import pandas as pd
from turtle import color, fillcolor
input_poi = 'POI.csv'
poi = pd.read_csv(input_poi)
place_poi = poi['name']
lat = poi['latitude']
lon = poi['longitude']
rad_poi = poi['radius']
start_poi = poi['from']
stop_poi = poi['until']
poi.head(6)
m = folium.Map()
cluster = MarkerCluster().add_to(m)
city = folium.map.FeatureGroup()
for lat, lon, rad_poi, start_poi, stop_poi, place_poi in zip(lat, lon, rad_poi, start_poi, stop_poi, place_poi):
if start_poi > stop_poi:
start_poi -= 360
city.add_child (
plugins.SemiCircle(
location = [lat, lon],
radius = rad_poi,
start_angle = start_poi,
stop_angle = stop_poi,
fill_color = 'red',
)
)
city.add_child (
folium.Marker(
location = [lat, lon],
tooltip = place_poi
)
)
m.add_child(city)
Из-за большого количества точек (больше 3500) необходимо добавить кластеризацию в которой и есть проблема - если добавить отдельно plugins.SemiCircle и folium.Marker в MarkerCluster, то количество значений на карте удваивается и каждая точка считает отдельно маркер точки и отдельно маркер круга. Можно ли добавить сгруппированные "city" в плагин MarkerCluster?