地层分布模型自匹配的剖面图动态生成算法
李晓娟1,3, 何育枫2, 王桂春2, 徐礼鹏2, 陈晔2
1.南京大学 地理与海洋科学学院,江苏 南京 210046
2.江苏省地质勘查技术院,江苏 南京 210046
3.中国南海研究协同创新中心,江苏 南京 210093
通讯作者: 何育枫(1988-),男,硕士研究生,GIS专业、遥感专业。 Email:heyufeng8805@126.com

作者简介: 李晓娟(1986-),女,博士研究生,地理学专业、遥感专业。 Email:lixiaojuan_2009@163.com

摘要

传统的剖面图算法对地层尖灭、透镜体、地层缺失处理能力差,算法精度难以满足生产要求。针对该问题,笔者提出一种地层分布模型自匹配的地质剖面图构建算法。首先,构建了工程钻孔数据结构;然后,根据地层分布规律定义地层分布模式,并推导出各个模式下地层剖面线生长策略和规则,通过地层分布模型规则和匹配算法判断地层点的剖面线从属关系;最后,将剖面线点集连接成线,并进行标注与地图整饰。笔者算法克服了传统钻孔相邻连接造成的连续性差、一致性欠缺的缺点,能够对地质剖面的歼灭、透镜体、地层缺失现象有准确地处理。实验表明,采用本文算法所构建的地质剖面图能准确、高效地反映研究区域的地层分布,广泛适用于工程生产。

关键词: 地质构造; 钻孔剖面图; 模型匹配; 地层尖灭; 地层缺失
中图分类号:P631 文献标志码:A 文章编号:1000-8918(2017)05-0939-07
Drill section algorithm based on auto-matching of stratigraphic distribution pattern
LI Xiao-Juan1,3, HE Yu-Feng2, WANG Gui-Chun2, XU Li-Peng2, CHEN Ye2
1.School of Geographic and Oceanographic Science,Nanjing University,Nanjing 210046,China
2.Geological Exploration Technology Institute of Jiangsu Province,Nanjing 210046,China
3.Collaborative Innovation Center of South China Sea Studies,Nanjing 210093,China
Abstract

Traditional sectional view algorithm lacks accurate processing capability for such phenomena as pinch off, absence, and lenses of strata. The accuracy of the algorithm can hardly meet production requirements. To solve these problems, this paper proposes an auto-matching algorithm for building geological sectional view by stratigraphic distribution pattern. First, the project drilling data structure is built; then, based on the distribution of strata, the patterns of strata are defined and the section line growth policies and rules of each model are deduced. From left to right, from top to bottom, the sequence stratum pattern matching method is used; according to the problem as to which section line the stratum point belongs to is determined; finally, the section line sets of points are connected into the line, thus finishing map annotation and map decoration. The algorithm overcomes the problem of poor continuity existent in the traditional drilling adjacent connection method caused by the lack of consistency disadvantage. Stratum pattern auto-matching method achieves automatic section line growth and can wipe out stratum pinch off, stratum absence, stratum lens phenomenon accurately. Experiments show that the geological profile constructed algorithm can accurately and efficiently reflect the stratigraphic structure of the study area, and hence it is widely used in engineering production.

Keyword: geological structure; drill section; pattern matching; stratum pinch-out; stratum absence
0 引言

地质剖面图是地质的基础成果图件, 它涵盖了地层结构信息和岩体属性信息, 能够直观地反应地层的构造类型和沉积规律。通常, 地质剖面图结合地质平面图, 广泛应用于地质工程判图, 能够直观地反应出空间分布上的地质体和地质构造演变规律。

一般而言, 地质剖面图的绘制流程为:根据钻孔地层信息, 绘制地层之间的分割线, 然后利用不同的填充图案将分割区域进行填充, 从而获得二维图上的地质构造剖面划分[1]。地质剖面图的数据来源有坑道、探槽、浅井、斜井和钻孔, 城市地质剖面图主要数据源自于工程勘探的钻孔数据, 研究如何将钻孔数据自动绘制地质剖面图具有重大意义。

