8000 GitHub - henriquetourinho/C.O.A.T: Sistema de operações geográficas com visual tático e APIs externas
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

henriquetourinho/C.O.A.T

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗺️ C.O.A.T. – Centro de Operações Avançadas de Terreno

Python License: GPL v3

Uma plataforma de exploração geocultural e inteligência de dados — nascida na Bahia para o mundo.

O C.O.A.T. é uma aplicação de desktop avançada, escrita em Python com PySide6, que transforma a maneira como você explora, visualiza e entende dados geográficos e culturais.

Screenshot do C.O.A.T.


Sobre o Projeto

O C.O.A.T. não nasceu pronto. Ele é a materialização da jornada de um desenvolvedor visionário que partiu de uma pergunta fundamental: "Como transformar um simples mapa em uma solução completa de inteligência e exploração de dados?"

O projeto começou com a ideia de um mapeador de nomes e, através de uma evolução contínua e ambiciosa, superou desafios de ambiente, sistema operacional e conectividade. Ele foi aprimorado em Python, ganhando uma interface gráfica moderna com temas, funcionalidades de mapeamento temático, integração com APIs em tempo real e uma arquitetura otimizada que abre as portas para o futuro da análise de dados geoespaciais.

Cada funcionalidade do C.O.A.T. foi meticulosamente planejada e implementada para criar uma ferramenta que não apenas mostra um ponto no mapa, mas revela a história e o contexto contido naquele local. Este é um projeto que reflete a paixão pela tecnologia e o compromisso de desenvolver software de alta qualidade em Salvador, na Bahia.

Principais Funcionalidades

  • 🖥️ Interface Gráfica Avançada:

    • Construída com PySide6, oferece uma experiência de usuário limpa, profissional e com temas customizáveis (claro e escuro).
  • 🗺️ Mapeamento Temático Interativo:

    • Utiliza Folium para renderizar mapas detalhados e permite ao usuário alternar instantaneamente entre diferentes "temas" de dados, como Cidades, Comércios, Praias e Pontos Históricos, carregados a partir de um banco de dados SQLite otimizado e arquivos CSV customizáveis.
  • ⚡ Desempenho Assíncrono:

    • Utiliza threading para buscar dados de APIs externas (Clima e Wikipedia) em segundo plano. A interface nunca congela, garantindo uma experiência de usuário fluida e responsiva.
  • 📊 Painel de Inteligência de Dados:

    • Ao selecionar um ponto, um painel de informações é preenchido com dados consolidados e em tempo real, incluindo um resumo do local pela Wikipedia e as condições meteorológicas atuais pela OpenWeatherMap.
  • ⚙️ Robusto e Configurável:

    • Projetado para rodar em sistemas baseados em Debian, o C.O.A.T. lida com dependências de sistema e de ambiente de forma estruturada. O rodapé da aplicação é customizável com os créditos e links profissionais do autor.

Visão de Futuro (Roadmap)

O C.O.A.T. foi projetado para ser uma plataforma em constante evolução. As próximas funcionalidades planejadas incluem:

  • Filtros Avançados: Filtrar pontos de interesse por característica dentro de um mesmo tema (ex: "Restaurantes" dentro de "Comércios").
  • Cálculo de Rotas: Desenhar rotas entre dois ou mais pontos selecionados no mapa.
  • Visualização de Densidade (Heatmap): Mostrar "zonas quentes" de concentração para determinados temas.
  • Importação de Dados: Permitir que o usuário importe seus próprios dados geográficos através de formatos padrão como GeoJSON ou KML.

Tech Stack

  • Linguagem: Python 3
  • Interface Gráfica: PySide6
  • Mapeamento: Folium
  • Banco de Dados: SQLite
  • APIs e Conectividade: Requests, Wikipedia-API

Requisitos

  • Sistema Operacional: Debian ou derivados (Ubuntu, Linux Mint, etc.).
  • Dependências de Sistema: git, python3, python3-venv, e pacotes de desenvolvimento para Qt e X11.
  • Conexão Remota (Opcional): Um cliente X Server (VcXsrv para Windows, XQuartz para macOS) para visualização em acesso remoto.

Instalação e Uso Técnico

Este guia detalha a instalação em um ambiente limpo, usando as melhores práticas com um ambiente virtual.

  1. Instale as dependências base do sistema: Abra o terminal e garanta que git e python3-venv estejam instalados.

    sudo apt-get update
    sudo apt-get install git python3-venv -y
  2. Instale as dependências gráficas e de desenvolvimento (recomendado): Para evitar problemas com PySide6, é uma boa prática instalar as bibliotecas base do Qt e outras dependências.

    sudo apt-get install -y python3-pyside6.qtwidgets python3-pyside6.qtwebengine python3-pyside6.qtgui libxcb-cursor0
  3. Clone o repositório do C.O.A.T.:

    git clone [https://github.com/henriquetourinho/C.O.A.T.git](https://github.com/henriquetourinho/C.O.A.T.git)
    cd C.O.A.T
  4. Crie e ative o Ambiente Virtual:

    # Crie o ambiente na pasta 'venv'
    python3 -m venv venv
    
    # Ative o ambiente
    source venv/bin/activate

    Seu prompt do terminal agora deve começar com (venv).

  5. Instale as dependências Python: Use o pip para instalar as bibliotecas Python necessárias.

    pip install PySide6 folium requests wikipedia psutil
  6. Prepare os Dados:

    • Certifique-se de que os arquivos de dados (BR.txt ou cities15000.txt, comercios.csv, etc.) estão na pasta do projeto.
    • Execute o script de criação do banco de dados (se aplicável, como o preparar_db.py).
    • Execute o script de otimização do banco de dados: python3 otimizar_db.py.
  7. Execute o C.O.A.T.: Com o ambiente virtual ativo, execute o script principal.

    python3 coat.py

    Nota: Para acesso remoto via SSH, lembre-se de usar a flag -X (ssh -X usuario@ip) e de ter um X Server rodando na sua máquina local.

Licença

Este projeto é distribuído sob a GPL-3.0 license. Veja o arquivo LICENSE para mais detalhes.

🙋‍♂️ Desenvolvido por

Carlos Henrique Tourinho Santana 📍 Salvador - Bahia
🔗 Wiki Debian: wiki.debian.org/henriquetourinho
🔗 LinkedIn: br.linkedin.com/in/carloshenriquetourinhosantana
🔗 GitHub: github.com/henriquetourinho


📢 Este é um projeto vivo — colaborações, sugestões e novas ideias são muito bem-vindas!

0