GdiSDK 0.3.4发布:新增数理统计、承载力、液化、湿陷等勘察计算模块

发布时间:2026-09-30

GdiSDK 0.3.3 把钻孔、地层、地形和剖面收进了同一条出图链路。数据可以读进来,剖面可以算出来,.gsc 可以交给 KCAD 出图。

勘察工作的后半段,往往还留在表格和手册里。按地层做数理统计,再查规范算地基承载力、桩侧阻和桩端阻、土钉粘结强度,以及液化、湿陷、是不是新近堆积黄土。钻孔和试验数据已经在 GDIM 里,计算仍要另起一张表,对一遍列名。

今天,GdiSDK 0.3.4 正式发布。这个版本把这些勘察计算收成可以组合的模块:读取钻孔、地层和试验表,按层统计,再完成承载力、桩基、土钉和特殊性岩土评价。结果可以写回 GDIM,也可以进入报告。

出图也继续往前进了一步。数字模型使用 GDIM 保留表和保留字段时,钻孔平面图、柱状图和地质剖面可以直接取这些表。工民建、公路、电力勘察可以是不同的数字模型,表格模板可以不一样;只要用了同一套保留表,出图和这次新增的计算就能共用。

GDIM 同时增加了开发模式。Pipeline 的界面和返回给前端的数据类型可以按应用需要定义,配套的 gdisdk-skills 也按五种应用类型重新整理。

GdiSDK 是什么

GdiSDK(Geo Data Intelligence Software Development Kit)是面向 GDIM 平台二次开发,以及岩土工程、土壤与地下水、资源与矿产等领域数据处理和智能分析的 Python 开发包。

它把数据结构、处理模块和 Pipeline 工作流组织在一起。工程师可以把读取、清洗、计算、出图和报告连成一条可复用的流程,发布到 GDIM 后,由团队在 Web 端使用。

在 GDIM 里,数字模型是一类业务的模板。它规定这一类业务有哪些对象、表怎么建、字段叫什么、能挂哪些应用。创建项目时选定一个数字模型,项目就按这套骨架管理数据、运行应用。

01 勘察数理统计与规范计算

勘察报告里反复出现的计算,0.3.4 收成了可组合的模块。它们读取已经整理好的表格或材料表,输出仍是表或结果,可以写回 GDIM、送进报告,或交给下游模块。

统计先按层汇总。 MathematicalStatistics 从勘察表集合中读取统计指标表,优先按地层编号分组,否则按岩土名称分组,计算个数、极值、平均值、标准值、变异系数等常用统计量。指标行缺少层位时,可结合钻孔编号和试验深度,到地层表中反查。模块输出原始明细、统计结果,以及按地层合并的 Excel。用户在 GDIM 上剔除异常数据后,可以把修订结果传回,重新统计。

GDIM 勘察数理统计,按地层汇总试验指标

岩土名称先变成计算用的标准名。 ConvertToMaterialTable 新增 map_to_material_name_for_cal 等参数,可将岩土名称转为岩土参数计算使用的标准名称。无法映射时,可以选择置空、保留原名,或填入默认名称。承载力、桩基、土钉、液化这些模块都依赖这套分类。

在此之上,可以按规范逐项计算:

  1. BearingCapacityBySPT:依据 JGJ 340-2015《建筑地基检测技术规范》,用标贯修正击数计算地基承载力特征值 fak。
  2. BearingCapacityByStrength:依据 GB 50007-2011《建筑地基基础设计规范》,用地基土抗剪强度指标计算地基承载力 fa。
  3. SkinCapacityByTest:依据 JGJ 94-2008《建筑桩基技术规范》,用液性指数、含水率、液限、孔隙比、标贯、动探和抗压强度等试验指标,计算混凝土预制桩、泥浆护壁桩和干作业钻孔桩的桩侧阻力。
  4. BaseCapacityByTest:依据同一本桩基规范,用液性指数、孔隙比、标贯、动探和抗压强度,按层深区间计算桩端阻力。
  5. NailCohesionByTest:依据 GB 50739-2011《复合土钉墙基坑支护技术规范》,用液性指数和标贯击数计算成孔注浆土钉与打入钢管土钉的极限粘结强度。
  6. Liquefaction:按 GB 50011 相关条文完成液化初判和详判,汇总各孔液化指数与液化等级。可与地震参数查询配合,设防烈度和地震分组也可以在界面上指定。
  7. Collapsibility:根据钻孔、地层、常规土工试验和湿陷试验,计算自重湿陷量与湿陷量,并给出湿陷类型、湿陷等级和分样明细。
  8. RecentlyDepositedLoess:读取按层汇总的数理统计表,计算判别指标并判定是否为新近堆积黄土。

