设计报告¶
简言之,报告是通过使用来自一个或多个作业的文本和/或空间数据填充报告模板来创建的。需要注意的是,报告是在层/波段级别生成的,因此来自单个作业的报告数量将对应于给定作业的**默认**波段数。
设计报告包括两步过程,包括:
使用 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 |
作业的完成状态,例如 DOWNLOADED、GENERATED_LOCALLY 等。 |
字符串 |
te_job_name |
用户输入的作业名称。 |
字符串 |
te_job_comments |
用户提供的对工作的评论 |
字符串 |
层变量¶
这些以 te_current_layer_ 前缀为特点,仅在运行时可用。
变量名称 |
描述 |
数据类型 |
---|---|---|
te_current_layer_name |
当前执行上下文层的名称 |
字符串 |
报告设置变量¶
这些以 te_report_ 前缀为特点,在设计时和运行时可用。有关报告设置和相应变量名称的详细说明,请参阅 报告 部分。
模板类型¶
有两种主要的报告模板类型:
完整模板¶
这旨在包含——或允许包含——更多信息,例如作者姓名。默认模板设置在 A4 页面上,包括布局标题、地图、图例、比例尺、指北针、免责声明文本和徽标。
简单模板¶
这是模板的轻量化版本,默认设置为 83mm x 59mm 页面大小(横向模式),纵向模式反之亦然,包含地图、图例、指北针、比例尺、免责声明文本和徽标。
备注
对于每种模板类型,您都需要提供纵向和横向版本,因为工具箱将根据正在渲染的地图图层的尺寸选择其中之一。
设计报告模板¶
您可以通过以下方式创建模板:
创建新的¶
导航到**项目 > 新打印布局...**。
为布局指定一个便于使用的名称。
修改现有的¶
导航到 项目 > 布局管理器...。
在 从模板新建 部分的下拉菜单中选择 具体。
单击浏览按钮(带有三个点)以选择现有的 qpt 模板。默认模板可以在 [base_data_directory]/reports/templates 中找到。
单击**创建...** 按钮。
为模板指定一个便于使用的名称。
添加布局项¶
您可以按照 QGIS 手册 中定义的类似方式,将项目添加到模板中。Trends.Earth 表达式变量在 表达式生成器 对话框中可用,并且可以像任何其他 QGIS 变量一样插入标签项中。
例如,要在标签项中插入作业的算法名称,可以使用以下表达式:
[% @te_job_alg_name %]
。对于地图项,请勿添加任何图层或指定地图主题,因为图层和它们的顺序将在报告生成过程中自动设置。
使用图例项时,请确保选择 自动更新 选项。工具箱将根据渲染上下文确定显示/隐藏哪些图例项。
对于使用工具箱的表达式变量渲染作业图层或标签项的地图项,请确保定义其对应的项目 ID,以便在报告生成过程中对其进行标记以进行更新。项目 ID 的首选命名约定是 [item_type.context_name],例如
label.layer_name
,label.job_alg_name
,map.main
。我们将在 item_scope_mapping 部分看到这些项目 ID 如何被使用。
配置报告参数¶
下一步是定义哪些模板将用于哪些算法。这是通过报告配置文件 templates.json 完成的,此文件是第一次加载工具箱时,在 [base_data_directory]/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 标识符 |
是 |
名称 |
模板配置的简单名称 |
否 |
描述 |
模板配置的简要说明 |
否 |
simple_portrait_path |
简单纵向布局的模板文件的名称 |
是 |
simple_landscape_path |
简单横向布局的模板文件的名称 |
是 |
full_portrait_path |
完整纵向布局的模板文件的名称 |
是 |
full_landscape_path |
完整横向布局的模板文件的名称 |
是 |
item_scopes |
项目范围对象的列表。它应该至少包含一个范围定义。 欲了解更多信息,请参阅 item_scope_mapping。 |
是 |
备注
上方定义的路径基本上是相对于 templates.json 配置文件的位置的文件名。
output_options¶
用于导出输出报告的选项。
属性名称 |
描述 |
必需 |
---|---|---|
格式 |
指定报告输出格式的格式对象列表。您可以生成多种类型的报告,例如 PDF 和 PNG。 至少需要定义一种输出格式。 关于输出格式对象的配置选项,请参阅 output_format。 |
是 |
template_type |
字符串格式的报告模板类型。 支持的选项包括:简单、完整 或 全部。 请注意,这些应该是上方提供的大写字母。 |
是 |
item_scope_mapping¶
提供一种基于范围(即算法)对布局项进行分组的机制。
属性名称 |
描述 |
必需 |
---|---|---|
名称 |
将与此配置匹配的算法的名称,例如 productivity、sdg-15-3-1-sub-indicators`等。指的是工具箱数据文件夹的 `scripts.json 中定义的算法名称。 |
是 |
type_id_mapping |
包含布局项目类型的枚举,和模板中定义的相应项目 ID 列表的字典。 支持的布局项类型包括:地图、标签、图片 "type_id_mapping":{
"map":["map.main"],
"label":["label.layer_title"]
}
关于如何指定项目 ID 的信息,请参阅 添加布局项。 |
是 |
output_format¶
报告输出的格式信息。
属性名称 |
描述 |
必需 |
---|---|---|
format_type |
文件输出类型的枚举。 支持的枚举选项包括:PDF 和 IMAGE。 请注意,这些应该是上方提供的大写字母。 |
是 |
参数 |
根据指定的输出类型,此属性包含关于格式的附加信息。 例如,如果将 IMAGE 指定为输出格式,则此属性可用于指定 IMAGE 类型。对于 PDF 类型,不执行任何操作,对于 IMAGE 类型,默认为 PNG。 |
否 |
重置为默认模板和配置¶
要恢复到工具箱附带的默认模板和报告配置文件,请执行以下步骤:
关闭 QGIS,然后备份 [base_data_directory]/reports/templates 中的 templates 文件夹。
继续删除“模板”文件夹,然后重新启动 QGIS。