1. 引言
三维可视化是一种显示和理解地面和地面上许多地质现象特征的工具。它是数据体的一种表示形式,它可以利用大量数据,检查数据的连续性,并识别数据的真实性,为分析及重复数据提供参考。在当前,三维可视化是GIS在地质三维方面的一个重要应用,将传统地质建模和GIS结合,也是当前GIS在生活中应用的一大热点。如何有效表达和管理地质体,并更好地将稀土矿山三维可视化展示,是值得思考和研究的问题。
当前主流的矿山三维可视化软件种类繁多,国内使用的这类软件主要有3DMine、EVS、GOCAD、Surpac、Micromine、Vulcan等,这些软件大多属于国外研发产品,软件的设计和操作更普遍适用于国外技术人员,而且软件说明和功能菜单英文为主,功能虽然比较丰富,但在实际操作中相对复杂,对操作人员技能要求比较高,更适合于专业技术人员,在价格方面比较高,不适合中小型的矿山企业。虽然在当前市场也出现国内自主研发的矿山三维可视化类软件,但在价格上和实际操作方面,也存在以上国外软件存在的弊端。针对这些问题,本文从中小型企业使用出发,研究和探讨基于ArcEngine的一种矿山三维可视化方法,采用矿山钻孔基础数据处理分析,并构建模型,三维展示矿山地形分布情况,并将其使用在轻量级三维可视化软件中,在保证软件使用有效性的情况下,降低软件成本,使其适合中小型矿山企业使用。
在国内外矿山三维可视化建模方面,存在不少的研究,而针对钻孔方面的研究也有众多文献,其中,董波 [1] 对矿山的三维建模进行了探讨,研究了似三棱柱、三角形扩展规则等,并对算法进行了进一步的改进;罗云烈等 [2] 则探讨借助于Arcgis软件,构建地层的三维可视化;杨文环 [3] 等则在使用离散钻孔点数据三维建模过程中,引入TEN的GTP模型,创造性地提出新的三维地层可视化思路;同时申晓丹 [4] 等则是借助于3Mine构建三维地质模型;在ArcEngine环境下,对三维地质的研究也有很多,如黄嫚 [5] 、丁月平 [6] 、闫海涛 [7] 、周红 [8] 等,分别用不同的方法探讨了该环境下的三维可视化模型构建;伍艳 [9] 利用DATAMINE中三维模型构建方法,创建相应的地质体三维模型,主要是构建块体模型;赵汀 [10] 等富有创造性地将克里金插值法应用于离子型稀土矿山的储量估算中。
基于以上的研究分析,本文提出在ArcEngine二次开发环境下的离子型稀土矿山三维可视化,结合矿山钻孔数据,对矿山地层数据分析推理,实现离子型稀土矿山三维的可视化操作。
2. 研究方法
在ArcEngine二次开发环境下,实现离子型稀土矿山三维可视化的基本流程主要分为以下几个部分:钻孔数据的预处理、插分钻孔数据并将生成栅格转换为相应TIN层、生成一定顺序排列的多层TIN层、将多层TIN在约束条件下合并为模型。
2.1. 离散点处理
钻孔是地质测量过程中为钻探勘测地质矿体内部地质差异所打的垂直方向的细小探洞,且能够在一定程度上获得相对完善的地质体内部信息。钻孔数据通常包含诸如钻孔位置的XYZ坐标、钻孔编号、钻孔深度、钻孔的终孔分析等信息,它更好的反映了当前钻孔下的地质数据变化,是地质三维建模的重要依据。
从测量工具中直接获取的钻孔数据存在数据散乱、多余数据冗余等一些问题,为更好的满足研究需求,需要将原始钻孔数据进一步整理分析。因钻孔原始数据大多以dat、Excel等文本格式储存,这就需要将数据进行转换。首先将钻孔原始数据保存为相应格式的数据表,通过连接数据库,实现数据表存入到数据库表T_Drilling (钻孔表),数据库表如下表1;其次,通过ArcEngine,数据库中的钻孔散点数据被转换为Shapfile文件,主要方法为数据库中读取钻孔Table数据,将带有坐标对信息的Table数据对象转换为IFeatureClass,确定相应的空间参考,经IFeatureLayer接口将钻孔XY坐标点成图显示。

Table 1. T Drilling (Drilling Table)
表1. T Drilling (钻孔表)
2.2. 钻孔数据插分及构建TIN
在总结稀土矿床勘探经验和探采比的基础上,根据不同矿床的勘查类型和不同地质可靠程度的矿产资源和储量,工程间距由类比确定,如表2。但在实际中,探测钻孔所打之处受到矿区所在位置地表植被、岩石断层、水流等众多因素影响,得到的钻孔数据很有限,且可能存在矿山探测钻孔盲区,另一方面从表2中可得知相邻钻孔之间间距相对较大,这样基础下构建的三维模型将存在对原始地表情况的模糊表达,乃至错误展示。

