-
Notifications
You must be signed in to change notification settings - Fork 0
Documentação do Projeto PRISMA
Este projeto tem como objetivo auxiliar em tarefas relacionadas a geoprocessamento, análise de dados geoespaciais, geração de layouts, manipulação de camadas, entre outras funcionalidades no ambiente QGIS.
Abaixo, apresentamos a estrutura do projeto, organizada por diretórios e arquivos, com uma breve descrição da função de cada um.
- Estrutura Geral
- analysis
- controllers
- databases
- docs
- libs
- qgis
- screens
- settings
- shapefiles
- styles
- utils
O projeto segue uma estrutura modular, separando a lógica em diretórios específicos:
- analysis/: Rotinas de análise geoespacial, sobreposição de camadas e cálculos.
- controllers/: Controladores que gerenciam a lógica de operações e interface com o usuário.
- databases/: Módulos de conexão e manipulação de dados armazenados em bancos.
- docs/: Documentação adicional.
- libs/: Bibliotecas externas ou internas customizadas.
- qgis/: Scripts para integração direta com QGIS (layouts, canvas, etc.).
- screens/: Telas e interfaces gráficas (.ui files e controladores).
- settings/: Configurações, camadas, janelas de configuração e manipulação de JSON.
- shapefiles/: Armazenamento de dados geoespaciais em formato Shapefile.
- styles/: Estilos para camadas, layouts e elementos visuais.
- utils/: Ferramentas utilitárias, funções de apoio, pré-configurações.
- overlay_analysis.py: Análise de sobreposição entre camadas geoespaciais, interseções e cálculo de estatísticas.
- operation_controller.py: Gerencia operações do sistema, basicamente é responsável por montar a variável json contendo todas camadas e informações da comparação que será realizada.
- screen_controller.py: Controla a interação entre as janelas, lógica da interface gráfica e comunicação entre front-end e back-end. Também é daqui que as camadas de entrada são carregadas.
- db_connection.py: Estabelece conexões com o banco de dados, executa queries e gerencia autenticação.
- handle_selections.py: Manipula as camadas que foram selecionadas para comparação (Ex: Leitura de camada Shapefile, WFS, Banco de dados).
Diretório usado para documentação adicional do projeto (manuais, guias).
Bibliotecas externas ou internas.
- init.py: Torna o diretório um pacote Python.
- layout_manager.py: Gerencia layouts no QGIS (impressão, legendas, escalas).
- map_canvas.py: Controla o canvas do mapa, interações do usuário (zoom, pan, seleção).
- memorial.py: Gera ou manipula memoriais descritivos de polígonos e áreas.
- image_republica.jpeg: Recurso de imagem (possivelmente para layouts).
- spu.png: Recurso de imagem, possivelmente para ícones ou layouts.
Contém .ui files (Qt Designer) e classes Python para janelas específicas da aplicação.
- init.py: Pacote Python.
-
config_Json/: Armazena um JSON contendo informações de todas camadas cadastradas, bem como estilos de camadas, basemap utilizado, etc.
- init.py
- config_layers.py: Configurações de camadas do QGIS (ordem, simbologia, visibilidade).
- config_layers.ui: Interface gráfica para configuração de camadas.
- config_window.py: Controla a janela principal de configurações (caminhos de dados, parâmetros padrão).
- config_window.ui: Interface gráfica da janela de configurações principais.
-
dependencies/: Scripts relacionados à verificação e instalação de dependências.
- env_tools.py: Ferramentas para configuração de ambiente.
- example_print_table.py: Exemplo de tabela impressa (teste ou utilitário).
- flag_dependencies.py: Verifica e marca dependências necessárias.
- install_dependecies.py: Automatiza instalação de dependências externas.
- json_tools.py: Funções para leitura, escrita e validação de arquivos JSON.
- layer_infor.py: Funções para obter informações sobre camadas (nome, atributos, fonte).
- layer_infor.ui: Interface gráfica para exibir informações da camada.
Armazena dados geoespaciais em formato Shapefile.
Armazena alguns arquivos .qml e .sld para estilização das camadas do Prisma.
- init.py: Pacote Python.
- data_processing.py: Funções de processamento de dados, conversão e limpeza.
- default_styles.py: Estilos padrão para camadas, facilitando a padronização visual (Rodado a primeira vez que o Prisma é executado).
- lyr_utils.py: Funções auxiliares para manipulação de layers (obter lista, atualizar simbologia).
- pre_config_json.py: Carrega pré-configurações a partir de JSON antes da interface.
- utils.py: Possui algumas funções genéricas que são utilizadas durante o fluxo do código.
- wfs_2_qgs_layer.py: Converte camadas WFS para camadas QGIS, possibilitando uso offline.
A seguir, um fluxo que o código segue desde a seleção das camadas para comparação até a geração dos PDF's.