Releases: arrobaraujo/map_maker
Releases · arrobaraujo/map_maker
v1.4.0
GTFS Map Maker v1.4.0
Esta versao entrega uma refatoracao arquitetural ampla para facilitar manutencao, testes e evolucao do projeto.
Novidades
Arquitetura modular
- Nova camada de controllers para orquestracao de fluxo:
src/controllers/map_controller.pysrc/controllers/gtfs_controller.py
- Nova camada de services para regras de negocio:
src/services/layer_service.pysrc/services/zoom_service.pysrc/services/export_service.py
- Nova camada de UI builder:
src/ui/ui_builder.py
Melhorias tecnicas
src/app.pysimplificado e focado em coordenacao.- Separacao clara entre interface, orquestracao e regras de negocio.
- Ajuste para evitar redraw desnecessario na reordenacao de camadas sem mudanca real.
Qualidade
- Suite de testes expandida para controllers e services.
- Cobertura de cenarios para:
- selecao e reordenacao de camadas
- parse/clamp de zoom
- exportacao KML/SVG
- carregamento GTFS assincrono
Compatibilidade
- Mantem comportamento da interface e fluxo principal do usuario.
- Requer Python 3.10+.
v1.3.0
GTFS Map Maker v1.3.0
Esta versao adiciona suporte a Docker com GUI no navegador, melhorias de estabilidade e documentacao em ingles.
Novidades
Docker e execucao
- Runtime de GUI com Xvfb + x11vnc + noVNC
docker-compose.ymlpara subir com um comando- Interface acessivel via
http://localhost:6080/vnc.html - Persistencia de cache em
map_tiles_cache
Melhorias no app
- Correcao de remocao de camada com estado residual
- Limpeza de duplicacao no ajuste de zoom
- Encerramento mais seguro com liberacao do processor
Melhorias no processamento
- Validacao de arquivos obrigatorios no ZIP GTFS
- Fechamento idempotente do
GTFSProcessor
Documentacao e build
- Novo
CONTRIBUTING.mdem ingles - Novo
ARCHITECTURE.mdem ingles - READMEs PT/EN com instrucoes de Docker
- Script
scripts/build_exe.ps1para gerar o executavel
Release v1.2.0 - Melhorias no zoom e na renderização de mapas, e novos recursos
Release Notes - v1.2.0 🎯
Esta versão traz o Zoom Fracionário Estabilizado e melhorias significativas na Interface de Camadas.
O que há de novo?
🗺️ Mapa e Navegação (Foco em Precisão)
- Zoom Granular (0.1): Agora você pode ajustar o zoom em passos de 0.1 (ex: 14.5). O mapa não "pula" mais apenas nos inteiros, permitindo o enquadramento perfeito.
- Correção de Alinhamento: Resolvemos o problema de tiles desalinhados ou "misturados" durante o zoom fracionário. Marcadores e rotas permanecem perfeitamente posicionados.
- Performance de Renderização: Implementamos um sistema de cache de redimensionamento de tiles. O mapa agora é muito mais fluido ao navegar e aproximar.
🍱 Gestão de Camadas (Sidebar)
- Seleção Múltipla: Agora é possível selecionar várias camadas simultaneamente na lista lateral.
- Ctrl + Clique: Seleciona/deseleciona camadas individuais.
- Shift + Clique: Seleciona automaticamente todas as direções da mesma linha (ex: Ida e Volta).
- Estilização em Lote: Altere a cor ou a espessura de todas as camadas selecionadas de uma só vez, economizando tempo no design do mapa.
🧹 Limpeza e Estabilidade
- Console Limpo: Removemos todos os logs de diagnóstico redundantes (
DEBUG LIB,DEBUG UTIL), deixando o terminal livre de poluição visual.
Release v1.1.0 - Melhorias de desempenho e novos formatos de exportação
Release Notes - v1.1.0 🚀
Esta versão foca em estilização automática, interoperabilidade e performance extrema.
O que há de novo?
🎨 Estilização e Cores
- Cores Oficiais GTFS: O app agora lê o campo
route_colordo seu arquivo GTFS. Ao selecionar uma linha, ela aparece automaticamente com a cor oficial da agência. - Suporte a SVG (Vetorial): Novo formato de exportação! Perfeito para designers que precisam editar o mapa no Adobe Illustrator ou Inkscape sem perda de qualidade.
- Suporte a KML: Agora você pode exportar suas rotas para o Google Earth ou outras ferramentas de GIS que utilizam o formato KML.
⚡ Performance e Estabilidade (Upgrade Massivo)
- Carregamento Assíncrono: O processamento do GTFS agora acontece em segundo plano, mantendo a interface sempre responsiva.
- Otimização de Memória (SQLite): Reduzimos drasticamente o uso de RAM ao armazenar as coordenadas em um banco de dados temporário ultra-rápido.
- Lista de Rotas Virtual: Rolar e filtrar milhares de linhas agora é instantâneo, graças ao novo sistema de virtualização de interface.
- Decimação de Coordenadas: Implementamos o algoritmo de Douglas-Peucker para simplificar rotas complexas sem perder a precisão, resultando em um mapa muito mais fluido.
Release v1.0.0 - Refatoração e Melhorias de UI
🚀 Release v1.0.0 - Refatoração e Melhorias de UI
Esta versão traz uma reestruturação completa do projeto para seguir as melhores práticas de Python, além de melhorias significativas na experiência do usuário e na qualidade das exportações.
✨ Novidades e Melhorias
🎨 Interface do Usuário (GUI)
- Controle de Zoom Preciso: Substituímos o slider por botões de
+e-e um campo de entrada de texto direto para ajustes finos. - Layout Otimizado: A barra lateral agora se expande corretamente para exibir nomes de linhas longos sem cortes.
- Inicialização Inteligente: O aplicativo agora abre automaticamente em tela cheia (maximizado) de forma estável no Windows.
- Legenda Inteligente: Melhoria na lógica de agrupamento de legendas para mapas mais limpos.
🛠️ Arquitetura e Código
- Modularização: Código refatorado e dividido em src/app.py, src/processor.py e src/utils/renderer.py.
- Robustez: Reintroduzido o suporte completo a
trips.txtpara garantir identificação precisa de todas as rotas e nomes. - Qualidade de Exportação: O DPI padrão foi aumentado para 300 para garantir mapas nítidos em impressões e apresentações.
- Testes Automatizados: Adicionada suite de testes iniciais com
pytestpara garantir a integridade do processamento de dados.
📦 Distribuição
- Suporte a Executável: Configuração pronta para gerar um arquivo
.exeúnico via PyInstaller, incluindo todos os recursos visuais do CustomTkinter.
📥 Como instalar
- Baixe o arquivo
app.exeabaixo (em Assets). - Ou, para desenvolvedores:
pip install -r requirements.txtpython src/app.py
🛠️ Correções de Bugs
- Corrigido erro de
justifyem botões do CustomTkinter. - Fixado bug onde a janela minimizava sozinha logo após abrir.
- Resolvido problema de sobreposição de elementos na barra de ferramentas.