Разработка отчетов
Проще говоря, отчеты создаются путем заполнения шаблона отчета текстовыми и/или пространственными данными из одного или нескольких заданий. Важно отметить, что отчеты генерируются на уровне слоя/диапазона, поэтому количество отчетов из одного задания будет соответствовать количеству уровней по умолчанию для данного задания.
Разработка отчетов — это двухэтапный процесс, который включает в себя:
Разработку шаблонов с использованием фреймворка QGIS;
Указание параметров конфигурации в файле конфигурации отчета.
Предпосылки
Прежде чем приступать к разработке новых или настройке существующих отчетов, рекомендуется ознакомиться со следующими темами:
Переменные выражения макета
Отчет состоит из статического содержимого (например, логотипов, текста заявления об отказе от ответственности и т. д.), которое не меняется от одного отчета к другому. Он также может включать динамическое содержимое (например, карты или информацию об атрибутах), которое генерируется во время выполнения в процессе выполнения.
Набор инструментов 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 мм (в пейзажном режиме) или наоборот в портретном режиме, и содержит карту, легенду, стрелку севера, масштабную линейку, текст отказа от ответственности и логотип.
Примечание
Для каждого типа шаблона вам нужно будет предоставить как портретную, так и альбомную версии, так как панель инструментов выберет одну из них в зависимости от размеров визуализируемого слоя карты.
Разработка шаблонов отчетов
Вы можете создавать шаблоны одним из следующих способов:
Создание нового
Перейдите к Проект > Новый макет печати….
Укажите понятное имя для макета.
Изменение существующего
Перейдите в Проект > Диспетчер макетов….
Выберите Особый в раскрывающемся меню в разделе Новый из шаблона.
Нажмите кнопку обзора (с тремя точками), чтобы выбрать существующий шаблон qpt. Шаблоны по умолчанию можно найти в`[base_data_directory]/reports/templates`.
Нажмите кнопку Создать….
Укажите понятное имя для шаблона.
Добавление элементов макета
Вы можете добавлять элементы в шаблон способом, аналогичным описанному в `Руководстве по QGIS<https://docs.qgis.org/3.16/en/docs/user_manual/print_composer/composer_items/index.html>`_. Переменные выражения Trends.Earth доступны в диалоговом окне Построитель выражений и могут быть вставлены в элементы метки, как и любая другая переменная QGIS.
Например, чтобы вставить имя алгоритма задания в элемент метки, вы можете использовать следующее выражение:
[% @te_job_alg_name %]
.Для объекта карты не добавляйте слои и не указывайте тему карты, так как слои и их порядок будут автоматически установлены в процессе создания отчета.
При использовании объекта легенды убедитесь, что выбран параметр Автообновление. Панель инструментов определяет, какие элементы легенды следует отображать/скрывать, в зависимости от контекста рендеринга.
Для элементов карты, визуализирующих слои задания, или элементов меток, которые используют переменные выражений набора инструментов, убедитесь, что вы определили соответствующие идентификаторы элементов, чтобы их можно было пометить для обновления в процессе создания отчета. Предпочтительное соглашение об именах - для идентификатора элемента - это [item_type.context_name], например.
label.layer_name
,label.job_alg_name
,map.main
. Мы увидим, как эти идентификаторы элементов используются в разделе item_scope_mapping.
Настройка параметров отчета
Следующим шагом является определение того, какие шаблоны будут использоваться для каких алгоритмов. Это делается с помощью файла конфигурации отчета -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 (ИЗОБРАЖЕНИЕ). |
Нет |
Сброс на шаблоны и конфигурации по умолчанию
Чтобы вернуться к шаблонам по умолчанию и файлу конфигурации отчета, которые поставляются с набором инструментов, выполните следующие действия:
Закройте QGIS, затем создайте резервную копию папки templates в «[base_data_directory]/reports/templates».
Затем удалите папку templates и перезапустите QGIS.