GDIM应用类型 (App Types)

上传到 GDIM 的 .pipe 会挂在不同的平台入口上运行。入口不同,平台期望 Pipeline 返回的东西、 允许出现的模块、需要的特殊属性也不同。写 Pipeline 之前先确定它属于哪一类,再按对应专题页的规则来写。

所有类型共用的构建步骤见 工作流构建 (Pipeline Build)。

五种应用类型

类型

平台入口 / 用户看到什么

返回给前端(return_results_config)

必需或典型模块

特殊规则

自定义应用

数字模型里的自定义应用;用户填写属性后运行,查看图表、表格、文件或结果

按需求选择,常见 OutputPlotData、表格、OutputFile、结果模型

任意

无额外约束;可在运行时直接写库

自定义数据更新配置

「自定义数据更新配置」(也称「表格数据更新」);平台先预览,用户确认后由前端写入

预览表,通常 {"MergeGdimTables": "OutputTables"}

目标表 GdimTableReader(keep_gdim_id=True)、MergeGdimTables

保存的 .pipe 里 不能有 GdimTableWriter;子表用 auto_bind="pk_field"

地图兴趣点弹窗

地图应用中点击兴趣点(POI)后弹出的窗口

弹窗内容,通常一个 OutputPlotData 或一张小表

读表模块 + 绘图 / 表格模块

用 auto_bind="poi_field" + bind_field 接收被点击点的字段

数据对接

数据导出 / 导入;用户下载文件,或上传文件写入项目

导出:文件端口(如 {"ExportTables": "OutputFile"});导入:通常 False

导出:ExportGdimTables / ExcelPrinter 等;导入:ReadGtbFile / ExcelReader 等 + GdimTableWriter

导出模块 save_to_gdim=True;导入文件通过 file 属性由前端上传

自动报告

「自动报告」应用;按章节模板生成 Word 报告

{"PrintDoc": "OutputFile"}``(``DocPrinter 的输出文件)

DocDataWriter、MergeDocData、DocPrinter

DocPrinter.save_to_gdim=True;模板通过 template 属性提供

专题页:

如何判断类型

按顺序问下面几个问题,第一个回答「是」的就是该类型:

  1. Pipeline 是在地图上点击某个点后,在弹窗里显示该点的内容吗?→ 地图兴趣点弹窗

  2. 是否要先让用户预览一张合并后的表,确认后再由 GDIM 前端写入?→ 自定义数据更新配置

  3. 输出是按 Word 模板生成的报告或报告章节吗?→ 自动报告

  4. 主要目的是把项目数据导出为文件(.gtb / .xlsx / 第三方软件格式),或把外部文件导入项目吗?→ 数据对接

  5. 以上都不是 → 自定义应用

容易混淆的情况:

  • 运行即写库 的数据处理(例如清洗后直接写回某张表)不是「自定义数据更新配置」,而是 自定义应用,GdimTableWriter 保持默认 auto_run=True。

  • 导出为 Excel 模板文件**(如 GEO5 格式)属于 **数据对接;即使用了 DocDataWriter + ExcelPrinter,它的目的也是对接数据而不是写报告。

  • 报告里需要图表 仍是 自动报告:图表以图片文件形式经 DocDataWriter 写入 DocData。

  • 弹窗里显示一张图表 是 地图兴趣点弹窗;同样的图表如果在普通应用里由用户手动选点,则是 自定义应用。

用户描述里判断不出类型时,直接问:「这个 Pipeline 要上传成 GDIM 的哪类应用:自定义应用、自定义数据更新配置、地图兴趣点弹窗、数据对接,还是自动报告?」

从脚本识别类型

检查已有脚本时,可根据下列特征判断它面向哪类应用,再按该类型的规则审查:

类型

脚本特征

地图兴趣点弹窗

add_attribute(..., auto_bind="poi_field")

自定义数据更新配置

return_results_config 指向 MergeGdimTables.OutputTables;或出现 auto_bind="pk_field";save_pipeline() 之前没有 GdimTableWriter

自动报告

出现 DocPrinter,且 return_results_config 指向它的 OutputFile

数据对接

出现 ExportGdimTables / ReadGtbFile;或文件读取模块暴露 file 属性并接 GdimTableWriter;或 ExcelPrinter 输出交换格式文件

自定义应用

不符合以上任何一项

特征互相冲突时(例如同时有 poi_field 和 DocPrinter),不要自行判断,向用户确认。

与其它文档的关系