Conceção de Relatórios

Os relatórios são, em termos mais simples, criados preenchendo um modelo de relatório com dados textuais e/ou espaciais de um ou mais trabalhos. É importante ter em atenção que os relatórios são gerados ao nível da camada/banda, pelo que o número de relatórios gerados por um único trabalho irá corresponder ao número de bandas por defeito para o trabalho em questão.

A conceção de relatórios é um processo de dois passos que envolve:

  1. Desenhar modelos usando a estrutura de esquema do QGIS;

  2. Especificar os parâmetros de configuração num ficheiro de configuração de relatórios.

Pré-requisitos

Antes de iniciar a conceção de novos relatórios ou a personalização de relatórios existentes, recomenda-se a familiarização com os seguintes tópicos:

Variáveis de Expressão de Esquema

Um relatório é composto por conteúdo estático (como logotipos, texto de isenção de responsabilidade, etc.) que não muda de um relatório para outro. Pode também incluir conteúdo dinâmico (tal como mapas ou informação de atributos) que é gerado em tempo de execução, durante o processo de execução.

A toolbox Trends.Earth fornece uma série de variáveis de expressão de esquema que podem ser usadas para inserir conteúdo dinâmico num esquema. Algumas delas estão disponíveis no momento da conceção, enquanto outras só estão disponíveis no tempo de execução. A tabela abaixo apresenta um resumo das variáveis disponíveis.

Variáveis de Trabalho

Estas são caraterizadas por um prefixo te_job_ e só estão disponíveis em tempo de execução.

Nome de Variável

Descrição

Tipo de dados

te_job_id

Identificação única, correspondente ao IUU do trabalho

String

te_job_input_params

Representação JSON dos parâmetros de entrada de um trabalho

String

te_job_paths

Caminho local para o(s) conjunto(s) de dados do trabalho

String

te_job_alg_name

nome do algoritmo do trabalho

String

te_job_creation_date

Data/hora de criação de um trabalho

String em formato %Y-%m-%d %H:%M

te_job_status

Estado de conclusão de um trabalho, e.g. TRANSFERIDO, GERADO_LOCALMENTE, etc.

String

te_job_name

Nome do trabalho, tal como definido pelo utilizador.

String

te_job_comments

Comentários a um trabalho, tal como fornecidos pelo utilizador

String

Variáveis de Camada

Estas caraterizam-se pelo prefixo te_current_layer_ e só estão disponíveis em tempo de execução.

Nome de Variável

Descrição

Tipo de dados

te_current_layer_name

Nome da camada no contexto da execução atual

String

Variáveis de Definições de Relatório

Estas caraterizam-se pelo prefixo te_report_ e estão disponíveis tanto durante o tempo de conceção como de execução. Consulte a secção Relatórios para uma descrição detalhada das definições de relatório e nomes das variáveis correspondentes.

Tipos de Modelo

Existem dois tipos principais de modelo de relatório:

Modelo Completo

Este está concebido para conter - ou permitir incluir - mais informações, como o nome de autor. O modelo padrão é definido numa página A4 e inclui um título de esquema, mapa, legenda, barra de escala, seta norte, texto de isenção de responsabilidade e logotipo.

Modelo Simples

Este está concebido para ser uma versão mais leve do modelo com o padrão definido numa página de tamanho 83 mm por 59 mm (em modo paisagem) ou vice-versa em modo retrato, e contém um mapa, legenda, seta norte, barra de escala, texto de isenção de responsabilidade e logotipo.

Nota

Para cada tipo de modelo, precisará de fornecer ambas as versões em modo retrato e modo paisagem, uma vez que a toolbox irá selecionar uma destas, dependendo das dimensões da camada de mapa a ser renderizada.

Conceção de Modelos de Relatório

Pode criar modelos das seguintes formas:

Criando um Novo Modelo

  1. Aceda a Projeto > Novo Esquema de Impressão….

    ../../_images/report_new_layout.png
  2. Defina um nome de fácil utilização para o esquema

    ../../_images/report_template_name.png

Modificando um Esquema Existente

  1. Aceda a Projeto > Gestor de Esquemas….

    ../../_images/report_project_layout_manager.png
  2. Selecione Específico no menu pendente, na secção Novo a partir de Modelo.

    ../../_images/report_layout_manager_specific.png
  3. Clique no botão navegar (com três pontos) para selecionar um modelo qpt existente. Os modelos padrão podem ser encontrados em [base_data_directory]/reports/templates.

    ../../_images/report_layout_manager_browse.png
  4. Clique no botão Criar….

    ../../_images/report_layout_manager_create.png
  5. Especifique um nome fácil de utilizar para o modelo.

    ../../_images/report_template_name.png

Adicionar Itens de Esquema

  • Pode adicionar itens ao modelo, de forma semelhante à definida no manual QGIS. As variáveis de expressão Trends.Earth estão disponíveis no diálogo Construtor de Expressão e podem ser inseridas em itens de etiqueta da mesma forma que qualquer outra variável QGIS.

    ../../_images/report_expression_builder.png
  • Por exemplo, para inserir o nome do algoritmo de um trabalho num item de etiqueta, pode usar a seguinte expressão: [% @te_job_alg_name %].

    ../../_images/report_label_expression.png
  • Para um item de mapa, não adicione nenhuma camada ou especifique um tema de mapa, uma vez que as camadas e a sua ordenação serão automaticamente definidas durante o processo de geração do relatório.

  • Ao usar um item de legenda, certifique-se de que a opção Auto Atualização está selecionada. A toolbox irá determinar quais os itens de legenda a mostrar/ocultar, dependendo do contexto de renderização.

    ../../_images/report_legend_auto_update.png
  • Para os itens de mapa que renderizam as camadas de um trabalho ou itens de etiqueta que utilizam as variáveis de expressão da toolbox, certifique-se de que define os seus identificadores de item correspondentes, para que possam ser sinalizados para atualização, durante o processo de geração de relatório. Uma convenção de nomenclatura preferida, para o identificador do item, é [item_type.context_name] e.g. label.layer_name, label.job_alg_name, map.main. Iremos ver como estes identificadores de item são usados na secção item_scope_mapping.

    ../../_images/report_item_id.png

