一种基于钻孔数据的快速建模方法与流程

文档序号:14217542阅读:541来源:国知局

本发明涉及基于钻孔数据的快速建模技术领域,尤其涉及一种基于钻孔数据的快速建模方法。



背景技术:

地下勘探在很多行业应用中都有很广的需求,如地下开采、地下侦查、矿物质勘探、考古等。但是地下勘探的发展受制于传统的探测技术和工具,传统的技术和工具已经很难满足当前的勘探要求,因此随着新技术的不断发展和涌现,以及国内外一些高科技的产品研发和引进,在针对地下勘探的作业上,测量工具与测量方法算法逐步趋于更加先进和便捷,势必会带动大量的新的勘探需求应用。

机载探地雷达是目前最为高效的解决危险环境或广域条件下的近地表探测问题的一种手段,用于地质勘探、军事侦察的问题。与传统钻孔探测方式相比,探测效率和探测精度有了飞速提升,传统钻孔采用间隔几十米乃至几百米的间距进行打孔采样,而机载探地雷达采用的是电磁反射信号进行地下探测,从机载中心反射到地下反馈仅需要1秒不到,它的探测间距一般都是以米为单位,而且探测到范围更宽更长,最终测得的数据将是一系列点状结构数据,机载雷达测量得到的数据在结构上和钻孔数据结构类似,因此本文中称之为类钻孔测量数据。

现阶段传统的依据钻孔数据生成地质模型的建模系统,由于技术原因对钻孔的数据格式具有一定的限制,当钻孔数据大于1000时候,建模系统基本很难由单机快速生成,往往需要采购大型计算服务器或者多机并行计算处理,对于机载探测得到的数据,往往结构上与钻孔数据相似,但是数据量是传统钻孔数据的几十甚至几百倍,传统的钻孔建模系统是无法满足机载雷达数据的地质建模,因此必须采用一种全新的地质模型处理方法,才能有效地结合机载探测数据形成精细化的真实地质三维模型。



技术实现要素:

基于背景技术存在的技术问题,本发明提出了一种基于钻孔数据的快速建模方法。

本发明提出的一种基于钻孔数据的快速建模方法,具体方法步骤如下:

s1:原始测量数据的处理,机载激光雷达测量获得的数据经过设备转出以后,是一系列ascii文本数据,通常包括机载姿态参数、测量点的坐标位置、深度信息、电磁反射时间及反射参数组成,测量点数据是相对于机载平台的相对位置数据,因此,需要根据机载平台的实时位置坐标和雷达的探测姿态数据,经过一定的变换算法,生成基于空间坐标系下的经纬度位置数据和反射参数集合的类钻孔数据格式,具体步骤如下:

第一步:定义原始测量数据结构类,依据次结构导入测量的原始数据,其中mainvalue是指原始测量数据的关键指标,系统通过mainvalue来标示模型所属的地质类型,othervalue是一个辅助的数据参数,一般在mainvalue无法独立对其该测量数据进行精确分类时进行辅助计算;

第二步:原始测量数据的导入,主要是通过遍历原始的测量数据,通常测量数据每行均以空格或者<tab>间隔,因此只需要对原始测量文件进行逐行遍历,即可对其各参数进行解析;

s2:地质分层方案的配置,地质分层是根据雷达测量得到的反射数据,结合已有的地质分类情况与反射参数进行匹配,形成一套符合当前勘探要求和实际关注的分层组织方案。通常机载雷达对地探测获得的反射数据,根据机载探测原理可知,其不同的反射率表示地下探测下的目标地质层性质不同,实际中都有一个科学的对照关系表。而实际勘探中有时候仅需要关注其中很小的几种地下地质情况,比如勘探地下水资源,仅需要关注水的反射区间、富含水地质的反射区间、贫水地质反射区间等,因此每次勘探数据的地质分层,都需要结合实际勘探目标进行配置,具体步骤如下:

第一步:获取所有钻孔数据中的mainvalue值,并对其进行排序处理,循环遍历所有钻孔数据,定义一个list<double>values用来存储所有钻孔的mainvalue数据,通过list的sort对其进行排序处理;

第二步:地质分层数据模型结构定义,分层结构主要由项目编号、图层编号、图层名称、图层所定义使用的颜色、图层的填充材质、图层符号化样式、图层类型以及图层对应的钻孔mainvalue定义的分层规则(即对应mainvalue的最小值和最大值);

s3:按分层方案生成钻孔数据,第一,将导入到系统中处理好的测量数据按照分层规则进行重新组织;第二是根据分层规则和系统设置的参数,生成三维的圆柱形(多边角柱,默认20边),并按照分层方案进行着色,采用的是以钻孔分层边界点作为圆柱体中心线,以设定的一个半径,构建一个圆柱体模型,在三维系统中,圆柱体的展示一般采用多边形近似模型,如四角柱、五角柱、六角柱、十角柱等,具体步骤如下:

第一步:定义钻孔数据结构类型,其中钻孔经纬度对应的是原始测量数据的x,y值,钻孔name默认按序号命名,钻孔z属性是原始测量数据的z坐标,钻孔的专题属性是指该钻孔对应的地质图层信息;

第二步:依据mainvalue的数值去匹配地质分层方案,将原始的测量数据,按照转为钻孔数据结构;

第三步:生成三维钻孔实体模型,由于整个算法中使用的是arcgis平台作为验证平台,因此只要加载所有生成好钻孔分层数据的list<holedetailclass>,根据每一个钻孔数据的经纬度和z值,创建生成一个三维的line对象,依次对所有的line对象进行遍历,通过arcgis平台的esri.arcgis.analyst3dtools.buffer3d,设置一个buffer_quality(表示构成质量,此处表示构成钻孔柱体圆柱截面由多少个边构成),生成一个三维的钻孔实体模型;

s4:作业区域自动提取生成,作业区域的提取是指根据雷达勘测获得到的点云数据,自动提取作业覆盖的区域范围,并结合地形地貌,生成一个作业范围的空间三维模型区域,具体步骤如下:

第一步:通过遍历所有生成的钻孔最大x、y、z坐标和最小x、y、z坐标,分别记为:xmin,ymin;zmin,xmax;ymax,zmax;

第二步:三组最大和最小的x,y,z可以组合成8个顶点,分别为p1(xmin、ymin、zmin)、p2(xmax、ymin、zmin)、p3(xmax、ymax、zmin)、p4(xmin、ymax、zmin)、p5(xmin、ymin、zmax)、p6(xmax、ymin、zmax)、p7(xmax、ymax、zmax)、p8(xmin、ymax、zmax);

第三步:依次通过arcgis将8组顶点,生成6个曲面,r1(p1,p2,p3,p4)、r2(p5,p6,p7,p8)、r3(p1,p2,p6,p5)、r4(p4,p3,p7,p8)、r5(p1,p5,p8,p4)、r6(p2,p6,p7,p3);

第四步:将6组面组合生成一个立方体模型;

s5:地质分层表面模型的建模,对原始钻孔数据进行处理、分层后,需要对钻孔数据进行插值生成边界层面,用来表示不同地质层的分界,为后续生成地质体模型,提供基础,钻孔数据时由一组自上而下的点,按照分层规则,提取得到的具有分层信息的点数据p(x,y,z,t),t表示该点的分层类型,提取同类分层的点坐标,采用自上而下的分层组织算法,实现将钻孔数据转为若干个n节点曲面(n表示钻孔个数),由于该曲面较为离散,因此,系统将通过空间插值的方法,把n节点曲面插值为连续的数据曲面,具体步骤如下:

步骤一:设定有n条钻孔数据,并且根据地质分层规则,分为k层,因此用pt[i](i=1,2,…n)表示n个钻孔,用s[j](j=1,2,..k+1)表示要生成的分界面,如地质分层为3层,共有s[1],s[2],s[3],s[4]四层分界面;

