Tamanho de fonte
Alto contraste
Altura de linha

Exibindo mapas com Streamlit de maneira simples

Avatar de Ana Maria Gomes Ana Maria Gomes
5 minutos de leitura 1 mês atrás

Se você está começando a explorar o mundo da programação e deseja criar aplicações web interativas, o Streamlit é uma ferramenta poderosa e fácil de usar. Neste guia, vamos aprender como exibir mapas no Streamlit, uma funcionalidade que pode ser extremamente útil para visualizar dados geográficos de maneira intuitiva. Vamos lá?

Introdução ao Streamlit e Mapas

O que é o Streamlit?

O Streamlit é uma biblioteca de código aberto em Python que permite criar aplicações web interativas de forma rápida e simples. Com ele, você pode transformar scripts de dados em aplicativos web bonitos e funcionais com poucas linhas de código.

O que são mapas no Streamlit?

Mapas no Streamlit são representações visuais de dados geográficos. Eles permitem que você visualize pontos de dados em um mapa, facilitando a análise e a compreensão de informações espaciais.

Por que usar mapas em suas aplicações?

Usar mapas em suas aplicações pode ser extremamente benéfico para visualizar dados de localização, identificar padrões geográficos e tomar decisões informadas. Seja para mostrar a localização de clientes, pontos de interesse ou qualquer outro dado geográfico, os mapas tornam a análise mais intuitiva e visualmente atraente.

Configurando o Ambiente

Instalando o Streamlit

Antes de começarmos a criar nossos mapas, precisamos instalar o Streamlit. Você pode fazer isso facilmente usando o pip:

pip install streamlit

Criando um novo projeto

Depois de instalar o Streamlit, crie um novo diretório para o seu projeto e dentro dele, um novo arquivo Python. Vamos chamá-lo de app.py.

mkdir meu_projeto
cd meu_projeto
touch app.py

Primeiros Passos com Mapas no Streamlit

Importando bibliotecas necessárias

Para começar, precisamos importar o Streamlit e outras bibliotecas que vamos utilizar, como o Pandas para manipulação de dados.

import streamlit as st
import pandas as pd
import numpy as np

Criando um DataFrame com coordenadas de exemplo

Vamos criar um DataFrame com algumas coordenadas de exemplo para exibir no nosso mapa.

df = pd.DataFrame(
    np.random.randn(1000, 2) / [50, 50] + [37.76, -122.4],
    columns=['lat', 'lon']
)

Como usar st.map no Streamlit

Para exibir mapas no Streamlit, inicialmente, você pode utilizar a função st.map. Esta função permite, de maneira simples e rápida, renderizar mapas interativos. Primeiramente, é necessário que o Streamlit esteja instalado e que você importe a biblioteca no seu script. Em seguida, você pode, então, usar st.map para exibir um mapa com base em um DataFrame que contenha coordenadas geográficas (latitude e longitude). Além disso, esta função é ideal para visualizações geoespaciais básicas e pode ser facilmente combinada com outras funcionalidades do Streamlit, resultando na criação de aplicações web interativas.

Exibindo um Mapa Simples

Utilizando a função st.map

A função st.map do Streamlit facilita a exibição de mapas. Vamos ver um exemplo básico.

st.map(df)

Exemplo básico de exibição de mapa

No seu arquivo app.py, adicione o seguinte código para exibir um mapa simples:

import streamlit as st
import pandas as pd
import numpy as np

df = pd.DataFrame(
    np.random.randn(1000, 2) / [50, 50] + [37.76, -122.4],
    columns=['lat', 'lon']
)

st.map(df)

Para executar o aplicativo, use o comando:

streamlit run app.py

Personalizando o Mapa

Alterando o tamanho dos pontos

Você pode personalizar o tamanho dos pontos no mapa usando o parâmetro size.

st.map(df, size=20)

Mudando a cor dos pontos

Também é possível alterar a cor dos pontos utilizando o parâmetro color.

st.map(df, color='#0044ff')

Utilizando colunas diferentes para latitude e longitude

Se suas coordenadas estiverem em colunas diferentes, você pode especificar quais colunas usar para latitude e longitude.

df = pd.DataFrame({
    "col1": np.random.randn(1000) / 50 + 37.76,
    "col2": np.random.randn(1000) / 50 + -122.4,
    "col3": np.random.randn(1000) * 100,
    "col4": np.random.rand(1000, 4).tolist(),
})

st.map(df, latitude='col1', longitude='col2', size='col3', color='col4')

Exemplos Práticos

Exemplo 1: Mapa com pontos de interesse

Vamos criar um mapa que exibe pontos de interesse em uma cidade.

poi = pd.DataFrame({
    'lat': [37.77, 37.78, 37.79],
    'lon': [-122.41, -122.42, -122.43],
    'name': ['POI 1', 'POI 2', 'POI 3']
})

st.map(poi)

Exemplo 2: Mapa com dados de localização de clientes

Agora, vamos criar um mapa que exibe a localização de clientes.

clientes = pd.DataFrame({
    'lat': [37.76, 37.75, 37.74],
    'lon': [-122.40, -122.39, -122.38],
    'cliente': ['Cliente 1', 'Cliente 2', 'Cliente 3']
})

st.map(clientes)

Conclusão

Neste guia, primeiramente, aprendemos como exibir mapas no Streamlit, começando com a configuração do ambiente. Em seguida, avançamos para a personalização dos mapas, complementando o aprendizado com exemplos práticos. Além disso, vale destacar que os mapas são uma ferramenta poderosa para visualizar dados geográficos, o que, por sua vez, pode tornar suas aplicações ainda mais interativas e informativas

Se você gostou deste tutorial e quer continuar aprendendo, recomendamos explorar mais sobre o Streamlit e suas funcionalidades. Você pode começar com a documentação oficial do Streamlit ou conferir outros exemplos práticos na página de exemplos do Streamlit.

Referências

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov