APP下载

基于VBA矢量图形识别技术的多源地质信息数据化转换方法

2020-04-23周振建高会中褚长海张合沛任颖莹

隧道建设(中英文) 2020年3期
关键词:矢量图纵断面线段

周振建, 陈 馈, 高会中, 褚长海, 张合沛, 任颖莹

(1. 盾构及掘进技术国家重点实验室, 河南 郑州 450001; 2. 中铁隧道局集团有限公司, 广东 广州 511458)

0 引言

全断面隧道掘进机在高铁、地铁、水利工程等建设领域中应用广泛。目前,我国的全断面隧道掘进机施工还处于人工经验控制阶段,掘进操作依赖于主司机的个人经验。为提高施工安全及质量,避免人为失误,借助神经网络、随机森林、K-means等机器学习算法来实现全断面隧道掘进机智能化施工已成为新的趋势。机器学习算法需要足够数量的机器数据和环境数据,机器数据可通过全断面隧道掘进机的传感器采集,实现自动传输、自动收集储存; 而环境数据(主要为地质数据)尚需人工处理,不仅效率低,而且数据密度低、错误率高、数据不全面。如何取得满足要求的地质数据,是全断面隧道掘进机智能化施工技术研究所面临的一个问题。

地质数据种类繁多、形式多样,具有多元(源)、异构、时空性、相关性、随机性、模糊性和非线性等特征,地质数据形式又包括文档、图片、表格等[1],都是离散数据,在精度、分辨率、数量、质量等方面存在较大差异[2],需要采用适合且有效的方法来处理,以此来获得具有较高使用价值的地质数据[3]。国内外学者结合各自领域,对地质数据的处理分析进行了大量的研究。吴志春等[4]运用等高线数据构建数字模型,通过约束及离散光滑插值技术实现了地表地质数据和地下地质数据的融合;唐丙寅等[5]提出了一种基于钻孔的点—线—面—体快速递进三维地质建模方法,再利用BSP矢量剪切技术,形成三维地质模型; 陈宇龙等[6]利用地质信息数据库系统,开发了钻孔柱状图的自动成图系统; 陈蜀等[7]在Excel 中运用VBA进行编程,实现海量地质数据的提取与处理,提高了数据处理的效率与质量; 王大志等[8]基于AutoCAD的二次开发技术,以测量数据和地质钻孔数据为基础,建立工程地质三维模型,不仅能真实反映地质环境,还能提高设计工作效率。但目前地质数据处理分析技术大多以地质研究及工程设计为目的,对于工程施工技术研究所需地质数据的处理分析技术较少。本文提出一种将多源地质信息进行数据化转换的方法,采用VBA(visual basic for applications)编程操作AutoCAD、Microsoft Excel以及SQLite数据库[9],实现地质信息的高效准确数据化转换,解决现有地质勘察报告中图、表、文字描述等地质信息无法直接被机器学习算法辨识的问题。使用该方法转换后的数据化地质信息,不仅可应用于全断面隧道掘进机行业的技术研究和工程施工,也可应用于桩基工程、资源勘察、矿藏开采工程中的技术研究,如钻头磨损率、开挖效率、开采效率、能效比等,还可应用于地下工程沉降机制等研究,同时也可为地下工程实现智能化、无人化施工提供基础数据。

1 多源地质信息的数据化转换方法

多源地质信息的数据化转换方法主要分为5个步骤: 1)地质纵断面矢量图形处理,保留地层分界线,去除多余图元,封闭地层区域; 2)地层区域填充,将各地层区域按指定颜色的填充图案填充; 3)绘制参考线,以全断面隧道掘进机的实际工况,绘制地层识别的定位参考线; 4)地层识别,以参考线为定位基础,采用VBA矢量图形识别技术辨识地质纵断面图中隧道穿越的各地层; 5)多源地质信息融合,将多源地质信息与对应地层进行融合,实现多源地质信息的数据化转换。

2 地层纵断面矢量图形处理

2.1 图元清理

