Разработка отчетов

Проще говоря, отчеты создаются путем заполнения шаблона отчета текстовыми и/или пространственными данными из одного или нескольких заданий. Важно отметить, что отчеты генерируются на уровне слоя/диапазона, поэтому количество отчетов из одного задания будет соответствовать количеству уровней по умолчанию для данного задания.

Разработка отчетов — это двухэтапный процесс, который включает в себя:

  1. Разработку шаблонов с использованием фреймворка QGIS;

  2. Указание параметров конфигурации в файле конфигурации отчета.

Предпосылки

Прежде чем приступать к разработке новых или настройке существующих отчетов, рекомендуется ознакомиться со следующими темами:

Переменные выражения макета

Отчет состоит из статического содержимого (например, логотипов, текста заявления об отказе от ответственности и т. д.), которое не меняется от одного отчета к другому. Он также может включать динамическое содержимое (например, карты или информацию об атрибутах), которое генерируется во время выполнения в процессе выполнения.

Набор инструментов Trends.Earth предоставляет ряд переменных выражений макета, которые можно использовать для вставки динамического содержимого в макет. Некоторые из них доступны во время разработки, а другие — только во время выполнения. В таблице ниже представлена ​​сводка доступных переменных.

Переменные работы

Они характеризуются префиксом «te_job_» и доступны только во время выполнения.

Имя переменной

Описание

Тип данных

te_job_id

Уникальный идентификатор, соответствующий UUID задания

Строка

te_job_input_params

JSON-представление входных параметров задания

Строка

te_job_paths

Локальный путь к набору(-ам) данных задания

Строка

te_job_alg_name

Название алгоритма работы

Строка

te_job_creation_date

Дата/время создания задания

Строка в формате %Y-%m-%d %H:%M

te_job_status

Статус завершения работы, например. СКАЧАНО, СОЗДАНО_ЛОКАЛЬНО и т. д.

Строка

te_job_name

Название задания, введенное пользователем.

Строка

te_job_comments

Комментарии к заданию, предоставленные пользователем

Строка

Переменные слоя

Они характеризуются префиксом te_current_layer_ и доступны только во время выполнения.

Имя переменной

Описание

Тип данных

te_current_layer_name

Название слоя в текущем контексте выполнения

Строка

Переменные настроек отчета

Они характеризуются префиксом te_report_ и доступны как во время разработки, так и во время выполнения. Подробное описание настроек отчета и соответствующих имен переменных см. в разделе Отчеты.

Типы шаблонов

Существуют два основных типа шаблонов отчетов:

Полный шаблон

Он создан для того, чтобы содержать или разрешить включение дополнительной информации, такой как имя автора. Шаблон по умолчанию размещается на странице формата A4 и включает в себя заголовок макета, карту, легенду, масштабную линейку, стрелку севера, текст заявления об отказе от ответственности и логотип.

Простой шаблон

Это облегченная версия шаблона, по умолчанию установленная для размера страницы 83 мм на 59 мм (в пейзажном режиме) или наоборот в портретном режиме, и содержит карту, легенду, стрелку севера, масштабную линейку, текст отказа от ответственности и логотип.

Примечание

Для каждого типа шаблона вам нужно будет предоставить как портретную, так и альбомную версии, так как панель инструментов выберет одну из них в зависимости от размеров визуализируемого слоя карты.

Разработка шаблонов отчетов

Вы можете создавать шаблоны одним из следующих способов:

Создание нового

  1. Перейдите к Проект > Новый макет печати….

    ../../_images/report_new_layout.png
  2. Укажите понятное имя для макета.

    ../../_images/report_template_name.png

Изменение существующего

  1. Перейдите в Проект > Диспетчер макетов….

    ../../_images/report_project_layout_manager.png
  2. Выберите Особый в раскрывающемся меню в разделе Новый из шаблона.

    ../../_images/report_layout_manager_specific.png
  3. Нажмите кнопку обзора (с тремя точками), чтобы выбрать существующий шаблон qpt. Шаблоны по умолчанию можно найти в`[base_data_directory]/reports/templates`.

    ../../_images/report_layout_manager_browse.png
  4. Нажмите кнопку Создать….

    ../../_images/report_layout_manager_create.png
  5. Укажите понятное имя для шаблона.

    ../../_images/report_template_name.png

