Skip to content

Documentação do Projeto PRISMA

Vinicius Schneider edited this page Dec 13, 2024 · 9 revisions

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.

Principais diretórios/arquivos do projeto


Estrutura Geral

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.

analysis

  • overlay_analysis.py: Análise de sobreposição entre camadas geoespaciais, interseções e cálculo de estatísticas.

controllers

  • 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.

databases

  • db_connection.py: Estabelece conexões com o banco de dados, executa queries e gerencia autenticação.
  • handle_selections.py: Manipula seleções no banco de dados, filtrando e ordenando registros conforme critérios.

docs

Diretório usado para documentação adicional do projeto (manuais, guias).


libs

Bibliotecas externas ou internas.


qgis

  • 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.

screens

Contém .ui files (Qt Designer) e classes Python para janelas específicas da aplicação.


settings

  • init.py: Pacote Python.
  • config_Json/: Manipulação de arquivos de configuração em JSON.
    • 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.

shapefiles

Armazena dados geoespaciais em formato Shapefile (arquivos .shp, .dbf, .shx, etc.).


styles

Estilos de camadas e simbologia (arquivos .qml, .sld ou similares).


utils

  • 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.
  • 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: Funções genéricas de utilidade (logging, parsing, formatação).
  • wfs_2_qgs_layer.py: Converte camadas WFS para camadas QGIS, possibilitando uso offline.

Clone this wiki locally