对岩土勘察报告中的CAD地质纵断面矢量图进行处理是地质信息数据化转换的基础。地质纵断面图包括地质柱状图及其中各地层的填充图案、地层推测分界线、地质填充图案图例、地层代号字符、隧道轮廓线等,除地层分界线和地层编号之外的其他图元需要清除或隐藏。

2.2 封闭地层区域

地质纵断面矢量图如图1所示,图中的大部分区域为空白,计算机程序无法直接从这些空白区域获取相关的地质信息,需要对这些区域赋予信息。为不同地层的封闭区域填充不同颜色的Solid图案,是一种简单而有效的方法。

确保填充区域完全封闭是进行Solide图案填充的必要条件。多数情况下,地质纵断面图中地层区域并没有完全封闭,线段间存在一定的间隙,如图2所示。对于此类情况,以线段X坐标较大的端点(如图3中线段A1A2中的端点A1)为基点,在给定的范围内(如图3中的黑色虚线框)选择其周围邻近的线段,并根据实际给定一个阀值(该阀值应比实际测量的线段间隙稍大),当某线段一端点与基点的距离小于阀值且不为0时(如图3中,点A1分别与点A3、A5、A7),将该端点移动至基点,使端点相近的线段首尾相接(如图3中的虚线),同时对移动过的端点进行标记,不再参与后续的计算,以此减少计算量,提高效率。

图1 地质纵断面矢量图(单位: m)

Fig. 1 Vector map of geological longitudinal section (unit: m)

图2 地层分界线节点放大图(单位: m)

图3 地层分界线节点连接示意图

另一种情况是基点与相邻线段邻近(即基点到相邻线段的最小距离小于阀值且不为0),但与线段的两端点都相距较远(如图4基点N与线段QP),此类情况需要将线段延长至相邻线段上。

将基点移至两邻近线段所在直线的交点以连接地层分界线。对于交点的计算,由于已知两线段的两端点坐标,通常情况下联立两线段的两点式方程进行求解得到两线段所在直线的交点,但是当两线段的斜率相近时,由于求解过程中的除数过小,而使计算结果会有较大的偏差。采用直线的参数方程进行求解可避免此问题,以图4中线段PQ和NM为例,过程如下。

图4 基点与线段临近示意图

线段PQ、NM所在直线相交,则有参数方程[10-11]:

λ×(Q-P)+μ×(N-M)=N-P。

(1)

式中:λ为线段PQ所在直线参数方程的参数;μ为线段NM所在直线参数方程的参数。

式(1)的增广矩阵[11]可写为

(2)

式中:A11=Qx-Px;A12=Nx-Mx;A13=Nx-Px;A21=Qy-Py;A22=Ny-My;A23=Ny-Py。

当A11A21,则有

(3)

(4)

(5)

将μ代入线段NM所在直线的参数方程,可求得交点J的坐标。

通过程序遍历各基点进行对应的计算操作,可将地质纵断面图的所有地层区域完全封闭。

3 地质图案填充

为每个封闭的地层区域分配相应的地层编号及颜色,作为地层识别的标签,并建立一个地层编号与颜色的映射数据仓库,是对地层区域进行Solid图案填充的基础。

本文采用VBA中的SendCommand方法,向AutoCAD发送命令来进行图案填充,其代码为: ThisDrawing.SendCommand "-H" & vbCr & "P" & vbCr & "Solid" & vbCr & Points & vbCr & "co" & vbCr & "t" & vbCr & RGBData & vbCr & "a" & vbCr & "s" & vbCr & "o" & vbCr & vbCr & vbCr。以地层编号图块的插入点作为图案填充的内部拾取点,即命令中的Points。填充完成后的效果如图5所示。

图5 图案填充效果

4 参考线绘制

为了给地质信息转换提供位置基准,在地质纵断面图中沿隧道中心线每间隔1 m(间隔可依据衬砌管片环宽等实际需要调整)绘制地质转换参考线。参考线应与隧道中心线垂直,因地质纵断面图的纵坐标比例被放大,在隧道变坡点位置可能会出现参考线相互交叉的情况,如图6所示参考线1与参考线2相交于上部。