Добавление элементов макета

  • Вы можете добавлять элементы в шаблон способом, аналогичным описанному в `Руководстве по QGIS<https://docs.qgis.org/3.16/en/docs/user_manual/print_composer/composer_items/index.html>`_. Переменные выражения Trends.Earth доступны в диалоговом окне Построитель выражений и могут быть вставлены в элементы метки, как и любая другая переменная QGIS.

    ../../_images/report_expression_builder.png
  • Например, чтобы вставить имя алгоритма задания в элемент метки, вы можете использовать следующее выражение: [% @te_job_alg_name %].

    ../../_images/report_label_expression.png
  • Для объекта карты не добавляйте слои и не указывайте тему карты, так как слои и их порядок будут автоматически установлены в процессе создания отчета.

  • При использовании объекта легенды убедитесь, что выбран параметр Автообновление. Панель инструментов определяет, какие элементы легенды следует отображать/скрывать, в зависимости от контекста рендеринга.

    ../../_images/report_legend_auto_update.png
  • Для элементов карты, визуализирующих слои задания, или элементов меток, которые используют переменные выражений набора инструментов, убедитесь, что вы определили соответствующие идентификаторы элементов, чтобы их можно было пометить для обновления в процессе создания отчета. Предпочтительное соглашение об именах - для идентификатора элемента - это [item_type.context_name], например. label.layer_name, label.job_alg_name, map.main. Мы увидим, как эти идентификаторы элементов используются в разделе item_scope_mapping.

    ../../_images/report_item_id.png

Настройка параметров отчета

Следующим шагом является определение того, какие шаблоны будут использоваться для каких алгоритмов. Это делается с помощью файла конфигурации отчета -templates.json-, который создается в [каталог_базовых_данных]/reports/templates при первой загрузке панели инструментов.

templates.json — это список объектов конфигурации отчета, где каждый объект конфигурации соответствует одной или нескольким областям действия. Область действия в данном случае обозначает алгоритм. Конфигурация состоит из двух частей:

  • template_info — содержит информацию о шаблонах отчетов QGIS, связанных с одной или несколькими областями действия алгоритма.

  • output_options — параметры вывода для экспорта отчета.

См. образец ниже:

 {
   "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

Содержит информацию о шаблонах отчетов QGIS, связанных с одной или несколькими областями действия алгоритма.

Имя свойства

Описание

Требуется

id

Уникальный идентификатор UUID в строковом формате.

Да

name

Понятное имя конфигурации шаблона

Нет

description

Краткое описание конфигурации шаблона

Нет

simple_portrait_path

Имя файла шаблона для простого портретного макета

Да

simple_landscape_path

Имя файла шаблона для простого альбомного макета

Да

full_portrait_path

Имя файла шаблона для полного портретного макета

Да

full_landscape_path

Имя файла шаблона для полного альбомного макета

Да

item_scopes

Список объектов области действия элемента. Он должен содержать по крайней мере одно определение области действия.

См. подробнее в item_scope_mapping.

Да

Примечание

Пути, определенные выше, в основном представляют собой имена файлов, которые относятся к расположению файла конфигурации templates.json.

output_options

Параметры экспорта выходного отчета.

Имя свойства

Описание

Требуется

formats

Список объектов формата, определяющих выходной формат отчета. Вы можете создать отчет в нескольких типах файлов, таких как PDF и PNG.

Необходимо определить хотя бы один выходной формат.

См. output_format, где описываются опции конфигурации для объекта выходного формата.

Да

template_type

Тип шаблона отчета в строковом формате.

Поддерживаемые параметры включают: ПРОСТОЙ, ПОЛНЫЙ или ВСЕ.

Обратите внимание, что они должны быть в верхнем регистре, как указано выше.

Да

item_scope_mapping

Предоставляет механизм для группировки элементов макета на основе области действия (т. е. алгоритма).

Имя свойства

Описание

Требуется

name

Имя алгоритма, который будет соответствовать этой конфигурации, например. «производительность», «sdg-15-3-1-sub-indicators» и т. д. Относится к именам алгоритмов, определенным в «scripts.json» в папке данных панели инструментов.

Да

type_id_mapping

Словарь, содержащий перечисление типов элементов макета и соответствующий список идентификаторов элементов, определенных в шаблоне.

Поддерживаемые типы элементов макета включают: карта, метка, изображение.

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

См. порядок указания идентификаторов объектов в Добавление элементов макета.

Да

output_format

Информация о формате для вывода отчета.

Имя свойства

Описание

Требуется

format_type

Перечисление типа выходного файла.

Поддерживаемые параметры перечисления включают: PDF и IMAGE.

Обратите внимание, что они должны быть в верхнем регистре, как указано выше.

Да

params

В зависимости от указанного типа вывода это свойство содержит дополнительную информацию о формате.

Например, если в качестве выходного формата указано IMAGE (ИЗОБРАЖЕНИЕ), то это свойство можно использовать для указания типа IMAGE (ИЗОБРАЖЕНИЕ). Ничего не делает для типа PDF и по умолчанию использует PNG для типа IMAGE (ИЗОБРАЖЕНИЕ).

Нет

Сброс на шаблоны и конфигурации по умолчанию

Чтобы вернуться к шаблонам по умолчанию и файлу конфигурации отчета, которые поставляются с набором инструментов, выполните следующие действия:

  1. Закройте QGIS, затем создайте резервную копию папки templates в «[base_data_directory]/reports/templates».

  2. Затем удалите папку templates и перезапустите QGIS.