1
resposta

Mapa coroplético com tooltip no Streamlit com Folium

Estou com uma dúvida sobre plotagem de mapas no Streamlit usando o Folium. Desenvolvi um mapa mundi coroplético com informações em tooltip. Entretanto, o mapa ficou muito carregado. Eu coloquei no tooltip, além de informações quantitativas, um gráfico. Ou seja, leva muito tempo pra carregar. E ele precisa recarregar toda vez que a página é atualizada. Além disso, ele também precisa recarregar toda vez que seu zoom é alterado. Tentei aplicar cache data, mas não foi possível. Gostaria de saber se existe alguma forma de contornar essa situação, opções para que, pelo menos uma vez carregada, ele não precise recarregar novamente.

1 resposta

Oii, Carlos! Tudo bem?

Como sugestão, alguns ajustes podem ajudar: primeiro, verifique como está utilizando o st.cache_data. Decorar a função que gera o mapa com esse recurso pode evitar que os dados sejam recarregados sempre que a página for atualizada, o que melhora o desempenho.

Outra dica é simplificar o tooltip do mapa. Às vezes, informações demais podem sobrecarregar a visualização. Mostre apenas o essencial e, se necessário, adicione um botão ou link para detalhes em outro lugar. Também é válido reduzir a resolução dos dados geoespaciais, o que acelera o carregamento sem comprometer tanto a qualidade.

No Folium, usar camadas carregadas sob demanda, como TileLayer, pode otimizar o desempenho. Se a interação ao dar zoom ainda causar recarga, talvez seja interessante considerar bibliotecas como Plotly ou Bokeh, que oferecem interatividade sem essa limitação.

É interessante dividir o conteúdo, se o mapa está carregando muitos dados de uma vez, dar ao usuário a opção de escolher o que visualizar pode ser mais prático.

Espero que as sugestões te ajudem.

Bons estudos e até mais!