参考线出现相互交叉的问题是在绘制隧道中心线的变坡点时未添加竖曲线造成的,可根据地质纵断面图中的竖曲线要素(见图7)结合文献[12-14] 提供的方法自行计算竖曲线的标高。

图6 参考线相互交叉

图7 竖曲线要素

根据计算得到的线数据绘制竖曲线。将带竖曲线的轨面标高线偏移至隧道中心,使用AutoCAD的ArrayPath命令以定数等分的方式阵列参考线即可,如图8所示。

图8 正确参考线

5 地质信息识别

5.1 参考线排序

选择全部参考线进行批量识别整条隧道的地质信息,被选择的参考线在选择集中的排序是混乱的,需根据全断面隧道掘进机的掘进方向进行重排。如掘进方向是从右向左,那么以参考线属性中StartPoint的X坐标由大到小进行排序;反之,则由小到大进行排序。

参考线排序需将各参考线对象句柄及属性中StartPoint的X坐标写入SQLite,再根据排序的需要,使用Sql语句Select * form TableName Order by X ASC/DESC即可返回排序后的参考线句柄,使用HandleToObject方法分别取得参考线对象,即可按顺序进行操作。

5.2 地层识别

地层识别是采用VBA矢量图形识别技术,获取各地层区域填充图案的颜色,从而取得对应的地层信息。

地质信息识别如图9所示。参考线与各地层分界线的交点之间为同一种地层,通过取得该地层的填充图案颜色,根据颜色与地层一一对应的关系,也就确定了地层,再融合岩土勘察报告中的相关信息,即可得到详细的数据化地质信息。

(a) (b)

图9 地质信息识别示意图

Fig. 9 Sketch of geological identification

5.2.1 地层分界点识别

以图9(a)为例说明如何识别在参考线处地层之间的分界点。首先将参考线的起点S和终点E分别沿掘进方向偏移一个微小的距离(通常取0.1 mm)后,得到点S′和点E′。采用VBA的Select By Polygon方法,以四边形SS′E′E为选择多边形,使用ac Selection Set Crossing Polygon选择模式,通过选择过滤器只选择线型对象,即得到所有与参考线相交的地层分界线选择集。

使用VBA的IntersectWith方法计算参考线与地层分界线选择集中每个对象的交点,即可得到各地层在参考线处的分界点。由于在AutoCAD中,点是以一个包含X、Y、Z坐标的1×3的数组来表示的,而当地层分界线是LwPolyline或Polyline且与参考线多次相交时,得到的交点将会是一个1×3n的数组。图9(a)中黄色Polylinea、b与红色参考线SE相交于G、H点,所得结果为一个1×6的数组,需要按点X、Y、Z坐标对应的3个元素拆分为2组1×3的点坐标数组。

5.2.2 地层代号识别

由于参考线为非水平直线段,同一参考线处的地层分界点(包括参考线的2个端点S、E)Y坐标值一定不同,因此将地层分界点按照Y坐标由大到小进行排序,那么每2个相邻的地层分界点(包括参考线2个端点S、E)之间为同一种地层。取得两地层分界点间的填充图案颜色,通过颜色与地层的映射关系,即可识别出相应地层的代号。

本文采用VBA的SelectAtPoint方法来取得两地层分界点之间的填充图案对象,该方法需要指定一个基点B(如图9(a)所示,点B为参考线起点S与地层分界点F之间的基点),如果点B处有其他图元位于填充图案之上,则无法取得填充图案对象。B点坐标计算方法如下。

1)点B处无其他图元覆盖填充图案时:

(6)

(7)

2)点B处有其他图元覆盖填充图案时,使点B在高为0.8×ΔY、宽为0.8×Wn、距离点S为0.1×ΔY、距离参考线SE为0.1×Wn,如图9(a) 所示红色半透明区域内移动,且X、Y轴方向每次移动的距离分别为0.1×Wn和0.1×ΔY,点B的坐标可用矩阵表示为:

(8)

Wn=min(|Snx-Sn+1x|,|Enx-En+1x|),n=1、2、…。

(9)

式(9)中当参考线(SE)n为最后一条时,不再需要地质识别,式(9)始终正确。

ΔY=|Sny-Fny|。