当前, 许多研究者在剖面图的绘制上做了相关研究。丁宇明从运算性能、精度和误差3方面分析插值方法, 采用三次样条曲线拟合地质剖面图中的剖面线[2]。门桂珍等从断层的地质剖面图绘制的两个关键问题出发(上变倾角、交落差与地层曲线形态协调问题), 提出了具有特定参考意义的地质剖面图绘制方法[3]。朱莹等采用三次样条曲线对地质剖面线进行光滑处理, 提出了相应的地质剖面数据模型, 并基于Arc Engine开发了地剖面图绘制系统[4,5,6]。王继明首次将知识推理机制引入地质剖面图生成算法, 实现了剖面图绘制算法的智能分析与决策[7]。陈嶷瑛通过对地质构造过程进行反演, 实现对地质剖面路断层模型构建; 考虑地层级别、规模、断层地层之间的交错关系等因素影响, 提出了针对复杂断层的剖面图绘制方法, 最终实现剖面图的自动绘制[8]。周良辰等将虚拟钻孔作为地质剖面图绘制算法的重要中间单元, 有效地简化建模过程, 实现了高效稳定的地质剖面图生成算法[9]。王家伟基于钻孔数据, 融合专家知识和经验, 顾及主次地层交错的复杂地层层序对应关系, 添加虚拟地层进行钻孔数据预处理, 建立地层连接规则, 以实现含尖灭地层地质剖面的自动生成和工程图绘制[10]; 张军强将三维地质模型和地矿点源数据库作为绘制勘探剖面图的数据来源, 通过结构化的样式模板控制勘探剖面图的绘图样式, 实现了标准化勘探剖面图的快速动态绘制[11]。谭正华将实体切割方法和区块自动识别技术相互结合, 提出通过集合运算转化为数学运算的地质剖面图生成方法, 该方法基于树结构存储, 能够表达复杂地质体轮廓线和地质区域类型(如岛、孔)。吴志春[13]介绍了模型边界面、断层面、地层界面、岩体界面这4种主要地质界面的构建流程与方法, 尤其对褶皱构造、地层界面的断层效应、复杂岩体界面等的构建进行了重点研究, 最终构建三维地质模型。

目前对于地质剖面图的自动绘制方法在各个方面都有建树, 涉及断层、褶皱处理, 三维地质模型剖面图以及虚拟钻孔成图方法, 但构建的方法过于复杂, 在处理方面并未考虑全面。体现在两个方面:其一, 剖面线采用三次样条曲线进行光滑处理时, 容易出现地层线交叉; 其二, 当以三维地质模型和虚拟钻孔为依据生成方法剖面图时, 算法要求建立的三维模拟足够准确, 保持这点在现实中比较困难。此外, 在面向常见的“ 地层歼灭” 、“ 地层缺失” 、“ 地层透镜体” 时, 已有的剖面图的自动生成算法无法准确、快速处理, 甚至相当部分方法未曾提及。以上一定程度影响了算法的稳定性和准确率, 在实际应用中表现不尽人意;

笔者提出了一种基于地层分布模型自匹配的剖面图动态生成算法。算法首先构建了工程钻孔数据结构; 然后, 根据土层分布规律定义地层分布模式, 并推演出各个模式下剖面线生长策略和规则。通过地层模式匹配根据规则判断地层点剖面线走向; 最后, 将剖面线点集连接成线、并进行标注与地图整饰。算法所构建的剖面图具有几何连续性, 视觉上具有良好的地层分布辨识度, 符合现实中地层分布规律。算法计算过程简单、快速, 具有良好的适应性。本文方法已应用于城市地质项目中, 在实践中证明具有极高的准确性、实用性和快速性。

1 剖面图和地层分布模式定义

地质剖面图是由若干地质勘探点、地层线以及其他一些图面标注构成的。采用集合描述剖面图为:

Section={SectionLines∪ Drills∪ Stratums∪ Annotations∪ 地图整饰}, (1)

其中, SectionLines为剖面线集, Drills为钻孔集, Stratums为土层集, Annotations为剖面注记。

一般而言, 地层分布主要有以下5种:①地层连续分布:地层在钻孔序列中连续分布(图1a); ②地层透镜体:地层在中间钻孔连续, 在两端分别缺失(图1b); ③地层尖灭:地层在钻孔序列一侧连续分布, 在另一侧的钻孔出现缺失(图1c); ④地层缺失:两相邻钻孔地层均不连续, 但缺失的地层为同一地层(图1d); ⑤地层间断缺失:两相邻钻孔地层均不连续, 且两钻孔缺失的地层为不同地层(图1e)。