Table 2. Reference list of mine exploration type engineering spacing
表2. 矿床勘查类型工程间距参考表
为了减轻钻孔数据量不足,构建的模型难以较完整表达矿山地质情况的问题,提出用数据插值的方法加密原始钻孔数据。在ArcGIS中常用的空间数据插值方法主要有:反距离权重(IDW)、克里金法(Krige),自然领域法(Natural Neighbor),样条函数法(Spline),趋势面法(Trend)等,几种空间插值的对比如下:
反距离权重:通过对要处理的每个像素的邻域中的样本数据点求平均来估计单元值。该点越接近待估计的细胞中心,其在平均过程中的影响或重量就越大。
克里金法:通过一组具有z值的分散点生成估计表面的高级地统计过程。与其他插值方法不同,选择用于生成输出表面的最佳估算方法之前应对由z值表示的现象的空间行为进行全面研究。
自然邻域法:可以找到最接近查询点的输入样本的子集,并且基于用于内插的区域的大小成比例地将权重应用于样本。
样条函数法:使用最小化整个表面的曲率的数学函数来估计该值以产生刚刚经过输入点的平滑表面。
趋势面法:一种全局多项式插值方法,它将由数学函数(多项式)定义的平滑曲面拟合到输入采样点。趋势面逐渐变化并捕获数据中的粗尺度模式。
通过对钻孔数据分析和对比几种空间数据插值方法,这里选择克里金插值法作为矿山钻孔数据插值的方法。在ArcEngine二次开发环境中,克里金插值法包含于IInterpolationOp2接口下Krige方法,调用该方法加密钻孔数据,可编程实现虚拟钻孔点的动态计算,从而获得虚拟钻孔点位,进一步设置钻孔点图层数据各类信息,变异类型选择球面模型,进而将插值后所得图层以栅格的方式输出保存,钻孔数据空间插值前后对比图1和图2。
在ArcGIS中有栅格转换为TIN的功能,以此为参考思路,采用在ArcEngine开发下上述钻孔点插值后的栅格结果作为转换数据,以得到的栅格为基础生成矿山TIN表面。栅格转换为TIN:首先需要根据足够量的输入栅格点(像元中心)生成候选TIN,以便完全覆盖栅格表面的边缘,通过编译代码,设置Z容差,逐步改进TIN表面,直到符合指定的Z容差为止,为达到此效果,通过在代码迭代过程根据需求添加更多像元中心。以插值后的栅格数据生成矿体TIN表面,可较好的表达矿体地貌基本起伏,而原始钻孔数据生成的TIN表面粗糙且棱角分明,与地表实际特性差异较大。这种Kriging插值的间接使用是基于地质统计学方法,目前广泛应用于地下水模拟,地质体建设等。

Figure 1. Kriging difference setting (before interpolation)
图1. 克里金差值设置(插值前)

Figure 2. Effect diagram after interpolation (after interpolation)
图2. 插值后效果图(插值后)
2.3. 三维地层实体建模
MultiPatch是ArcGIS在9.3版本后推出的三维可视化功能模块,它是由一系列几何对象组成的,在ArcGIS数据结构中是与点、线、面平行的一种数据结构,可以表达出3D效果的对象实体,常用以模拟现实世界。在实际应用中,可通过人为的节点级控制生成多面体,通过开发接口组织有序节点生成三角形(最常见的是三角形),再拼接成多面体。该方法主要用于生成无规律三维模型,比如复杂地质体等,地质、地铁等行业需要对地层、矿产等不规则形状物体进行三维模拟。
在本文中选择采用MultiPatch作为三维建模的主要思路。主要流程如图3,在对栅格构建TIN中,以地层自然沉积顺序从地表开始往下构建,根据钻孔中Z值的变化生成不同的TIN层。提取矿山整体边界多边形并保存为shapefile,为构建三维矿体的约束条件,用该边界多边形限制各个地层TIN,在将所有满足条件的TIN创建完成后,在图层显示中依次显示各个TIN层,同时将各个TIN层拉伸合并为一体,组合成为完成的矿山三维模型。此过程中使用ArcEngine中IExtrude接口下的ExtrudeBetween方法。
3. 实例应用
实例分析
基于ArcEngine二次开发环境,结合Microsoft Visual Studio开发平台下开发的基于钻孔数据的三维可视化系统,在实际应用中的试验结果如图4所示。可较好的表达矿区地表情况,界面简单直观。使用原钻孔数据在ArcgisScene模块中构建三维模型,与实验所得效果图对比,主要地表基本和开发实验所得吻合,验证了该方法的实用性和合理性。
4. 结束语
本系统的完成,证明了这种方法的可行性,提出的方法思路可在一定程度满足工程作业要求,实现了对矿山数据整理、分析、显示等工作,具有专业性、快捷化、功能实惠、操作简单等优点,可满足稀土矿山开采前对矿区打孔、观测、科学性的指导等要求。本文拟在目前方法的基础下,对矿山三维可视化方面做进一步改善:1) 思考新的三维模型构建算法,将GIS与传统地质模型算法结合在一起,提高三维模型真实性;2) 考虑将稀土品位属性与稀土矿山三维可视化结合,进一步加强模型属性信息,切实地符合稀土矿山开采要求,进一步完善对开采工程项目的指导意义;3) 将矿山储量计算方面应用到模型中,采用渐变函数模拟矿山中离子型稀土动态变化,提高对矿山储量估测方面的准确性。