(10)

式(8—10)中:Wn为第n条参考线与第n+1条参考线之间的最小距离;Snx为沿掘进方向第n条参考线的起点X坐标;Sn+1x为沿掘进方向第n+1条参考线的起点X坐标;Sny为沿掘进方向第n条参考线的起点Y坐标;Enx为沿掘进方向第n条参考线的终点X坐标;En+1x为沿掘进方向第n+1条参考线的终点X坐标; ΔY为同一参考线上两相邻地层分界点Y轴距离;Bx为指定基点B的X坐标;By为指定基点B的Y坐标;Fnx为沿掘进方向第n条参考线地层分界点F的X坐标;Fny为沿掘进方向第n条参考线地层分界点F的Y坐标。

5.2.3 地层比例计算

地层在纵向呈层状分布,变化较大,在水平方向的变化较为平缓。因此,沿隧道横断面水平方向的地层可视为无变化,地层横断面如图10所示。地层比例以各地层的面积比来确定。

图10 隧道地层横断面示意图

由图10可知,隧道横断面各地层形状主要由弓形和鼓形组成。根据弓形和鼓形面积计算公式依次计算出各地层面积,最后将识别出的地层代号、地层比例以及对应的位置标记(管片环号或里程)输出到Excel中形成地质数据基础表。

6 多源地质信息融合

根据需要,提取隧道岩土工程勘察报告中各地层相关数据,包括地层代号、岩土名称、塑性、密实度、天然重度、渗透系数、标贯值等,并将诸如岩石完整性的“完整”、“较完整”等定性描述转换为定量描述(即完整性系数)。

根据地质数据基础表中的地层代号,在地层信息数据表搜索对应的数据,并以文献[15]中的方法将数据写入地质数据基础表,使岩土勘察报告中的图示信息、文字描述、数字等多源地质信息进行融合,最终生成隧道穿越地层的数据化地质信息表,机器学习算法程序可直接从该表中读取数据进行计算。

7 程序实例

以广东某隧道为例进行地质数据化转换测试。对地质纵断面矢量图中多余图元进行清除,将各地层封闭区域填充为相应颜色的Solid图案,并绘制参考线。处理完成的地质纵断面矢量图如图11所示。

图11 处理完成的地质纵断面矢量图

Fig. 11 Processing completed geological longitudinal section vector map

提取岩土勘察报告中的地质数据,形成结构化地层数据表,见表1。

表1 地层数据表(部分)

通过程序识别地质纵断面矢量图中的各地层,将数据输出,形成地质数据基础表后,与地层数据表融合,形成新的数据化地质信息表,见表2。测试共产生记录5 837条,用时1 min 50 s,无任何错误,其效率和准确性是人工无法相比的。实现地质信息数据化转换的部分程序界面如图12所示。

表2 数据化地质信息表(部分)

图12 程序界面(部分)

8 结论与讨论

1)从全断面隧道掘进机智能施工技术研究的需求出发,分析了隧道岩土勘察报告的内容,对CAD的自动操作二次开发进行了一定程度的研究,提出地质纵断面矢量图的处理和自动识别,重组和构造结构化数据,获得细致、准确的数据化地质信息的方法,并详细阐述了思路,对类似地质信息处理具有一定的借鉴意义。

2)采用图案填充对地质纵断面矢量图间断信息进行补充,是一种提高地质信息数据密度简单有效的手段。

3)二维的地质纵断面矢量图不能有效地反映地质在隧道横向上的变化,在将来的研究中,可结合地质钻孔平面位置与地质柱状图,采用地质三维建模技术和三维矢量切割技术进行处理,可提高数据化地质信息在横向上的准确性。

猜你喜欢

矢量图纵断面线段
Analysis of the line current differential protection considering inverter-interfaced generation station and countermeasures
画出线段图来比较
怎样画线段图
数线段
100km/h线路节能坡纵断面设计研究
普速铁路轨道大修中平纵面的施工控制
利用矢量图对小物体从光滑斜面下滑运动探讨
观察
浅谈客运专线无砟轨道铁路路基纵断面设计
农村公路技术标准研究