图1 地层类型示意

在地质剖面图绘制中, 需要充分考虑地层连续分布、地层镜体、地层尖灭、地层连续缺失和地层间断缺失5种情况。为了方便计算, 将地层尖灭分为左侧尖灭和右侧尖灭, 地层缺失分为左侧地层缺失和右侧地层缺失。将地层空间按照邻近相关性进行编码, 如图2所示。

图2 地层分布特征

依据钻孔地层分布结构, 给定空间任意钻孔点:

若S1 =S2=S3, S4=S5=S6, S7=S8=S9, 且S1!= S4!=S5时, 则该钻孔地层为地层连续分布(如图2a);

若S1=S2=S3=S5, S5!=S4, 则为地层透镜体(如图2b);

若S1=S2=S3=S6 =S7, S7!= S4, S4=S5, 则为地层尖灭(右侧)(如图2c);

若S1=S2=S3=S6=S7, S7!=S4, S4=S5, 则为地层尖灭(左侧)(如图2d);

若S1=S2=S3; S5=S6; S7=S8=S9; S4!=S5; 则为地层间断缺失(如图2e);

若S1=S2=S3; S5=S6; S4=S7=S8; S4!=S5!=S1; 则钻孔为地层缺失(左侧)(如图2f);

若S1=S2=S3; S5=S6=S7; S1! =S4 != S5; 则钻孔为地层全缺失(右侧)(如图2g);

从上述规则可以发现, 地层按照从左到右、至上而下的剖面连接策略, 任意待连接的地层剖面线与其邻近地层层号关联紧密。因此, 我们考虑, 依据地层分布现象建立地层的八邻域关系模型, 每次识别当前钻孔层的地层模型类型, 根据模型类型确定地层剖面线走向, 是实现剖面图动态绘制行之有效的方法。

2 钻孔剖面图生成过程
2.1 钻孔数据结构

钻孔勘探数据是地质三维建模与地质破剖面图生成的基本数据, 具有广泛应用。文中钻孔结构如下:

钻孔剖面表(项目编号、剖面编号、钻孔序号、钻孔编号、钻孔间距);

钻孔信息表(项目编号、钻孔编号、孔口高程、x坐标、y坐标、钻井类型、完井深度);

土层表(项目编号、钻孔编号、主层号、亚层号、土层名称、地层深度和地层描述);

图3 钻孔表结构

工勘项目可任意选择钻孔生成剖面图、钻孔由若干个土层组成。钻孔间距用于剖面图钻孔距离计算, 土层高程可通过孔口高程和对应的土层厚度计算。依据钻孔剖面表、钻孔信息表、土层表可以计算出各个要素(土层、钻孔、剖面线)的空间位置。该钻孔数据结构和工程编号关联, 能够实现城市工勘钻孔数据统一管理, 实现不同项目中选取钻孔, 动态的生成地质剖面图, 增加钻孔信息的重用性。

2.2 地层分布特征与模型

2.2.1 剖面图结构定义

按照从左到右, 钻孔序列表示为:

Drills={D1, D2, …, Di, …, Dm} , (1)

其中:i为钻孔序列号, m表示钻孔个数。任意钻孔di对应的地层集:

Dj={Si, 1, Si, 2, …, Si, j, …, Si, Ni}, (2)

其中:Si, j表示第i个钻孔的第j个土层, Ni为第i个钻孔的土层个数。

在剖面图中, 地层Si, j为矩形, 由4个顶点和地层类型组成, 表示为:

Si, j={Si, j.LB, Si, j.RB, Si, j.RT, Si, j.LT, Si, j.StraNo},

(3)

其中:Si, j.LB, Si, j.RB, Si, j.RT, Si, j.LT是土层Si, j地层类矩形(左下角、右下角、右上角、左上角)4个角点, Si, j.StraNo表示地层标识, 由主层号和亚层号唯一标识, 且有地层集合:

Stratums={Si, j}。 (4)

剖面线由若干土层点连接而成, 且具有剖面唯一标识, 剖面线可表示为:

SectionLine={StraPts, section_type}, (5)