步骤二:提取所有钻孔数据顶层定点数据,作为即将生成分界面的第一层,即s[1]层;

步骤三:自上而下按地质分层进行遍历,如果分层为1,则继续向下重置新一分层的起始点,如当前分层不为1,则该分层点不向下移动,因此,下一次分层将是(3,2,2,2)而不是(3,2,3,2);

步骤四:以此类推,即可求出所有的分界面,最后得到所有的分界面;

步骤五:地层划分算法分离出了地质体各个分层面的信息,这样就得出了每个钻孔点在x,y,z处的三维坐标,给每个地层一个编号,就可以得到第i个地层在每个钻孔的x,y,z坐标,每个地层都有一个离散的数据点集,这些离散的数据点集为底层面的曲面重构提供了数据资料;

步骤六:因为传统探测中,钻孔数据有限,所以按上述分层方式得到的分界表面是由有限个点组成的多边形面,为了使得所有分界面平滑,更接近真实地形地质分层,系统通过arcgis平台中的模型分析工具中的插值工具kriging_3d,采用克里金插值方法,最终将每个分界面生成一个新的tin分层表面模型;

s6:地质实体模型的生成,具体步骤如下:

第一步:实体模型的生成主要是对两个地质分层界面间进行一个三维空间分析,实现上主要转化为对两个tin数据做一个空间拉伸运算,本次方案中主要是通过arcgis的extrudebetween_3d进行处理,该方法主要是实现通过在两个不规则三角网(tin)数据集间拉伸各输入要素创建3d要素;

第二步:经过实际试验验证,采用上述的方法生成的地质体模型是一个简单的地质体空腔模型,由于上下表层的曲率和面积不同,进而影响到上下两层边界节点也不尽相同,最终生成的地质体模型在侧面tin网格分布式会出现许多交错的叠加面,在arcgis平台分析中,若存在多个tin组成的体模型中,存在叠加的交叉面,该体模型意味着只能作为展示,而不可参与剖面分析等功能,在arcgis中表示为该模型不是一个封闭的模型,基于此在算法上进一步做了一定的改进;

第三步:由于问题出在地质分层tin模型上下表面边界结点个数不同上,因此算法中将原来有钻孔数据生成的分层tin模型,结合钻孔的作业区域,得到一个长方体后,通过引入一个计算粒度参数,将原有的上下分层tin分割为更小的计算单元后,再次按1)中的方法,将每一份边界面一一对应生成体模型;

第四步:最后生成的地质体模型是由一系列更小的体模型组合而成,这些小的体模型上下表面经过分割,经过程序分析统计,将原来的交叉面从原来的大的体模型,逐渐被压缩到一个很小的体模型之中,整个小的体模型受计算粒度参数影响;

第五步:理论上只要整个计算粒度参数足够小,生成的体模型精度越好,最后受影像的体模型也足够小,以至可以忽略,但是在计算机处理中,若计算粒度参数太小,则系统生成小的体模型时将会消耗更长的实际,本次系统中,也是通过该参数来实现最终生成体模型的快速生成和精确生成。在软件使用中,根据实际的建模精度要求,进行选择合适的计算粒度;

第六步:通过引入计算粒度参数,解决了绝大多数体模型的封闭性,但对于仍然存在的不封闭的体模型,还是无法参与arcgis提供的分析功能,再次算法中采用了一个tin重构的环节,就是将最后生成的不封闭的体模型,通过遍历构成其上下面和侧面的tin表面,将出错的交叉面进行手工剔除,最后实现生成一个封闭的体模型,彻底解决该不封闭体模型的问题,(该重构算法适应于构成表面节点少的tin模型,不适合对于原先的整个体模型的重构);

第七步:整个地质实体模型的生成,系统采用arcgis提供的moderbuilder工具生成,通过输入计算粒度参数,各个地质表面tin分层自动依次构建分层体模型。

