作者简介: 李小东(1987-),男,硕士,四川达州人。主要研究方向为地球物理数据处理。E-mail:dragon2182436@sina.com
提出了一种基于三角网格的等值线成图线性插值方法。常规等值线成图都是基于矩形网格进行网格化插值的,三角网格能够更好地逼近地球物理场的形态和散乱离散点数据的边界,得到的等值线图更加光滑。通过搜索边界、三角网格化剖分、线性插值、搜索等值线、Bezier曲线光滑等值线等5个步骤,可以对任意散乱离散点数据进行快速成图。实际数据的成图结果表明:该方法插值效果好,不进行数据外推,得到的等值线图能直接反映散乱离散点数据的空间位置且成图速度快,可大大提高实际工作效率。
Conventional contour mapping performs interpolation based on a rectangular grid. A linear interpolation method is presented in this paper based on triangular mesh. Triangular mesh can better approximate the boundary of scattered data and the morphology of geophysical field, which makes the contour maps smoother. By searching boundary, triangulated mesh, linear interpolation, search contours, Bezier curves and smooth contours, five steps can be carried out quickly for any scattered data mapping. The actual data mapping results show that the interpolation method is good in that no data extrapolation is needed, the contour map obtained directly reflect the spatial location of scattered data, and the mapping is speeded. The method can therefore greatly improve the efficiency of the actual work.
等值线图能够直观地反应各种地球物理场的形态特征, 是物探工作中一种必不可少的研究手段。在地球物理野外数据的采集过程中, 由于一些人文或地理的原因, 总不能按照规则的测点采集数据, 实际采集到的数据往往是不规则的散乱离散点数据。散乱离散点数据的成图过程一般是先用克里格插值(kriging)、自然邻点插值(natural neighbor)、径向基函数插值(radial basis function)等插值方法进行网格化处理[1, 2, 3], 得到规则节点上的场值, 然后根据这些场值来寻找等值点, 连接这些等值点, 光滑等值线便可画出等值线图。然而, 经过网格化得到的原始采集区域之外的场值往往是不真实的, 是经过一定的数学手段如概率、加权进行外推得到的, 在一般的成图过程中, 都要对这些外推区域进行“ 白化” 处理, 得到采集数据区域的等值线图, 这无疑花费了额外的计算代价, 降低了工作效率。
一般的网格化插值方法都是基于矩形网格, 如克里格插值、反距离加权插值法等, 也有基于三角形网格的插值方法如线性插值三角网法、自然邻点插值等[4, 5, 6, 7]。三角网格相较于矩形网格能够更好地逼近地球物理场的形态和散乱离散点数据的边界, 得到的等值线图更加光滑。为此, 提出一种基于三角形网格剖分的散乱离散点数据快速成图处理办法, 分为搜索边界、三角剖分、线性插值、等值线算法、Bezier曲线光滑等值线等五个步骤。
要对散乱离散点数据点进行三角网格剖分, 必须得到数据点的边界, 数据点的边界可以人工读取也可以用算法识别。对于采集到的大量数据来说, 其边界点的数量必然也很多, 人工识别耗时耗力。为了提高实际工作效率, 采用美国数学学会主席Graham教授发明的凸包(convex hull)扫描算法。已知离散点集P{p1(x, y), p2(x, y), …, pn(x, y)} 的凸包Ω 是指一个最小凸多边形, 满足P中的点在多边形边上或在其内, 凸包算法的目的是要找到这个最小凸多边形, 即数据点的边界。常见的凸包算法有分治法、快包法、增量式算法、Graham扫描法、Jarvis步进法等, 这些算法的时间复杂度从O(nlnn)到O(n2)[8, 9, 10, 11]。
野外采集到的数据点集并不都是凸包, 可能会存在如图1中A、B处的凹边界, 仍然采用凸包算法则不能够识别凹边界。对应的办法是对数据点集进行分块, 得到多块子凸包Ω , 用凸包算法对每一个子凸包进行边界提取得到子边界Γ , 按逆时针拼接各个子边界, 得到数据点集的整个边界:Γ =Γ 1∪ Γ 2∪ …∪ Γ n。
常规网格化方法都是基于矩形网格进行插值的, 用数据坐标的最值得到一个能够包围所有数据点的矩形, 通过一定间距的网格剖分、插值, 得到每一节点的值。矩形网格化方法不仅不能模拟工区测网的实际形状, 成图之后还要根据数据边界对外推区域进行白化, 这无疑增加了额外计算量, 降低了工作效率。
三角剖分对于数值分析(比如有限元计算)以及图形学来说, 是一项极为重要的预处理技术。基于Delaunay准则剖分的三角网格必须满足3个条件[12, 13]:产生的三角形不相重叠, 不产生新的数据节点以及所有剖分出来的三角形的合集是点集P的凸包。三角网格剖分已经开发出了很多成熟的商业软件和算法, 如美国麻省理工学院Per-Olof Persson博士[14]开发的Distmesh、加利福尼亚大学Jonathan Shewchuk教授[15]开发的Triangle程序包, 都可以对各种形状进行剖分。在获得了数据点集的凸包边界后, 就可以用数据节点进网格剖分, 剖分后的三角网格顶点就是数据节点的位置(图2)。
剖分出三角网格后, 理论上就可以连接等值点作出等值线图, 但原始数据点太少, 得到的等值线由折线构成, 不光滑。因此, 需要在原来的网格内部剖分出尺寸更小的三角形, 新增加的三角形顶点的值可以采用线性插值的办法得到, 原来的三角形顶点的值仍然保留, 所以用这种方法插值不会超过原始数据的幅值范围。
如图3所示, 设Pi(x, y)、Pj(x, y)、Pk(x, y)是某个三角单元的顶点, 将该三角单元内的插值点与3个顶点连线得到3个新的三角单元, 利用它们与原三角形面积的比值可以惟一确定该点的场值[16, 17]:
其中, 面积坐标L是x, y的线性函数。对所有加密剖分后的三角单元的顶点进行插值计算, 便可得到新顶点处的场值:
经过第三步, 已经形成了更小的三角网格, 且节点上的场值已经通过线性插值的办法得到。确定等值线的条数, 就可以根据场值的最大、最小值得到每一条等值线的值。对于每一条等值线, 将所有三角形搜索一遍, 寻找该等值线的值对应的等值点, 连接所有等值点得到一条等值线。重复操作, 就可得到所有等值线[18]。
由上面各式可进一步推出面积坐标
式中, Li, Lj, Lk∈ (0, 1)。已知ui, uj, uk为某个三角单元顶点处的场值, 结合上述各式可知, 该三角单元内任意一点的场值u∈ (min(ui, uj, uk), max(ui, uj, uk))。如果该等值点不在该三角单元的幅值之间, 则等值线不经过该三角形; 反之, 让搜索点的坐标在三角单元的边上循环, 当边上的点(xi, yi)满足u(xi, yi)=u0(u0为某条等值线的值), 则等值线经过该三角单元。等值线与三角单元有5种位置关系, 如图4所示。
通过以上五个步骤, 可以得到任意散乱离散点数据的等值线图。为了验证成图效果和算法的稳定性, 分别用反演电阻率数据和磁异常数据进行网格化成图。
应用高密度电阻率法得到的视电阻率数据, 由于在数据采集过程中地形高低起伏, 其反演电阻率剖面往往不是规则的倒梯形, 而是与勘探深度有关的不规则多边形。图6a为用凸包算法得到散乱数据点的边界和加密剖分后的插值网格, 然后连接各等值点得到未光滑前的等值线图如图6b, 用Bezier曲线得到光滑后的等值线(图6c), 在Surfer中采用克里格插值法对散乱数据网格化并白化后得到的等值线如图6d。
图6d中电阻率最大值为1 575 Ω · m, 最小值为669 Ω · m, 而原始数据最大值为1 613 Ω · m, 最小值为616 Ω · m。可见, 本方法与克里格插值方法一样, 都能清晰地反映异常体的形态, 但本方法不会改变原始数据的范围。
在实际金属矿产勘查工作中, 往往会用磁法对工区进行“ 扫面” , 得到数据量很大的散乱离散点数据。为了验证算法的稳定性, 采用云南某工区的磁异常数据进行成图, 共15条测线, 线距500 m, 测线沿北东向分布, 每条测线约60个测点, 点距50 m, 共906个散乱离散点。使用Surfer, 经克里格网格化插值得到的等值线如图7a, 用本文方法进行边界识别后剖分7 808个三角单元得到的等值线如图7b。
图7显示, 本文方法明显比surfer得到的等值线光滑, 且两者皆有明显的正负异常, 可以确定磁异常的范围。图7a出现的锯齿状边界是因为Surfer在网格化过程中根据网格尺寸对边缘进行白化舍去, 而图7b的直线边界是根据散乱离散点数据最初的位置得到。表1显示, 相比其他网格化方法, 本文方法不需要白化, 成图速度快, 效率高。
通过成图实例可以看出, 本方法具有成图步骤简单、做图速度快、不进行数据外推、可进行批量成图等优点, 在白化过程中不需要知道散乱离散点数据的边界, 通过凸包算法自动识别边界, 得到的等值线图直接反映散乱离散点数据的空间位置, 对于大规模不规则分布的地球物理数据, 可以快速网格化成图。同时, 用编写的程序成图不需要人工成图那样一步一步的鼠标操作, 只要充分考虑可能存在的几种情况, 设置好坐标体系、色标棒, 就一样能作出高质量的图件。因此, 在实际工作中采集的数据量很多需要多次成图时, 本文提出的方法能够明显的提高工作效率。
本方法只适用于数据的最终结果成图。如需通过观察等值线图后进行再处理(如傅里叶变换), 则需保留原始数据的处理结果。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|
[20] |
|
[21] |
|
[22] |
|
[23] |
|