基于AutoCAD二次开发的地层信息自动提取方法研究*

2022-04-24 01:04孟若琳
地矿测绘 2022年1期
关键词:剖面图工程地质标高

刘 宁,孟若琳

(1. 山东川和信息科技有限公司,山东 济南 250101;2.山东省水利勘测设计院有限公司,山东 济南 250013)

0 引言

在工程建设、土地整治、露天矿开采等众多领域均涉及土石方的计算[1],其对工程投资会产生直接影响。现行的基本做法主要是基于点云数据及钻孔数据建立三维地质模型[2],并基于三维地质模型进行空间计算,得出土石方的数据[3]。三维地质模型[4]数据源之一的钻孔数据,主要是由地质勘察方提供的CAD格式,而地层信息的提取是建立地质模型的基础工作,而地质勘察钻孔信息点多、面广、量大,给地质信息整理工作带来较大困难[5]。传统的地层信息提取方法是人工对照CAD图纸,对各个标注的地层信息逐一录入,每一个地层点的信息类别在5个以上字段,一个项目需提取上千个地层点,而有些地层点还需进行相应的计算,如高程坐标的差值计算和平面坐标的几何计算,工作量十分庞大,且手算极易出错。地层信息提取准确与否、提取周期长短成为制约建模精度和建模周期的一个重要因素,如何将这些地层信息准确、快速地提取出来也成为地质建模工作亟待解决的问题[6]。

为解决上述问题,本文提出一种基于AutoCAD平台[7]的地层信息自动提取方法,通过对钻孔数据结构的全面分析,在AutoCAD平台上进行二次开发,实现对多种格式钻孔数据的完整提取,并与数据库对接。该方法不仅可以提高工作效率,还对提取数据的准确性提供有力保障,为在地层信息整理阶段进行数据提取提供一种科学、便利、有效的途径。

1 研发思路

1.1 AutoCAD二次开发环境

AutoCAD不仅是一个主流的绘图工具,还是一个具有高度开放式工作结构的开发平台,可通过其自身编程模块与相关接口实现自定义功能。AutoCAD平台的二次开发环境主要有4种:Visual LISP、VBA、ObjectARX和.NET。AutoCAD平台自身带有的VBA宏语言是微软开发出来在相应桌面应用程序中执行通用的自动化(OLE)任务的编程语言,具有功能强大、适应性强、开发速度快等特点。因此,本文选用VBA为开发环境[8]。

1.2 实现流程

基于AutoCAD平台的二次开发流程如图1所示。

图1 基于AutoCAD平台的二次开发流程示意图

本文以实现地质地层信息的自动化搜索与提取为目标,进行地层信息自动提取方法研究,其思路为:

首先,构建一个相对统一的信息循环搜索模型。该模型一方面描述了地质勘察数据中各个信息要素的相互位置关系;另一方面为范围信息搜索模型的建立提供必要的介质条件。

其次,建立独立的范围信息搜索模型。范围信息搜索模型是实现地层信息自动化搜索与提取最直接的对象平台。建立该模型需要针对既定的地质勘察报告图纸,根据特定信息的提取要求建立相应边界条件。

最后,将搜索结果纳入数据库,即完成地层信息的提取。

2 模型的建立

2.1 数学逻辑模型

建立地层信息自动提取数学逻辑模型,目标函数为opt(Pm,Am,X(p1,p2,…,pn)),其中:

(1)

式中:Pm表示工作周期,其中,T表示工作工具;Am表示数据提取精度,其中,B表示模型中的边界条件;X表示为提取数据所建立的模型,其中,X0表示全局搜索模型,Xr表示范围搜索模型。

约束条件如下式所示:

(2)

式中:I表示地层信息自动提取模型内部环境约束,即搜索边界条件,主要包括:各地层信息要素的相对位置M、高程坐标和平面坐标的计算参数R和用于区别不同图纸的特定单元搜索图元H;O表示地层信息自动提取模型外部环境约束,主要包括:单元模型搜索范围约束U、搜索对象数量约束Q和其他约束E。

2.2 模型间作用机制

信息循环搜索模型主要承担寻找单元搜索模型和判断搜索节点的工作,它为范围信息搜索工作提供一次性的搜索框架;范围信息搜索模型主要承担目标信息图元的搜寻、识别和信息数据的提取工作,该模型具有高度的差异性,即每一类信息图元的搜寻与识别方法都是独立并固定的。

地层信息搜索与提取的关键步骤之一就是上述两个模型之间的作用方式,通过信息循环搜索模型和范围信息搜索模型的不断相互协调与反馈,使模型目标逐步收敛。信息循环搜索模型和范围信息搜索模型之间的作用机制如图2所示。

图2 模型间作用机制示意图

3 研究方法

地质勘察方提供的地质勘察报告分为两种类型:钻孔柱状图和工程地质剖面图,如表1和图3所示。根据建立的信息自动提取模型,分别对上述两种类型的地层信息提取方法进行研究。

表1 钻孔柱状图示意图

图3 工程地质剖面图示意

3.1 钻孔柱状图地层信息提取方法

钻孔柱状图的格式相对统一,版式规整,因此采用统一的相对位置搜索与提取方法对地层信息进行全局提取,具体方法如图4所示。