一条常见接法:

GDIM 读表 → 数理统计 → 转为材料表并映射标准岩土名 → 承载力或桩基参数 → 写回或进入报告

液化、湿陷则直接读取勘探、地层和试验表。计算步骤留在 Pipeline 里。项目换了,只要数字模型仍使用这些保留表,更换的是数据,字段对应和公式保持不变。

GDIM 液化计算

02 出图直接使用保留表

项目所在的数字模型已经使用保留表时,勘察出图可以这样连接:

GDIM 保留表(钻孔、地层、试验、剖面)

        ↓

平面图 / 柱状图 / 二维与三维地质剖面

        ↓

.gsc 文件 → KCAD 出图

KCAD 出图文件 .gsc 的数据结构已与 GDIM 保留表、保留字段名对齐。BorePlanDrawWriter、BoreLogDrawWriter、ExportGeoSectionsByBores 和 AddBoreLogForGeoSections 在输入使用保留表和保留字段时,可以省略 name_maps。模块会检查必须字段,并对数据质量问题给出警告,缺列和异常值在运行时就会暴露。

剖面线可以从平台里直接取。GdimCrossSectionReader 读取 GDIM「地质剖面图」应用中的剖面信息表。BorePlanDrawWriter 新增入端口 InputSectionLines,生成钻孔平面图时可以把这些剖面线一起画上。

KCAD 钻孔平面图,图中带剖面线

术语和钻孔类型也向保留字段靠拢。terminologies 中的部分术语已与 GDIM 保留字段对齐。MapBoreTypeToKCAD 遇到无法映射成 KCAD 标准钻孔类型的值时,保留原始值并给出数据质量警告。

03 不同的数字模型,可以共用同一套计算和出图

数字模型规定的是一套表格结构和应用。工民建勘察、公路勘察、电力勘察可以各自是一个数字模型:对象都围绕钻孔和地层,表怎么排、字段标题怎么写,可以按专业或企业习惯不同。

同一类对象,在不同数字模型、不同表格模板里,表名和字段名可能不同。出图和计算如果认的是某一套模板里的列名,换一个数字模型就要重新做字段映射。

GDIM 把钻孔、地层、试验这些行业里共性的对象做成保留表和保留字段,由平台维护。保留表说明「这张表是什么」,例如钻孔一览表、地层表;保留字段说明「这个字段是什么」,例如孔口高程、标贯击数。界面上的显示标题可以按习惯书写,系统识别用的名称保持统一。

一个数字模型只要使用了这些保留表,地质剖面、钻孔柱状图、数理统计和这次新增的评价计算就可以挂上去。表格布局可以不同,应用认的是同一套表和字段。

这也是后面把语义继续收拢、让智能体在生产环境中稳定运行的基础。单位、主子表关系、必须字段、岩土名称的计算分类,都挂在这些已知的表和字段上。智能体调用出图和计算时,按保留表和保留字段找数据,不必为每个数字模型重新判断某一列是不是孔号、是不是标贯击数。名字先统一,后续的语义才有地方附着。

04 GDIM 开发模式:在页面上看到表名和运行过程

二次开发时,界面上是「钻孔一览表」「钻孔编号」,程序里要用 bore_table、bore_number。同一套 Pipeline 要挂到不同数字模型上时,内部名比显示标题更稳。过去要查这些名字,得专门跑一遍读模板的流程。

GDIM 新增开发模式。在当前页面网址末尾加上 ?dev 后回车即可开启。它只影响当前浏览器里的调试辅助,不会改写项目数据。

  1. 看名字。 数据表标签旁会出现图标,点开即可看到「表标题(表名)」以及字段标题与字段名称的对照,并可将完整表结构复制出去。

开发模式下查看表名和字段名

  1. 看运行。 在 Pipeline 应用页面以开发模式点击运行后,平台会按与本地 verbose=True、run_trace_file 相同的方式生成工作流节点状态图。到服务端日志目录打开 run_trace.html,即可查看模块是否执行、执行顺序和耗时。后一次调试运行会覆盖前一次,需要留存时请及时另存。

开发模式下查看 Pipeline 在线运行的工作流节点状态图

需要在代码里遍历整份数字模型时,使用新增的 GdimTemplateReader。它按数字模型或项目读取表结构、字段定义、主子表关系,也可一并读取应用结构,不含表内业务数据。只查一张表的名字时,用开发模式即可;要批量生成读表配置或动态界面时,用这个模块。

05 界面和返回结果按前端需要定义

Pipeline 要变成业务人员能用的应用,参数控件和返回类型都要说清楚。

PipeLine.add_attribute 新增 ui_schema_function_name。某个属性需要一整套自定义界面时,可以用本地函数直接返回完整的 UI schema,选项和默认值也可以按上游数据在运行时生成。