优选地,s6中第一步arcgis的extrudebetween_3d进行处理方法为:采用arcgis平台中的模型分析工具,采用克里金插值方法,通过设置相应的精度参数,插值生成地质分层tin分层模型,生成好按地质类型分层的tin模型后,系统对相邻的两个分层tin进行建立垂直的tin模型,利用相邻上下两面的tin和垂直的周边tin,形成地质体的上下表面和侧面tin网表示的体模型表面。

优选地,s3第二步中原始测量数据保存,原始测量数据以表格形式存放在本地工程文件数据库中,每一个测量点均为一条数据记录,三维钻孔数据则在本地是以数据图层格式存在,系统采用arcgis的mulipatch格式对数据进行组织,实现三维钻孔模型的保存。

本发明中的有益效果:

1、提出了电磁数据转化为类钻孔数据的解决方法和实现算法。

2、实现雷达勘探的地下反射数据,结合理论分层规则对类钻孔数据进行分层设置的自由配置,实现点云数据的电磁特性向地质模型的匹配对应。

3、实现了根据钻孔的分层情况,插值并生成地质不同分层的分层表面三维模型,同时算法中引入模型精度系数因子,实现对模型精度和生成时间进行控制。

4、解决海量钻孔数据建模工作,实现大面积地下模型数据的处理,提高传统作业效率。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明提出的原始测量数据的处理的示意图;

图2为本发明提出的地质分层方案的配置的示意图;

图3为本发明提出的按分层方案生成钻孔数据的示意图;

图4为本发明提出的tin分层表面模型示意图;

图5为本发明提出的边界层面图;

图6为本发明提出的空间三维模型区域图。

具体实施方式

下面结合具体实施例对本发明作进一步解说。

参照图1-6,实施例1,

一种基于钻孔数据的快速建模方法,具体方法步骤如下:

s1:原始测量数据的处理,机载激光雷达测量获得的数据经过设备转出以后,是一系列ascii文本数据,通常包括机载姿态参数、测量点的坐标位置、深度信息、电磁反射时间及反射参数组成,测量点数据是相对于机载平台的相对位置数据,因此,需要根据机载平台的实时位置坐标和雷达的探测姿态数据,经过一定的变换算法,生成基于空间坐标系下的经纬度位置数据和反射参数集合的类钻孔数据格式,具体步骤如下:

第一步:定义原始测量数据结构类,依据次结构导入测量的原始数据,其中mainvalue是指原始测量数据的关键指标,系统通过mainvalue来标示模型所属的地质类型,othervalue是一个辅助的数据参数,一般在mainvalue无法独立对其该测量数据进行精确分类时进行辅助计算;

第二步:原始测量数据的导入,主要是通过遍历原始的测量数据,通常测量数据每行均以空格或者<tab>间隔,因此只需要对原始测量文件进行逐行遍历,即可对其各参数进行解析;

s2:地质分层方案的配置,地质分层是根据雷达测量得到的反射数据,结合已有的地质分类情况与反射参数进行匹配,形成一套符合当前勘探要求和实际关注的分层组织方案。通常机载雷达对地探测获得的反射数据,根据机载探测原理可知,其不同的反射率表示地下探测下的目标地质层性质不同,实际中都有一个科学的对照关系表。而实际勘探中有时候仅需要关注其中很小的几种地下地质情况,比如勘探地下水资源,仅需要关注水的反射区间、富含水地质的反射区间、贫水地质反射区间等,因此每次勘探数据的地质分层,都需要结合实际勘探目标进行配置,具体步骤如下:

第一步:获取所有钻孔数据中的mainvalue值,并对其进行排序处理,循环遍历所有钻孔数据,定义一个list<double>values用来存储所有钻孔的mainvalue数据,通过list的sort对其进行排序处理,arcgis的extrudebetween_3d进行处理方法为:采用arcgis平台中的模型分析工具,采用克里金插值方法,通过设置相应的精度参数,插值生成地质分层tin分层模型,生成好按地质类型分层的tin模型后,系统对相邻的两个分层tin进行建立垂直的tin模型,利用相邻上下两面的tin和垂直的周边tin,形成地质体的上下表面和侧面tin网表示的体模型表面;