其中:StraPts为剖面线地层点集, section_type为地层类型。剖面线绘制分为两步:①确定当前剖面线; ②根据地层分布模型确定当前剖面点连线关系。剖面图划分通过不断的创建SectionLine, 添加StraPts点, 直至地层点全部被划分, 剖面图绘制完毕。

2.2.2 剖面图地层分布模型

地层分布模型匹配方法从左到右依次扫描各钻孔上端未被划分的地层点, 依据地层分布类型判断剖面线走向。假设钻孔Dj中下一个待计算地层为 c(j)(游标), 剖面线完成钻孔d(j)一次划分, 游标 c(j)向底部偏移一个地层。因此, 我们采用各个钻孔的游标的相对位置来确定地层的纵向方位, 每次剖面线生成, 算法只需要关注当前游标邻近相关的地层。为了直观表示, 如图4所示, 钻孔d(j)地层Sc, j即将被划分, 游标c(j)等于Sc, j; 对于已经完成划分地层d(j-1), 游标c位置已经下移一位, 即c(j)= Sc, j+1。随着剖面线的绘制, 钻孔中待划分的地层逐渐减少, 游标逐步往下移。

图4 钻孔游标示意

假设当前地层为Si, j, 与相邻的地层比较, 以图4为参考, 各个类型地层分布模式如下:

1) 若Sc, j=Sc, j+1, 且Sc, j!=Sc, j+1, Sc, j!=Sc+2, j+1, 则Sc, jSc, j+1满足地层连续模型。

模型处理方法:

① 当前剖面线SectionLine (Sc, j.StraNo)添加Sc, j.RB 与 Sc, j+1.LB;

c(j)++;

2) 若Sc, j!=Sc, j+1, 且Sc, j!=Sc+1, j+1, Sc, j!=Sc+2, j+1, 则Sc, jSc, j+1满足地层间断缺失模型。

模型处理方法:

① 当前剖面线连接Sc, j.RB与Sc, j+1.LT;

② 创建新的剖面线, 向新的剖面线添加Sc, j.RB与Sc, j+1.LB;

c(j)++;

3) 若Sc, j=Sc+1, j+1, 且Sc, j!=Sc, j+1, 则Sc, j+1满足左侧地层连续缺失模型。

模型处理方法:

① 创建新剖面线SectionLine (Sc, j+1.StraNo), 将Sc, j.RT与Sc, j+1.LB加入到剖面线中, 新剖面线向右判断D(j+1)的游标;

② 剖面线SectionLine(Sc, j.StraNo)添加Sc, j.RB与Sc+1, j+1.LB, 待①完成后继续向右扫描D(j+1)的游标;

c(j)++;

4) 若Sc, j=Sc, j+1=Sc+2, j+1, 则Sc+1, j+1满足左侧尖灭模型。

模型处理方法:

① 创建新剖面线SectionLine(Sc+1, j+1.StraNo), 向剖面线添加Sc, j+1.RT和Sc+1, j+1.RB, 继续向右判断D(j+1)的游标。

c(j)++;

③ 旧剖面线SectionLine(Sc, j.StraNo)添加Sc, j.RB与Sc+2, j+1.LB;

c(j)++;

5) 若Sc, j=Sc, j+1=Sc+2, j, 且Sc+1, j!=Sc+1, j+1, 则Sc+1, j满足右侧尖灭模型。

模型处理方法:

① 剖面线SectionLine(Sc, j.StraNo)添加点(Sc+1, j+1.LB+Sc+1, j+1.LT)/2和Sc+1, j.RB, 向左扫描D(j-1)的游标直至结束;

c(j)++;

③ c(j)++;

6) 若Sc, j!= =Sc, j+1, 且Sc+1, j=Sc, j+1, 则Sc+1, j满足右侧缺失模型。

模型处理方法:

① 剖面线SectionLine(Sc, j.StraNo)添加Sc, j+1.LT;

② 从左开始, 重新向右扫描图层, 即扫描D(0)的游标;

由于地质地层分布现象在一定范围表现为连续过程, 剖面图的划分同样具有密切的相关性。6个规则分别代表了6种地层分布状况, 而地层透镜体可以视为特殊的地层尖灭。

2.3 算法过程