图4 钻孔柱状图地层信息提取方法示意图

第一步:建立搜索边界条件

1)定义搜索的基点字段;

2)定义孔号、孔口标高、X坐标、Y坐标的值对基点字段的相对位置;

3)建立数组,定义层号、层底标高、层底深度、分层厚度的值的搜索范围;

4)定义一个钻孔柱状图的绝对大小。

第二步:进行全局搜索

1)搜索基点字段;

2)按照边界条件中定义的相对位置依次提取定义孔号、孔口标高、X坐标、Y坐标、层号、层底标高、层底深度、分层厚度的值,进入数组;

3)判断是否为最后一个表,若否,返回1)步骤循环;若是,退出循环。

第三步:搜索结果导出

与Excel关联,将搜索的结果数组全部导出至Excel表中。

3.2 工程地质剖面图地层信息提取方法

3.2.1 孔上地层信息提取方法

经分析,工程地质剖面图格式较统一,但版式不太规整,采用非统一的相对位置提取方法对地层信息进行全局提取,具体方法如图5所示。

图5 工程地质剖面图孔上地层信息提取方法示意图

第一步:建立搜索边界条件

1)定义搜索的基点字段;

2)定义孔口位置、孔号、孔口标高的值对基点字段的相对位置;

3)建立数组,定义钻孔上地质分层点的搜索范围;

4)建立数组,定义层底标高相对地质分层点的搜索范围;

5)定义一个工程地质剖面图的绝对大小。

第二步:进行全局搜索

1)搜索基点字段;

2)按照边界条件中定义的相对位置依次提取定义孔号、孔口标高、层底标高,进入数组;

3)判断是否为最后一个表,若否,返回1)步骤;若是,退出循环。

第三步:搜索结果导出

与Excel关联,将搜索的结果数组全部导出至Excel表中,其中层底深度、分层厚度的值由孔口标高和层底标高计算得来。

3.2.2 孔间地层信息提取方法

为适应精细化建模的要求,建立地质模型不仅需要钻孔上的地层信息,也需要钻孔之间的地层信息。而钻孔之间的地层信息无法直接提取,需要先判断是否是需要提取的地层分界点,若是,则进行两种坐标计算,一是高程坐标的差值计算,二是平面坐标的几何计算。

工程地质剖面图孔间地层信息坐标计算方法示意图如图6所示。

图6 工程地质剖面图孔间地层信息坐标计算方法示意图

3.2.3 自动纠错方法

地质勘查报告中通常会有绘图错误,主要为钻孔之间的两个或多个地层分界线未相交,而未相交的点无法从后台程序提出。为解决该问题,在范围信息搜索模型中以8个边界条件建立容差,来找出并纠正绘图错误。具体步骤如下:

1)根据线条角度判断是钻孔桩线还是地质层线;

2)根据地质层线的顶点判断地质层线是否与钻孔桩线相交;

3)若相交提取交点,若不相交则延长地质层线至钻孔桩线,提取交点;

4)判断地质层线是否为正确绘图线;

5)提取地质层正确绘图线;

6)判断地质层线端点两侧是否有对应的地质层信息;

7)拾取有对应地质层信息的地质层线;

8)重复以上步骤进行二次过滤。

3.3 地层信息自动提取流程

地层信息自动提取流程如图7所示。

图7 地层信息自动提取流程

4 模块功能

地层信息自动提取模块有如下功能:

1)自动提取钻孔柱状图地层信息,包括孔号、孔口标高、X坐标、Y坐标、层号、层底标高、层底深度、分层厚度等信息。

2)自动提取工程地质剖面图中各钻孔上的地层信息,包括孔号、孔口标高、层底标高、层底深度、分层厚度等信息。

3)自动提取工程地质剖面图中各钻孔之间的地层信息,包括分层点位置(即两钻孔的孔号)、层底标高、层底深度、分层厚度等信息。

4)对工程地质剖面图中的绘图错误进行自动纠错。

5 模块应用

将本模块的研发成果应用于某工程中,得到地层信息提取成果如表2、表3所示。与传统人工判读结果进行对比,结果表明利用本文所述方法提取的地层信息更完整、准确。

表2 地层信息提取成果(孔上)

表3 地层信息提取成果(孔间)

6 结束语

本文提出了一种基于AutoCAD二次开发的地层信息自动提取方法,该方法克服了传统提取方法精度低、周期长的不足,并为科学建立地质模型提供了有效的技术支持。基于该方法,进行了地层信息自动提取模块的研发。该模块在实际项目中的应用已取得了良好的应用效果,验证了上述方法的优越性。

猜你喜欢
剖面图工程地质标高
多级节能工厂化养殖池塘建设的标高设计初探
车间工艺钢构中标高调节方式的选择
继往开来 守正创新——河北省水文工程地质勘查院
继往开来 守正创新——河北省水文工程地质勘查院
Revit中自动生成标高线的开发技术
广东省风门坳锡矿地球化学特征与找矿标志
喷气式民航客机剖面图?
工程地质勘察中的水文地质危害与相关方法
水文地质在工程地质勘察中的有效应用
高层建筑的标高控制技术