第二步:地质分层数据模型结构定义,分层结构主要由项目编号、图层编号、图层名称、图层所定义使用的颜色、图层的填充材质、图层符号化样式、图层类型以及图层对应的钻孔mainvalue定义的分层规则(即对应mainvalue的最小值和最大值);

s3:按分层方案生成钻孔数据,第一,将导入到系统中处理好的测量数据按照分层规则进行重新组织;第二是根据分层规则和系统设置的参数,生成三维的圆柱形(多边角柱,默认20边),并按照分层方案进行着色,采用的是以钻孔分层边界点作为圆柱体中心线,以设定的一个半径,构建一个圆柱体模型,在三维系统中,圆柱体的展示一般采用多边形近似模型,如四角柱、五角柱、六角柱、十角柱等,具体步骤如下:

第一步:定义钻孔数据结构类型,其中钻孔经纬度对应的是原始测量数据的x,y值,钻孔name默认按序号命名,钻孔z属性是原始测量数据的z坐标,钻孔的专题属性是指该钻孔对应的地质图层信息;

第二步:依据mainvalue的数值去匹配地质分层方案,将原始的测量数据,按照转为钻孔数据结构,原始测量数据以表格形式存放在本地工程文件数据库中,每一个测量点均为一条数据记录,三维钻孔数据则在本地是以数据图层格式存在,系统采用arcgis的mulipatch格式对数据进行组织,实现三维钻孔模型的保存;

第三步:生成三维钻孔实体模型,由于整个算法中使用的是arcgis平台作为验证平台,因此只要加载所有生成好钻孔分层数据的list<holedetailclass>,根据每一个钻孔数据的经纬度和z值,创建生成一个三维的line对象,依次对所有的line对象进行遍历,通过arcgis平台的esri.arcgis.analyst3dtools.buffer3d,设置一个buffer_quality(表示构成质量,此处表示构成钻孔柱体圆柱截面由多少个边构成),生成一个三维的钻孔实体模型;

s4:作业区域自动提取生成,作业区域的提取是指根据雷达勘测获得到的点云数据,自动提取作业覆盖的区域范围,并结合地形地貌,生成一个作业范围的空间三维模型区域,具体步骤如下:

第一步:通过遍历所有生成的钻孔最大x、y、z坐标和最小x、y、z坐标,分别记为:xmin,ymin;zmin,xmax;ymax,zmax;

第二步:三组最大和最小的x,y,z可以组合成8个顶点,分别为p1(xmin、ymin、zmin)、p2(xmax、ymin、zmin)、p3(xmax、ymax、zmin)、p4(xmin、ymax、zmin)、p5(xmin、ymin、zmax)、p6(xmax、ymin、zmax)、p7(xmax、ymax、zmax)、p8(xmin、ymax、zmax);

第三步:依次通过arcgis将8组顶点,生成6个曲面,r1(p1,p2,p3,p4)、r2(p5,p6,p7,p8)、r3(p1,p2,p6,p5)、r4(p4,p3,p7,p8)、r5(p1,p5,p8,p4)、r6(p2,p6,p7,p3);

第四步:将6组面组合生成一个立方体模型;

s5:地质分层表面模型的建模,对原始钻孔数据进行处理、分层后,需要对钻孔数据进行插值生成边界层面,用来表示不同地质层的分界,为后续生成地质体模型,提供基础,钻孔数据时由一组自上而下的点,按照分层规则,提取得到的具有分层信息的点数据p(x,y,z,t),t表示该点的分层类型,提取同类分层的点坐标,采用自上而下的分层组织算法,实现将钻孔数据转为若干个n节点曲面(n表示钻孔个数),由于该曲面较为离散,因此,系统将通过空间插值的方法,把n节点曲面插值为连续的数据曲面,具体步骤如下:

步骤一:设定有n条钻孔数据,并且根据地质分层规则,分为k层,因此用pt[i](i=1,2,…n)表示n个钻孔,用s[j](j=1,2,..k+1)表示要生成的分界面,如地质分层为3层,共有s[1],s[2],s[3],s[4]四层分界面;