地层分布模型自匹配的钻孔剖面图绘制算法将上述6种模型运用到算法中, 全面地概括了5种地层分布。算法从第一个钻孔开始(j=0), 向右推演, 每次识别游标处地层所属规则模式, 有效地推断出该位置的地层分布模型, 依据模型类型准确地识别地层剖面线的走向。

算法步骤(流程图如图5):

① 假设, 钻孔集合Drills中地层数最大个数为MaxDept。首先初始化从第一个钻孔开始(j=0), 初始化钻孔所有游标位置为0。

② 判断当前钻孔游标位置是否超出MaxDept, 如果超出极限值, 剖面图构建完毕。

③ 判断Sc, j=Sc, j+1是否相等, 如果相等, 则可能存在的地层分布为:地层连续分布; 地层左端尖灭; 地层右侧尖灭;

如果满足Sc, j=Sc+2, j+1Sc+1, j!=Sc+1, j+1, 则当前地层属于左侧尖灭, 按照模型4规则进行处理。

如果满足Sc+2, j=Sc, j+1Sc+1, j!=Sc+1, j+1, 则当前地层属于右侧尖灭。按照模型规则5进行处理。

当不符合上述两点时, 当前地层为连续分布, 按照模型规则1处理。

判断Sc, j=Sc, j+1是否相等, 如果不相等, 则可能存在的地层分布为:地层间断缺失; 地层左侧缺失; 地层右侧缺失;

Sc, j=Sc+1, j+1, 则当前地层属于左侧缺失; 按照模型规则3处理;

Sc+1, j=Sc, j+1, 这当前地层右侧缺失, 按照规模型则6处理;

当上述两点不符合时, 当前位置地层间断缺失, 按照模型规则2处理。

地层右侧缺失时, 跟踪至出现缺失或者边界时。需要设置j=0, 从左到右进行下一轮计算。当钻孔地层按规则处理后, 将当前地层指向下一个钻孔(j=j+1)。

⑥ c(j)> Ni, j=j+1; //忽略被划分完毕的钻孔。

判断j是否超界, 若未超界, 回到步骤, 否则从左向右进行下一轮计算(即j=0)。

3 实验结果与分析

为了充分利用城市历史工勘数据, 避免工勘作业在同一地区重复进行, 我们建立了城市地质岩土工程勘探数据库。数据库实现对已开展工勘成果数据收集入库, 随着入库的工勘成果增加, 数据库地质信息逐步均匀覆盖整个城市。当需要了解某个地区的地质构造时候, 首先获取空间邻近的钻孔数据, 通过对本文方法, 完成任意钻孔剖面图生成, 也可以通过任意点虚拟钻孔构建, 实现城市任意点的剖面图绘制。苏州市数据库共收集了1 089条钻孔数据, 钻孔均匀分布在苏州市内。

算法采用arcgis 10.1 engine开发环境, 采用 C++语言对实验算法进行验证。任意选取空间上分布的钻孔数据, 采用本文方法绘制钻孔剖面图(如图6所示)。图中, 钻孔编号标注在钻孔上方, 地层的标识采用“ 主层号_亚层号” 形式(如1_1), 钻孔间距按实际距离和成图比例尺计算。实验结果准确地识别了地层缺失、连续地层、地层尖灭、地层透镜体现象。

算法从左到右进行扫描, 每个地层有且仅有一条剖面线通过, 剖面线划分时候, 地层号最多进行3次比较。假设钻孔个数为m, 钻孔最大地层深度为n, 则算法时间复杂度为o(3× m× n), 即o(m× n)。分别以5、10、20、35个钻孔进行剖面图划分, 钻孔地层数在5~10之间, 得到如下结果:

当钻孔速个数为35时, 时间消耗平均值为107 ms, 能够满足实际应用要求。统计算法检验准确率, 公式如下:

剖面图划分准确率= 正确划分剖面线总剖面线条数× 100%, (6)

由于笔者采用严密的规则策略判断剖面线走向, 其正确率平均为91.50%, 产生误检的主要原因为生成剖面图的钻孔分布应该在不同的项目中(空间上具有不连续性), 选取的钻孔深度差异和地层差异巨大而造成的。为了修正错误的剖面线连接关系, 基于arcgisengine平台提供的强大的空间数据管理与编辑功能, 我们研发了可见即可得的剖面线编辑功能, 通过截断剖面线、移动、删除、新增方法对剖面图进行矫正, 进一步保证了剖面图的正确率和可用性。此外, 程序也提供了剖面图的导出功能, 可通过ArcMap实现剖面编辑。

