Este projeto apresenta um dashboard web interativo para visualização, análise e exploração dos Cadastros Culturais do Recife, conectando:
- 🎭 Fazedores de cultura
- 🗺️ Mapa georreferenciado por bairro
- 📊 Indicadores sociodemográficos
- 💰 Informações de investimentos via SIC
- 📈 Gráficos analíticos segmentados por área e território
A aplicação segue uma arquitetura modular dividida em camadas:
cultura-recife-dashboard/
│
├── app.py # Streamlit principal (mínimo e limpo)
│
├── core/ # Camada de lógica e processamento
│ ├── carregar.py # Carregamento das bases (com cache)
│ ├── metricas.py # Cálculo das métricas e indicadores
│ ├── filtros.py # Funções de filtragem
│
├── visuals/ # Visualizações e UI
│ ├── mapa.py # Renderização do mapa Folium
│ ├── graficos.py # Gráficos Plotly
│
├── utils/ # Funções auxiliares
│ ├── defsbase.py # Listas e dicionários de apoio
│ ├── refs.py # Funções de limpeza de texto
│
├── dados/ # Bases de dados
│ ├── Cadastrados.xlsx
│ ├── SIC.xlsx
│ ├── teatros.xlsx
│ ├── Infopbruto.geojson
││
└── README.md
- Python 3.10+
- Pandas
- GeoPandas (pyogrio)
- Folium
- Streamlit
- streamlit-folium
- Plotly Express
- Branca colormap
- Unicodedata (limpeza de texto)
- Estrutura modular seguindo boas práticas Python
O usuário seleciona uma área cultural (ex.: Dança, Música, Cultura Popular), e todos os gráficos, mapa e indicadores são ajustados dinamicamente.
Permite focar análises em territórios específicos:
- total de inscritos
- espaços sociais
- população vulnerável
- percentual de pessoas negras
- etc.
O dashboard inclui:
- Cluster de fazedores por área
- Cluster total
- Polígonos dos bairros do Recife
- Equipamentos culturais (teatros)
Com controle de camadas agrupadas via GroupedLayerControl.
O dashboard exibe:
- Investimentos ao longo dos anos (SIC)
- Top 5 bairros com mais cadastrados por área
- Top áreas dentro de um bairro
- Scatter de espaços de convivência
O sistema calcula automaticamente:
- No de cadastrados
- Bairro mais presente
- Idade média
- % de inscritos no bairro
- % de pessoas negras
- No de escolas, praças e equipamentos
git clone https://github.com/seu-usuario/cultura-recife-dashboard.git
cd cultura-recife-dashboardpython -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows
pip install -r requirements.txt
dados/
├── Cadastrados.xlsx
├── SIC.xlsx
├── teatros.xlsx
└── Infopbruto.geojson
streamlit run app.py
O projeto está configurado para deploy rápido graças à nova estrutura modular e ao uso intensivo de @st.cache_data.
Certifique-se de incluir no repositório:
requirements.txt- pasta
data/com arquivos não muito grandes pyogriopara leitura do GeoJSON
Centraliza todo carregamento, sempre com cache_data, evitando que o app rode operações pesadas no startup.
Contém:
dict_area()→ métricas gerais da área selecionadadados_Area_bairro()→ métricas específicas para o bairro
Ambas livres de dependências globais.
Um arquivo único dedicado ao Folium:
- performance otimizada
- clusters separados por área
- controle de camadas
- GeoJSON renderizado apenas quando necessário
Todos os gráficos Plotly isolados, facilitando manutenção e expansão.
Funções de suporte, como:
- limpeza de acentos
- dicionários de mapeamento
- listas de bairros do Recife
A divisão modular permite testar:
- filtros isoladamente
- cálculos de métricas sem Streamlit
- gráficos com DataFrames sintéticos
- carregamento de dados via mocks
- Conectar ao banco de dados em vez de XLSX
- Criar API para atualização automática
- Adicionar séries temporais de métricas culturais
- Adicionar painel de indicadores municipais (ODS, SDG, IPVU)
- Integrar com dados de eventos da PCR
Este projeto é distribuído sob a licença MIT — uso livre e aberto.
Pull requests são bem-vindos! Sugestões de melhorias, novas métricas ou novos datasets culturais podem ser submetidos através das Issues.