步骤二:提取所有钻孔数据顶层定点数据,作为即将生成分界面的第一层,即s[1]层;

步骤三:自上而下按地质分层进行遍历,如果分层为1,则继续向下重置新一分层的起始点,如当前分层不为1,则该分层点不向下移动,因此,下一次分层将是(3,2,2,2)而不是(3,2,3,2);

步骤四:以此类推,即可求出所有的分界面,最后得到所有的分界面;

步骤五:地层划分算法分离出了地质体各个分层面的信息,这样就得出了每个钻孔点在x,y,z处的三维坐标,给每个地层一个编号,就可以得到第i个地层在每个钻孔的x,y,z坐标,每个地层都有一个离散的数据点集,这些离散的数据点集为底层面的曲面重构提供了数据资料;

步骤六:因为传统探测中,钻孔数据有限,所以按上述分层方式得到的分界表面是由有限个点组成的多边形面,为了使得所有分界面平滑,更接近真实地形地质分层,系统通过arcgis平台中的模型分析工具中的插值工具kriging_3d,采用克里金插值方法,最终将每个分界面生成一个新的tin分层表面模型;

s6:地质实体模型的生成,具体步骤如下:

第一步:实体模型的生成主要是对两个地质分层界面间进行一个三维空间分析,实现上主要转化为对两个tin数据做一个空间拉伸运算,本次方案中主要是通过arcgis的extrudebetween_3d进行处理,该方法主要是实现通过在两个不规则三角网(tin)数据集间拉伸各输入要素创建3d要素;

第二步:经过实际试验验证,采用上述的方法生成的地质体模型是一个简单的地质体空腔模型,由于上下表层的曲率和面积不同,进而影响到上下两层边界节点也不尽相同,最终生成的地质体模型在侧面tin网格分布式会出现许多交错的叠加面,在arcgis平台分析中,若存在多个tin组成的体模型中,存在叠加的交叉面,该体模型意味着只能作为展示,而不可参与剖面分析等功能,在arcgis中表示为该模型不是一个封闭的模型。基于此在算法上进一步做了一定的改进;

第三步:由于问题出在地质分层tin模型上下表面边界结点个数不同上,因此算法中将原来有钻孔数据生成的分层tin模型,结合钻孔的作业区域,得到一个长方体后,通过引入一个计算粒度参数,将原有的上下分层tin分割为更小的计算单元后,再次按1)中的方法,将每一份边界面一一对应生成体模型;

第四步:最后生成的地质体模型是由一系列更小的体模型组合而成,这些小的体模型上下表面经过分割,经过程序分析统计,将原来的交叉面从原来的大的体模型,逐渐被压缩到一个很小的体模型之中,整个小的体模型受计算粒度参数影响;

第五步:理论上只要整个计算粒度参数足够小,生成的体模型精度越好,最后受影像的体模型也足够小,以至可以忽略,但是在计算机处理中,若计算粒度参数太小,则系统生成小的体模型时将会消耗更长的实际,本次系统中,也是通过该参数来实现最终生成体模型的快速生成和精确生成,在软件使用中,根据实际的建模精度要求,进行选择合适的计算粒度;

第六步:通过引入计算粒度参数,解决了绝大多数体模型的封闭性,但对于仍然存在的不封闭的体模型,还是无法参与arcgis提供的分析功能,再次算法中采用了一个tin重构的环节,就是将最后生成的不封闭的体模型,通过遍历构成其上下面和侧面的tin表面,将出错的交叉面进行手工剔除,最后实现生成一个封闭的体模型,彻底解决该不封闭体模型的问题。(该重构算法适应于构成表面节点少的tin模型,不适合对于原先的整个体模型的重构);

第七步:整个地质实体模型的生成,系统采用arcgis提供的moderbuilder工具生成,通过输入计算粒度参数,各个地质表面tin分层自动依次构建分层体模型。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1