PythonCoder 动态增加出端口时,可以指定端口类型。经 return_results_config 回传 GDIM 前端的图表、表格或文件,会带上明确的数据类型,前端按类型渲染。

GdimAppDataReader 读取其他应用存下来的结果时也更灵活:

  1. column_title、column_value:读取保存了多列计算结果的 Pipeline 应用;
  2. app_name:按应用内部名定位,不依赖标题;
  3. column_value_filters:生成某一列的下拉选项时,按其他列的值过滤。

GdimTableWriter 新增 delete_tombstone_rows,可控制是否删除墓碑行,并理顺了删除与部分更新的分支。

SeismicDesignParameters 在缺少地震动查询参数接口密钥时,会明确提示检查密钥。坐标或坐标系有误时,则单独给出数据质量警告。

06 gdisdk-skills 按应用类型拆开

上传到 GDIM 的 Pipeline 有五种入口。自定义应用、自定义数据更新、地图兴趣点弹窗、数据对接和自动报告,对返回结果、可用模块和特殊属性的要求各不相同。以前用同一套创建技能覆盖这些差异,生成结果容易串类型。

0.3.4 将创建技能按应用类型拆成五个,替代原有的 pipeline-creator 和 pipeline-gdim-data-update:

技能

对应应用

gdim-app-custom

自定义应用:填写属性后运行,查看图表、表格、文件或结果

gdim-app-data-update

自定义数据更新配置:先预览合并后的表,确认后由前端写入

gdim-app-map-poi

地图兴趣点弹窗:点击钻孔、监测点等对象后弹出曲线或小表

gdim-app-data-exchange

数据对接:导出可下载文件,或把上传的文件导入项目

gdim-app-report

自动报告:按 Word 模板生成报告或章节

local-function-coder、pipeline-organizer 和 pipeline-gdim-review 同步做了整理。上传检查会按应用类型套用对应规则。

文档新增「Pipeline 构建通用步骤」「GDIM 应用类型」「GDIM 地图兴趣点弹窗」「GDIM 数据对接」「GDIM 自动报告」,并同步生成了智能体知识库文件。描述需求时先说明要做哪一类应用,生成脚本时就会按该类的入口、返回端口和约束来写。

07 升级时需要知道的变化

SeismicDesignParameters 和 ConvexHullCenter 原有的 SingleResult 端口改为 ResultModel。已有 Pipeline 若按旧端口类型取数或连线,升级后需要改到 ResultModel。

已经在使用 gdisdk-skills 的项目,请同步更新技能包,并改用按应用类型拆分的创建技能。

这次更新,适合谁

  1. 勘察与岩土工程师: 把数理统计、承载力、桩基参数、土钉粘结强度、液化、湿陷和新近堆积黄土判别放进同一条 Pipeline,结果写回或进入报告。
  2. 地质勘察团队: 数字模型使用保留表和保留字段后,直接生成钻孔平面图、柱状图和地质剖面。
  3. GDIM 应用开发者: 用开发模式核对表名和线上运行轨迹,用自定义 UI schema 和明确的端口类型对接前端。
  4. 用 AI 编写 Pipeline 的工程师: 按五种应用类型选用对应技能,让生成结果符合该类应用的上传和运行要求。

计算进了工作流,换一套表格模板也能接着用

GdiSDK 0.3.4 最直接的变化,是勘察报告里那些统计和规范计算可以留在 Pipeline 里:读钻孔、地层和试验,按层汇总,再算承载力、桩基、土钉、液化、湿陷和新近堆积黄土。

这些计算和出图能够挂到不同的数字模型上,是因为保留表和保留字段把表和字段的名字先统一了。工民建、公路、电力勘察的表格模板可以不同;用了同一套保留表,应用认的就是同一套语义。单位、关系和计算分类还可以继续往这些名字上收。智能体在生产环境中调用这些应用时,也按这套表和字段找数据,换一个数字模型仍然沿用。

现在开始使用

  1. 开发文档:https://gdisdk.kulunsoft.com/
  2. 更新日志:https://gdisdk.kulunsoft.com/changelog.html
  3. Gitee 仓库:https://gitee.com/jimmy_kl/gdisdk
  4. GdiSDK Skills 仓库:https://gitee.com/jimmy_kl/gdisdk-skills
  5. GdiSDK 案例仓库:https://gitee.com/jimmy_kl/gdisdk-examples
  6. 问题反馈:https://gitee.com/jimmy_kl/gdisdk/issues

如果你已经在使用 GdiSDK,欢迎升级到 0.3.4,并同步更新 gdisdk-skills。也欢迎把真实项目中的问题和建议告诉我们。