voltar

Mapas com muitos pontos? Mapas agrupados podem ser a solução.

O folium é uma biblioteca de visualização de mapas em Python. Ele gera um html que é interativo e você consegue configurar um milhão de coisas, como mensagens, cores, tooltips etc. Além disso, a criação dos mapas é bastante simples:

mapa_sem_clusters = folium.Map(
    location= posicionamento_mapa,
    zoom_start=15
)

for linha in dados_topologicos.itertuples():
    folium.Marker([linha.lat, linha.lon]).add_to(mapa_sem_clusters)

mapa_sem_clusters

O único problema da visualização padrão do folium é que às vezes é necessário inserir uma quantidade muito massiva de pontos, fazendo com que a visualização fique muito poluída, como no exemplo abaixo.

raw_map

Contudo, há algo que pode salvar a sua vida, assim como salvou a minha: o MarkerCluster. Essa função permite fazer um mapa com clusters deixando a visualização bem mais simples e, principalmente, mais limpa.

mc = MarkerCluster()

mapa_clusterizado = folium.Map(location = posicionamento_mapa,
                 title = 'Antenas agrupadas')
    
    
for linha in dados_topologicos.itertuples():
    mc.add_child(folium.Marker([linha.lat, linha.lon]))
    
mapa_clusterizado.add_child(mc)

mapa_clusterizado

Coloquei aqui duas imagens de exemplo a partir do mapa gerado. Uma visão mais macro

outer_map

E uma visão mais micro (que é o zoom no mapa)

inner_map

Tudo isso em um arquivinho que você tranquilamente pode salvar como html.

O exemplo completo com o dataset usado você encontra aqui nesse repositório.