实验表明, 文中算法在钻孔剖面图生成过程中具有高效性、鲁棒性和可观的准确性。通过本文算法, 结合程序实时的编辑和导出功能, 不仅仅保证了剖面图质量, 也极大减轻剖面图判图的人工强度。为了进一步提高算法准确率, 减少人工干预, 我们建议对钻孔选取时尽量保持空间上的相关性, 且算法和土工试验地层类型划分的准确度密切相关。

表1 时间消耗
4 结束语

针对常用的钻孔剖面图算法对常见的地层尖灭、地层缺失、地层透镜体地层分布现象识别准确率不足, 通过观察总结5种地层分布现象以及邻近地层分布特性, 提出基于钻孔地层模型匹配的动态剖面图绘制方法。该方法在实验中被证明快速、稳定, 能够实现较为准确地自动绘制剖面图。结合少量的人机交互矫正, 极大减轻人工强度, 能够广泛应用于工程剖面图生产中。

The authors have declared that no competing interests exist.

参考文献
[1] 李锋, 胡维平. 剖面图中分层区域自动生成的计算机实现[J]. 岩土力学, 2001, 22(1): 117-120. [本文引用:1]
[2] 马文田, 丁宇明. 地质剖面参数式计算机绘图通用软件研制[J]. 工程勘察, 1992(2): 35-38. [本文引用:1]
[3] 门桂珍, 萨贤春. 地质剖面图的计算机绘制技术[J]. 煤田地质与勘探, 1995, 23(1): 34-37. [本文引用:1]
[4] 朱莹, 刘学军, 陈锁忠. 地质剖面自动绘制的数据模型研究[J]. 湖南科技大学学报: 自然科学版, 2007, 22(3): 96-100. [本文引用:1]
[5] 朱莹, 刘学军, 陈锁忠. 地质剖面自动绘制系统设计与实现[J]. 人民长江, 2008, 39(8): 72-74. [本文引用:1]
[6] 朱莹, 刘学军, 陈锁忠. 基于GIS的地质剖面图自动绘制软件的研究[J]. 南京师大学报: 自然科学版, 2007, 30(4): 104-108. [本文引用:1]
[7] 王继民, 吕庆, 万定生. 基于钻孔数据的地质剖面建模系统[J]. 河海大学学报: 自然科学版, 2009, 37(4): 463-466. [本文引用:1]
[8] 陈嶷瑛, 李文斌, 武强, . 地质剖面图中复杂断层的自动生成方法[J]. 煤田地质与勘探, 2010, 38(5): 7-12. [本文引用:1]
[9] 周良辰, 林冰仙, 闾国年. 虚拟钻孔控制的地质剖面图构建算法与实现[J]. 地球信息科学学报, 2013, 15(3): 356-361. [本文引用:1]
[10] 王家伟, 郭甲腾, 张荣兵. 含尖灭地层的地质剖面图自动生成与 2D/3D 绘制[J]. 沈阳建筑大学学报: 自然科学版, 2012, 28(3): 405-410. [本文引用:1]
[11] 张军强, 吴冲龙, 刘刚, . 基于三维地质模型的勘探剖面图快速动态绘制[J]. 地质科技情报, 2015, 34(6): 230-234. [本文引用:1]
[12] 谭正华, 王李管, 熊书敏, . 一种新的复杂地质体采矿工程剖面图自动生成方法[J]. 中南大学学报: 自然科学版, 2012, 43(3): 1092-1097. [本文引用:1]
[13] 吴志春, . 基于地质剖面构建三维地质模型的方法研究[J]. 地质与勘探, 2016, 52(2): 363-375. [本文引用:1]
[14] 杨丽. 地质平/剖面图自动成图系统研究与实现[D]. 长沙: 中南大学, 2013. [本文引用:1]
[15] 崔扬, . 勘探线剖面图从二维转化为三维算法[J]. 测绘科学, 2016(4): 26. [本文引用:1]