Configuração de Parâmetros do Relatório

O próximo passo é definir que modelos serão usados para cada algoritmo. Isto é feito através de um ficheiro de configuração de relatórios - templates.json- que é criado em [base_data_directory]/reports/templates, ao carregar a toolbox pela primeira vez.

O templates.json é uma lista de objetos de configuração de relatórios, onde cada objeto de configuração corresponde a um campo de aplicação. Um campo de aplicação, neste caso, refere-se a um algoritmo. Uma configuração é composta por duas partes:

  • template_info - Contém informação sobre os modelos de relatório QGIS associados a um ou mais campos de aplicação de algoritmo.

  • output_options - Opções de saída para exportar um relatório.

Ver amostra em baixo:

 {
   "template_info":{
      "id":"70ca4be7-839e-4248-be14-34ba8665ed98",
      "name":"Land Productivity",
      "description":"Overview of land productivity indicator.",
      "simple_portrait_path":"simple_layout_template_portrait.qpt",
      "simple_landscape_path":"simple_layout_template_landscape.qpt",
      "full_portrait_path":"full_layout_template_portrait.qpt",
      "full_landscape_path":"full_layout_template_landscape.qpt",
      "item_scopes":[
         {
            "name":"productivity",
            "type_id_mapping":{
               "map":["map.main"],
               "label":["label.layer_title"]
            }
         }
      ]
   },
   "output_options":{
      "template_type": "ALL",
      "formats": [
         {
            "format_type": "PDF"
         },
         {
            "format_type": "IMAGE",
            "params": {
               "image_type": "png"
            }
         }
      ]
   }
}

template_info

Contém informação sobre os modelos de relatório QGIS associados com um ou mais campos de aplicação de algoritmo.

Nome de Propriedade

Descrição

Obrigatório

id

Um identificador IUU único em formato string

Sim

name

Um nome fácil de utilizar para a configuração do modelo

Não

description

Uma descrição breve da configuração do modelo

Não

simple_portrait_path

Nome do ficheiro modelo para um esquema de retrato simples

Sim

simple_landscape_path

Nome do ficheiro modelo para um esquema de paisagem simples

Sim

full_portrait_path

Nome do ficheiro modelo para um esquema de retrato completo

Sim

full_landscape_path

Nome do ficheiro modelo para um esquema de paisagem completo

Sim

item_scopes

Uma lista de objetos de campo de aplicação de item. Deve conter pelo menos uma definição de campo de aplicação.

Ver item_scope_mapping para mais informações.

Sim

Nota

Os caminhos definidos acima são basicamente nomes de ficheiros relativos à localização do ficheiro de configuração templates.json.

output_options

Opções para exportar um relatório de saída.

Nome de Propriedade

Descrição

Obrigatório

formats

Uma lista de objetos de formato, especificando o formato de saída do relatório. É possível produzir um relatório em vários tipos de ficheiro, como PDF e PNG.

É preciso definir pelo menos um formato de saída.

Ver output_format para opções de configuração de um objeto de formato de saída.

Sim

template_type

Tipo de modelo de relatório em formato string.

As opções suportadas incluem: SIMPLES, COMPLETO ou TODOS.

Tenha em atenção que estes devem estar em maiúsculas, tal como apresentados em cima.

Sim

item_scope_mapping

Fornece um mecanismo para agrupar itens de esquema, com base num campo de aplicação (i.e., algoritmo).

Nome de Propriedade

Descrição

Obrigatório

name

Nome do algoritmo que será combinado com esta configuração, e.g. productivity, sdg-15-3-1-sub-indicators etc. Refere-se aos nomes dos algoritmos definidos em scripts.json, na pasta de dados da toolbox.

Sim

type_id_mapping

Um dicionário contendo uma enumeração do tipo de item de esquema e a lista correspondente de identificadores de item definidos no modelo.

Os tipos de item de esquema suportados incluem: mapa, etiqueta, foto

"type_id_mapping":{
   "map":["map.main"],
   "label":["label.layer_title"]
}

Ver Adicionar Itens de Esquema para saber como especificar identificadores de item.

Sim

output_format

Informação de formato para a saída do relatório.

Nome de Propriedade

Descrição

Obrigatório

format_type

Uma enumeração do tipo de saída do ficheiro.

As opções de enumeração suportadas incluem: PDF e IMAGEM.

Tenha em atenção que estes devem estar em maiúsculas, tal como apresentados em cima.

Sim

params

Dependendo do tipo de saída especificada, esta propriedade contém informações adicionais sobre o formato.

Por exemplo, se o formato de saída especificado for IMAGEM, então esta propriedade pode ser usada para especificar o tipo de IMAGEM. Não tem efeito para o tipo PDF e assume PNG por defeito para o tipo IMAGEM.

Não

Redefinição para modelos e configuração por defeito

Para regressar aos modelos e ficheiro de configuração de relatório por defeito que são fornecidos com a toolbox, execute os seguintes passos:

  1. Feche o QGIS e depois salvaguarde a pasta templates em [base_data_directory]/reports/templates.

  2. Elimine a pasta templates e depois reinicie o QGIS.