CN116109783A - 一种露天矿场三维开采规划***及方法 - Google Patents
一种露天矿场三维开采规划***及方法 Download PDFInfo
- Publication number
- CN116109783A CN116109783A CN202211444812.6A CN202211444812A CN116109783A CN 116109783 A CN116109783 A CN 116109783A CN 202211444812 A CN202211444812 A CN 202211444812A CN 116109783 A CN116109783 A CN 116109783A
- Authority
- CN
- China
- Prior art keywords
- model
- data
- edge
- point
- cutting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000005065 mining Methods 0.000 title claims abstract description 54
- 238000005520 cutting process Methods 0.000 claims abstract description 157
- 230000006870 function Effects 0.000 claims abstract description 56
- 239000003245 coal Substances 0.000 claims abstract description 30
- 238000012800 visualization Methods 0.000 claims abstract description 20
- 229910052792 caesium Inorganic materials 0.000 claims abstract description 15
- TVFDJXOCXUVLDH-UHFFFAOYSA-N caesium atom Chemical compound [Cs] TVFDJXOCXUVLDH-UHFFFAOYSA-N 0.000 claims abstract description 15
- 230000000694 effects Effects 0.000 claims abstract description 7
- 238000000605 extraction Methods 0.000 claims abstract description 6
- 238000005553 drilling Methods 0.000 claims description 30
- 238000006243 chemical reaction Methods 0.000 claims description 26
- 238000011161 development Methods 0.000 claims description 22
- 239000013598 vector Substances 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 230000004927 fusion Effects 0.000 claims description 11
- 238000013499 data model Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 claims description 8
- 238000005096 rolling process Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 6
- 238000012946 outsourcing Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 238000003491 array Methods 0.000 claims description 3
- 238000013501 data transformation Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 238000000844 transformation Methods 0.000 claims description 3
- 238000013481 data capture Methods 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 2
- 238000013507 mapping Methods 0.000 abstract description 2
- 238000012552 review Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 229910052500 inorganic mineral Inorganic materials 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000011707 mineral Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06313—Resource planning in a project environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/02—Agriculture; Fishing; Forestry; Mining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Educational Administration (AREA)
- Agronomy & Crop Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biodiversity & Conservation Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Animal Husbandry (AREA)
- Marine Sciences & Fisheries (AREA)
- Mining & Mineral Resources (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明设计一种露天矿场三维开采规划***及方法;基于Cesium构建的露天矿场可视化***,将整个矿场进行可视化处理,实现了矿场地上地下数据一体化展示,并进行了一系列辅助开采功能上的开发;填补了国内露天矿场地上地下数据一体化***的空白;地上实际场景与地下地质模型的准确映射,直观的展现出整个露天矿场的全局情况,简洁高效的掌握矿场实际情况;在将模型可视化的基础上,将模型显示、模型信息提取、模型切割等多种实际应用性功能添加入***中;可以根据开采需求进行地上地下模型的整体切割规划,查看切割模型结果以及出煤量,对开采规划起到了很好的辅助作用;对于历史切割记录,可以进行回滚查看,方便查阅。
Description
技术领域
本发明属于智慧矿山、露天矿场数字孪生领域,具体涉及一种露天矿场三维开采规划***及方法。
背景技术
我国矿产资源种类丰富,储量充足,但随着国民经济发展的速度不断提升,企业生产经营过程中对矿产资源的需求也不断提高。伴随信息科技的不断发展,传统行业的智能化、信息化和数字化进程加快,智慧矿山的概念随之而来。露天矿场***是以实际开发的矿山为原型,通过融合人工智能、矿业技术等有关技术和专业知识构建的信息工程。在我国实际的矿业开发过程中,还没有普遍结合自动化、科技化的技术运用于采矿中,且技术水平还不够先进,无法实现协同矿山地上地下模型状况一体化规划。露天矿场可视化***的出现,为推动采矿行业的技术革新发展,开展科学、精确、高效的矿业开发规划工作具有重大的意义。
矿山***大多数都在沿用早期基于AutoCAD、Unity3D等软件进行半开发的***。首先,类似AutoCAD的软件存在版权和功能上的限制,导致***存在版权上的限制,并且只能在软件限定的功能上进行开发,对地下地质数据建模,无法普及应用。其次,国外软件存在信息安全隐患,国内的采矿***都需要安装在安全、不联网、不开放的电脑中,所以必须要基于开源平台,从底层开发的***才能应用于国内。目前,国内尚未出现针对露天矿场地表数据和地下地质数据匹配融合的可视化开采规划***。
中国专利“CN113450019 A一种基于三维激光扫描的矿场调度方法及***。它构建了矿场巷道三维实体模型,根据矿场巷道三维实体模型匹配工作车辆与人员;通过三维激光扫描建立矿场巷道三维实体模型,配合处理装置完成各种设备的调度。该发明对采集矿场巷道进行了三维重建,但是没有对地表场景数据进行可视化,同时矿场模型开采之后无法实时更新。
中国专利“CN 103392192 A集成地形建模***”所述的***实现方法:首先使用不同摄影测量设备进行大地数据测量,格式化储存为第一格式数据,再使用其它设备进行补充测量保存为第二格式数据,将两种格式数据通过无线传输送到中央服务器,处理成为通用格式数据,用于地形模型的建模和更新。这套***只侧重于对大地表面数据的搜集与建模,形成地形模型,只能用于可视化显示,缺少交互管理功能。
Cesium是一个能够多平台、多浏览器的显示三维模型的开源平台,并且能够利用WebGL来进行图形展示与绘制,应用时不需要任何插件的支持,但是其web浏览器必须支持WebGL,同时Cesium是基于Apache2.0许可的开源程序,可以免费进行商用或者是是非商业用途,所以Cesium对比其他付费开发软件还是有很大的开发优势。
三维数据对于建立三维地质模型起着关键的作用。通过对矿山钻孔数据进行处理,并用来建立三维地质模型是最快捷、准确获得完整详细地质信息的方法。BPA(滚球算法)是一种用于对三维点云进行表面重建的算法。BPA的实现原理如下:指定了半径的球接触到三个点云点,而不包含任何其他点,则三个点形成三角形。从一个种子三角形开始,球围绕一条边旋转(即它围绕边旋转,同时与边的端点保持接触),直到它接触到另一个点,形成另一个三角形。该过程将继续,直到尝试了所有可到达的边,然后从另一个种子三角形开始,直到考虑了所有点。然后,可以用半径更大的球重复该过程,以处理不均匀的采样密度。与现有技术相比,BPA所需的相对较少的内存量、时间效率和获得的结果质量都非常好。
国外的三维地质建模软件虽效果较好,但是价格昂贵且存在信息安全隐患。国内在露天矿场信息化建设方面发展较慢,只注重地下地质模型的三维建模或者地表数据的采集展示,尚未出现露天矿场地上地下一体化***,导致行业发展受到很大程度的限制。本发明研究的露天矿场三维一体化开采规划方法及装置填补了这块空白,真正做到了地表数据与地下地质数据深度融合,辅助使用者协同规划整体矿场开采的功能。
发明内容
针对现有技术的不足,本发明设计一种露天矿场三维开采规划***及方法。
一种露天矿场三维开采规划***为三层架构:基础数据层、开发层及用户展示层;其中用户展现层具有最高的层级,负责为使用者呈现***的操作界面以及用户操作的反馈结果;开发层具有中等的层级,负责调用底层的基础数据层实现相应的功能,反馈给展现层为用户进行呈现;基础数据层是***的底层,负责配合实现开发层的各功能,并将结果返回到用户展示层;
所述***用户展示层的实现模块为用户交互模块;用户交互模块调用开发层中的模块有地上模型可视化模块、地下模型可视化模块、用户操作解析模块;其中地上可视化模块调用基础数据层模块有无人机数据格式转换模块和钻井数据坐标转换;地下可视化模块调用钻井数据预处理模块、三维点云重建模块和三角网格缝合模块;用户操作解析模块调用模型切割模块、煤量计算模块和历史模型回滚模块;
一种露天矿场三维开采规划方法,基于上述一种露天矿场三维开采规划***实现,具体流程如下:
步骤1:获取矿场地表和地下数据;
为获取露天矿厂地表现实信息数据,使用无人机采用倾斜摄影的方式对露天矿厂进行拍摄,获取数据保存为OSGB格式;
通过矿场实地钻井获取该点的地质数据信息作为地下数据;并且使用MySQL数据库存储地下数据信息,为每个钻井点的地质数据建立一张表,所有表没有父子关系,为同级存储;
步骤2:使用无人机数据格式转换模块和钻井数据坐标转换模块,建立地上数据模型和地下数据模型;
步骤2.1:使用无人机数据格式转换模块,利用CesiumLab模型转换功能将无人机倾斜摄影数据转换为Cesium平台适配的3DTiles三维瓦片模型,该模型作为所述***中显示的地上模型,导入***进行显示;
地表倾斜摄影数据格式转换具体步骤如下所示:
步骤S1:整理倾斜摄影数据文件结构,数据目录设置Data目录的总入口,Data目录同级放置.xml文件用来记录模型的位置信息;
步骤S2:在cesiumLab中选择数据转换中的倾斜摄影转换osgb至json;
步骤S3:转换之后输出为3dtiles数据格式,目录结构为一系列瓦片文件夹及一个整体json文件。
步骤2.2:通过钻井数据坐标转换模块,将钻井坐标数据转换为世界地理坐标的经纬度;使用python爬虫对EPSG.io网站进行数据抓取,通过对EPSG.io网站的transform接口实现钻井坐标批量转换为经纬度坐标,将经纬度坐标与地上模型配准,并显示在所述***中;
步骤3:对地下数据模型进行处理;
使用钻井数据预处理模块,读取MySQL数据库内容,遍历各个钻孔点的数据信息,提取不同地质层在各点处的三维坐标信息,分别保存;使用python库函数将,将原始的三维点数据进行边缘提取,差值填充,边缘裁剪,最后将处理后的三维点数据保存为点云数据格式,获得多个地质层的点云数据;
步骤4:基于步骤3得到的点云数据,采用上下表面分别曲面重建,再进行侧面缝合的方法,建立整体三维模型;
使用点云法线估算函数,分别计算不同地质层点云数据的法向量,存储在点云数据中;使用三维点云重建模块,采用BPA滚球重建算法,对地质层点云数据的上下表面分别进行曲面重建,生成三角网格模型,保存三角网格模型数据;使用三角网格缝合模块,首先遍历三角网格模型数据中三角面片的边,找出只使用过一次的边作为三角网格模型的边缘边,记录边缘边所在的顶点作为边缘点,保存在数组中;选定某个位置作为起始位置,该位置对应的上下表面处的边缘点分别作为各自的起始点,将边缘点顺时针排序,形成闭环;创建四个指针,分别指向上下表面边缘点数组的第一和第二个边缘点,用指针指向的四个边缘点,组成两个顺时针的三角面片,将其三角关系添加进三角网格模型数据中;之后四个指针分别自增一位,指向后续边缘点,直至遍历完所有边缘点,完成侧面缝合功能,形成闭合完整的三维地质层模型;重复上述地质层三维重建操作,得到多个地质层的三维模型。
使用三维点云重建模块,具体过程如下:
步骤S1:利用Open3d模块的estimate_normals()函数对点云进行点法向量的估计,其参数涉及估计半径radius和估计面的最大数据点数max_nn,由于面绘制模型只渲染显示法向量方向,所以需要调整下表面法向量,指向与上表面相反方向,即保证其与Z轴的夹角为钝角;
步骤S2:分别对上下表面点云采用滚球算法进行曲面重建,生成三角网格模型;
步骤S3:将上下表面的三角网格数据合并,进行配准后保存;
步骤S4:调用三角网格模型缝合模块对重建后的上下表面进行缝合,形成完整闭合模型;
三角网格缝合模块具体实现过程如下:
步骤S1:扫描三角网格模型所有的边,如果一条边被两个三角片共用,继续扫描;如果一条边只被一个三角片使用,则将其标记为边缘边,存储在边缘边数组中;
步骤S2:扫描边缘边数组,取数组第一个元素即一条边,将其两个端点的编号按照由大到小顺序存储在边缘点数组中,同时,将第一条边标记为已访问;
步骤S3:扫描边缘边数组,寻找这样一条边,它的第一个端点的编号等于边缘点数组最后一个元素的编号;如果找到了,则将该边第二个端点的编号加入边缘点数组,并将该边标记为已访问;如果没有找到则跳转步骤S5;
步骤S4:重复步骤S3;
步骤S5:重复步骤S2到步骤S4,第一次将边缘点保存于上表面边缘点数组中,第二次将边缘点保存于下表面边缘点数组中;至此,上述两个数组中各自存储了上下曲面的边缘点,在每个数组中,每两个相邻的边缘点,它们之间在三角网格模型上都有一条将它们直接相连的边,且数组的第一个元素对应的编号等于最后一个元素对应的编号,收尾连接闭合成环;
步骤S6:对上表面边缘点数组,设置两个指针,分别指向上表面边缘数组第一个和第二个点;对下表面边缘点数组,设置两个指针,分别指向下表面边缘数组第一个和第二个点;
步骤S7:利用上述四个指针连接形成两个顺时针的三角面片,借助append()函数添加到三角网格模型的triangles属性当中;四个指针同时自增一位,指向后续边缘点;
步骤S8:如果第二个指针位置小于边缘点数组的长度,重复步骤S7;否则,转步骤S9;
步骤S9:缝合完成,输出模型;
根据三维坐标信息,对多层地质模型进行配准,形成多层地质模型组成的完整矿场地下三维模型;
步骤5:将完整矿场地下三维模型与步骤2得到的地上模型导入整体***中;实现地上场景与地下地质模型一体化显示和全面可视化;
将完整的地下三维模型导入***中,与地上模型进行配准融合,实现地上地下模型整体显示,得到了地上地下融合模型;用户在地上地下融合模型上进行交互操作;调用模型切割模块,在***中视角自动锁定俯视角,通过点击鼠标,确定顶点,划定多边形切割区域,并指定切割深度,点击开始切割;将切割区域的顶点坐标和切割深度保存为切割区域坐标文件,传递至地下模型切割部分;通过删除地上模型多边形区域内地上模型数据完成切割;
通过读取切割区域坐标文件,获得地下模型切割区域信息;通过射线法判断三角网格模型中的顶点是否在切割区域内,分别通过数组记录保存;若三角面片三点全部在切割区域内,则将其删除;若全在切割区域外,则不做处理;若部分在切割区域内,则通过面片剖分法,将三角面片进行破碎,删除掉切割区域内部分,并将切割区域外部分重新组成小三角面片添加进三角网格模型中;通过删除地下模型多边形区域指定深度内地下地质模型的三角面片,形成空洞,达到切除效果;
调用三角网格缝合模块,寻找到空洞处的边缘边,得到边缘点,进行排序形成闭环,通过四个指针,添加顺时针三角面片到三角网格模型,完成切割区域侧面的缝合,保证被切割地下三维模型闭合完整;
将切割完成的地上地下模型返回到***显示界面,完成模型的更新,并以时间命名模型,方便历史回滚操作;
使用模型切割模块,具体步骤如下所示:
步骤S1:点击功能菜单栏中的绘制切割面,此时会锁定切割视角为正俯视;
步骤S2:在地上模型使用左键点击,画出一个闭合多边形,最后点击右键会结束绘制切割面;此时地表模型会出现一个镂空多边形;
步骤S3:在弹出的切割深度界面输出需要切割的深度,点击确定即可结束切割事件;
步骤S4:将切割操作生成的txt文件保存到该项目根目录的data文件夹之下;
步骤S5:根据步骤四划定区域最小和最大的经纬度确定其外包矩形,判断输入的点是否在外包矩形内,如果不在,函数直接返回False;如果在,则按照以下步骤进行判断:
步骤S6:设置变量cut并初始化为零,表示过该点的射线经过闭合多边形的边的条数;
步骤S7:按照顺序选取用户选定区域的一条边,判断该边的两个端点是否分别位于过函数输入点的水平线两侧,如果端点与该水平线重合,则判定为位于该水平线上侧,如果不在,不做任何处理;如果在,则求该水平线与当前边的交点,若该交点的经度大于或等于输入点的经度,则变量自增1;
步骤S8:重复步骤七直至遍历完所有的边;
步骤S9:如果cnt的值为奇数,函数返回True,表面该点位于切割区域内部;否则返回False;判定获得True返回值的点将被存储到删除点数组;
步骤S10:在确定好所有位于切割区域内部的点后,遍历三角网格模型的triangles属性,若没有顶点存在于删除点数组,不做处理;若有三角片的三个顶点均存在于删除点数组当中,则将该三角片删去;若一个顶点或两个顶点位于删除点数组中,转步骤S12;
步骤S11:重复步骤S9,直至遍历完所有三角片转步骤S13;
步骤S12:根据被切割三角形和切割区域的三维坐标值,判断相交的切割区域边。根据面片剖分法,计算切割边与三角形的两个交点,将切割区域内的顶点删除,添加两交点进model模型的顶点数组;若有两个顶点位于切割区域内,则切割区域外顶点与两交点顺时针组成三角形;若有一个顶点位于切割区域内,则两交点分别与切割区域外两顶点顺时针组成三角形;最后将model模型中被切割三角形的三角网格数据删除,将新生成的三角形加入;
步骤S13:调用三角网格模型缝合模块,对模型切割区域侧面进行缝合,保证三维模型的闭合。
步骤S14:在QT界面点击地下部分的开始切割按钮,等待结束,会生成该切割操作对应的整体模型以及分层模型;
步骤S15:点击web界面的刷新按钮,即可将新模型加载显示到项目中;
地下模型切割删除指定区域内三角面片后,调用煤量计算模块,根据切割区域面积和切割深度,寻找煤层的被切割部分。利用积分方法,将被切割煤层区域以三角面片分割,依据切割深度,形成一个个三棱柱,分别计算各个三棱柱体积,将其累加得到切割区域的煤层体积,并将计算数据返回,在***中显示;
煤量计算模块,具体工作方式如下:
步骤S1:已知三角片三个顶点的坐标可以计算得到三角形的面积,分别以上下表面三角片三个顶点的中心位置的z坐标值,上下表面中心位置坐标相减后取绝对值得到该三棱柱近似的高度值;
步骤S2:计算三角面片在xy平面上投影的面积;
步骤S3:将步骤S2中三角形面积与三角片的面积相乘得到该三棱柱的近似体积,并累加;
调用历史回滚模块,自动打开历史模型保存文件夹,历史模型以更新时间命名。选择想要查看历史模型,重新导入后,在***进行查看;
历史回滚模块,具体步骤如下所示:
步骤S1:点击功能菜单栏中的历史模型,在项目中选择model文件夹;
步骤S2:选择想要展示的历史切割模型或者历史探测模型,此时会同时将对应的分层模型及整体模型加载进来;
步骤S3:点击整体模型和分层模型的切换,分别查看历史模型的结果。
本发明有益技术效果:
本发明提供了一种露天矿场三维开采规划***及方法,基于Cesium构建的露天矿场可视化***,将整个矿场进行可视化处理,实现了矿场地上地下数据一体化展示,并进行了一系列辅助开采功能上的开发。填补了国内露天矿场地上地下数据一体化***的空白。地上实际场景与地下地质模型的准确映射,直观的展现出整个露天矿场的全局情况,简洁高效的掌握矿场实际情况。在将模型可视化的基础上,将模型显示、模型信息提取、模型切割等多种实际应用性功能添加入***中。可以根据开采需求进行地上地下模型的整体切割规划,查看切割模型结果以及出煤量,对开采规划起到了很好的辅助作用。对于历史切割记录,可以进行回滚查看,方便查阅。
实现了露天矿场地上场景与地下地质模型一体化显示,实现了露天矿场的全面可视化,直观的反映出矿场的真实信息。地上倾斜摄影模型与地下点云三维重建模型基于开源平台cesium进行可视化展示,两种不同的模型在Cesium上同时加载显示,克服了很多平台无法同时显示不同种类模型的难题。同时,隐式转换地上无人机点云数据与地下三维重建模型的坐标,实现了地上数据与地下数据一一对应,方便地上地下整体***数据的传递和处理。
针对扁平点云数据整体三维重建时出现重叠、空洞和穿模等问题,提出先对上下表面点云数据进行曲面重建,再将侧面缝合补齐的方法,实现整体模型的重建。该方法解决了传统点云三维重建过程中,扁平点云数据因上下表面数据点距离过近产生重建错误问题,保证了模型重建的完整性和准确性。
不同于现有的可视化***,只注重地表采集数据或者地下地质建模数据,本发明真正做到了地表数据与地下地质数据深度融合,直观的掌握地表数据与地下地质数据,极大地提高了***信息传达效率,更好地辅助整体协同规划,制定更加合理的开采计划,进一步提高提高了传统露天矿场的信息化水平和生产效率,有效扩大了企业经济效益。
附图说明
图1本发明实施例一种露天矿场三维开采规划***架构图;
图2本发明实施例一种露天矿场三维开采规划***总体技术路线图;
图3本发明实施例一种露天矿场三维开采规划***及方法提取煤层数据功能流程图;
图4本发明实施例一种露天矿场三维开采规划***及方法表面重建流程图;
图5本发明实施例一种露天矿场三维开采规划***及方法点云缝合流程图;
图6本发明实施例一种露天矿场三维开采规划***及方法模型切割操作示意图;
图7本发明实施例整体模型切割及煤量预测结果;
图8本发明实施例一种露天矿场三维开采规划***及方法历史回滚操作示意图。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。
一种露天矿场三维开采规划***为三层架构:基础数据层、开发层及用户展示层;其中用户展现层具有最高的层级,负责为使用者呈现***的操作界面以及用户操作的反馈结果;开发层具有中等的层级,负责调用底层的基础数据层实现相应的功能,反馈给展现层为用户进行呈现;基础数据层是***的底层,负责配合实现开发层的各功能,并将结果返回到用户展示层;
在明晰***的总体架构之后,需要根据总体架构中的层级划分设计对应的功能模块实现相应功能。在设计功能模块的过程中要注意提升模块的复用性,确认合适的模块分解粒度,以免造成粒度过大时单个模块太过臃肿,粒度过小时模块数量太多,难以组织等问题。遵循以上原则;
所述***用户展示层的实现模块为用户交互模块;用户交互模块调用开发层中的模块有地上模型可视化模块、地下模型可视化模块、用户操作解析模块;其中地上可视化模块调用基础数据层模块有无人机数据格式转换模块和钻井数据坐标转换;地下可视化模块调用钻井数据预处理模块、三维点云重建模块和三角网格缝合模块;用户操作解析模块调用模型切割模块、煤量计算模块和历史模型回滚模块;***各模块之间的组织关系如图1所示。
一种露天矿场三维开采规划方法,基于上述一种露天矿场三维开采规划***实现,总体技术路线流程图如图2所示,具体流程如下:
步骤1:获取矿场地表和地下数据;
为获取露天矿厂地表现实信息数据,使用无人机采用倾斜摄影的方式对露天矿厂进行拍摄,获取数据保存为OSGB格式;
通过矿场实地钻井获取该点的地质数据信息作为地下数据;根据露天矿厂实际区域,间隔50m进行一次钻井作业,特殊区域可缩小间隔至20m钻井,提取地下数据信息。
并且使用MySQL数据库存储地下数据信息,为每个钻井点的地质数据建立一张表,所有表没有父子关系,为同级存储;
步骤2:使用无人机数据格式转换模块和钻井数据坐标转换模块,建立地上数据模型和地下数据模型;
本***中地上模型数据及地下模型数据都无法直接在Cesium引擎上进行加载显示,需要对这些模型文件格式进行转换,以适配Cesium引擎。无人机原始数据格式为OSGB格式,属于倾斜摄影文件,本***使用的Cesium引擎无法加载该数据文件格式。在Cesium上加载需要转换成Cesium平台适配的格式,包括B3DM模型格式、I3DM模型格式,本文应用B3DM格式文件,利用CesiumLab内置模型转换功能进行模型格式转换,将.osgb倾斜模型切片数据转换为3DTiles三维瓦片数据。
地表倾斜摄影数据格式转换具体步骤如下所示:
步骤S1:整理倾斜摄影数据文件结构,数据目录设置Data目录的总入口,Data目录同级放置.xml文件用来记录模型的位置信息;
步骤S2:在cesiumLab中选择数据转换中的倾斜摄影转换osgb至json;
步骤S3:转换之后输出为3dtiles数据格式,目录结构为一系列瓦片文件夹及一个整体json文件。
EPSG是对全球的不同位置绘制了详细的地图,但是因为坐标系不同,所以EPSG设定了不同的编号来代表不同的坐标系,这个变化被称为EPSG code,它代表特定的椭球体、单位、地理坐标系或投影坐标系等信息,例如著名的GPS***为EPSG:4326,坐标单位为经纬度。以地球质心为椭球中心的世界地理坐标系。EPSG开发团队对其进行维护并发布坐标参照***的数据集参数,坐标转换说明等操作,由于EPSG数据集被广泛应用,可以利用web发布平台分发。
EPSG.io提供了search查询EPSG投影坐标的编码、性能,map获取全球任意地点的坐标,transform对不同编码的EPSG坐标点进行转换。其优势在于内容全面,可以查询各种EPSG相关的信息,并且本身开源,可以分析数据来源。所以可以对EPSG.io网站进行数据抓取,本文利用python设计了可以通过EPSG.io的transform接口对数据坐标进行批量转换。利用python的urlib2爬虫通过URL,对网站转换的读取,并在本地添加txt文件将模型全部坐标填入,导入程序进行批量转换。数据输出成txt格式文件保存在代码设定的目录。
步骤3:对地下数据模型进行处理;
使用钻井数据预处理模块,读取MySQL数据库内容,遍历各个钻孔点的数据信息,提取不同地质层在各点处的三维坐标信息,分别保存;使用python库函数将,将原始的三维点数据进行边缘提取,差值填充,边缘裁剪,最后将处理后的三维点数据保存为点云数据格式,获得多个地质层的点云数据;
步骤4:基于步骤3得到的点云数据,由于地质层的点云数据只有上下表面信息,没有侧面信息,且整体扁平,整体重建效果不好。本发明采用上下表面分别曲面重建,再进行侧面缝合的方法,建立整体三维模型;
使用点云法线估算函数,分别计算不同地质层点云数据的法向量,存储在点云数据中;使用三维点云重建模块,采用BPA滚球重建算法,对地质层点云数据的上下表面分别进行曲面重建,生成三角网格模型,保存三角网格模型数据;使用三角网格缝合模块,首先遍历三角网格模型数据中三角面片的边,找出只使用过一次的边作为三角网格模型的边缘边,记录边缘边所在的顶点作为边缘点,保存在数组中;选定某个位置作为起始位置,该位置对应的上下表面处的边缘点分别作为各自的起始点,将边缘点顺时针排序,形成闭环;创建四个指针,分别指向上下表面边缘点数组的第一和第二个边缘点,用指针指向的四个边缘点,组成两个顺时针的三角面片,将其三角关系添加进三角网格模型数据中;之后四个指针分别自增一位,指向后续边缘点,直至遍历完所有边缘点,完成侧面缝合功能,形成闭合完整的三维地质层模型;重复上述地质层三维重建操作,得到多个地质层的三维模型。提取煤层数据流程如图3所示。
根据三维坐标信息,对多层地质模型进行配准,形成多层地质模型组成的完整矿场地下三维模型;
所述三维点云重建模块对经过预处理后的点云数据进行表面重建。钻孔数据只有三维坐标,不存在法向量数据,需要计算法向量。分离出的煤层点云数据具有分布广、厚度小和侧面数据缺失等特点,直接利用上下表面点云数据进行整体三维重建出现错误:侧面出现空洞,上下表面互相穿透等。本***采用分别重建上下表面,再对上下表面缝合的方法进行整体三维模型的重建;三维点云表面三维重建流程如图4所示。使用三维点云重建模块,具体过程如下:
步骤S1:利用Open3d模块的estimate_normals()函数对点云进行点法向量的估计,其参数涉及估计半径radius和估计面的最大数据点数max_nn,由于面绘制模型只渲染显示法向量方向,所以需要调整下表面法向量,指向与上表面相反方向,即保证其与Z轴的夹角为钝角;
步骤S2:分别对上下表面点云采用滚球算法进行曲面重建,生成三角网格模型;
步骤S3:将上下表面的三角网格数据合并,进行配准后保存;
步骤S4:调用三角网格模型缝合模块对重建后的上下表面进行缝合,形成完整闭合模型;
所述三角网格模型缝合模块为解决三角网格模型不闭合的问题而设计,上下表面的三角网格模型已经进行合并后仍然是独立的两个表面,因此需要三角网格缝合模块对三角网格模型进行缝合,生成完整的三维模型。三角网格模型的缝合流程如图5所示。三角网格缝合模块具体实现过程如下:
步骤S1:扫描三角网格模型所有的边,如果一条边被两个三角片共用,继续扫描;如果一条边只被一个三角片使用,则将其标记为边缘边,存储在数组bounderEdges中;
步骤S2:扫描边缘边数组bounderEdges,取数组第一个元素即一条边,将其两个端点的编号按照顺序存储在边缘点数组bounderPoints1中,同时,将第一条边标记为已访问;
步骤S3:扫描bounderEdges数组,寻找这样一条边,它的第一个端点的编号等于bounderPoints1数组最后一个元素的编号;如果找到了,则将其第二个端点的编号加入bounderPoints1数组,并将该边标记为已访问;如果没有找到则跳转步骤S5;
步骤S4:重复步骤S3;
步骤S5:重复步骤S2到步骤S4,第一次将边缘点保存于bounderPoints1中,第二次将边缘点保存于bounderPoints2中;至此,上述两个数组中各自存储了上下曲面的边缘点,在每个数组中,每两个相邻的边缘点,它们之间在三角网格模型上都有一条将它们直接相连的边,且数组的第一个元素对应的编号等于最后一个元素对应的编号,收尾连接闭合成环;
步骤S6:对bounderPoints1数组,设置两个指针cursor_up1和cursor_up2,对bounderPoints2数组设置两个指针cursor_down1和cursor_down2;
步骤S7:利用上述四个指针连接形成两个顺时针的三角面片,借助append()函数添加到三角网格模型的triangles属性当中;四个指针同时自增一位,指向后续边缘点;
步骤S8:如果cursor_up2小于bounderPoints1的长度,重复步骤S7;否则,转步骤S9;
步骤S9:缝合完成,输出模型;
步骤5:将完整矿场地下三维模型与步骤2得到的地上模型导入整体***中;实现地上场景与地下地质模型一体化显示和全面可视化;
将完整的地下三维模型导入***中,与地上模型进行配准融合,实现地上地下模型整体显示,得到了地上地下融合模型;用户在地上地下融合模型上进行交互操作;调用模型切割模块,在***中视角自动锁定俯视角,通过点击鼠标,确定顶点,划定多边形切割区域,并指定切割深度,点击开始切割;将切割区域的顶点坐标和切割深度保存为切割区域坐标文件,传递至地下模型切割部分;通过删除地上模型多边形区域内地上模型数据完成切割;模型切割操作示意图如附图6所示;
通过读取切割区域坐标文件,获得地下模型切割区域信息;通过射线法判断三角网格模型中的顶点是否在切割区域内,分别通过数组记录保存;若三角面片三点全部在切割区域内,则将其删除;若全在切割区域外,则不做处理;若部分在切割区域内,则通过面片剖分法,将三角面片进行破碎,删除掉切割区域内部分,并将切割区域外部分重新组成小三角面片添加进三角网格模型中;通过删除地下模型多边形区域指定深度内地下地质模型的三角面片,形成空洞,达到切除效果;
调用三角网格缝合模块,寻找到空洞处的边缘边,得到边缘点,进行排序形成闭环,通过四个指针,添加顺时针三角面片到三角网格模型,完成切割区域侧面的缝合,保证被切割地下三维模型闭合完整;
将切割完成的地上地下模型返回到***显示界面,完成模型的更新,并以时间命名模型,方便历史回滚操作;
地下模型切割删除指定区域内三角面片后,调用煤量计算模块,根据切割区域面积和切割深度,寻找煤层的被切割部分。利用积分方法,将被切割煤层区域以三角面片分割,依据切割深度,形成一个个三棱柱,分别计算各个三棱柱体积,将其累加得到切割区域的煤层体积,并将计算数据返回,在***中显示;
调用历史回滚模块,自动打开历史模型保存文件夹,历史模型以更新时间命名。选择想要查看历史模型,重新导入后,在***进行查看;
用户在地表模型上进行切割的步骤为,首先点击模型切割按钮进入切割模式,然后在地表模型上依次顺时针或逆时针点击,每点击一个点,***都会绘制一个绿色的小点以代表用户点击的位置,且在顺时针或逆时针连接的两个绿点之间有黄色的连线产生,让用户能够清晰、明确的观测选定的切割区域,同时使得***整体的美观性和完备性得到提升。需要注意的是,用户需要使所有点击的点能形成闭合多边形,作为选定的切割区域,但是起始点与终结点之间不需要用户手动连接,用户只需在选区结束的时候点击结束选择按钮,***便会自动连接起始点与终结点,形成闭合的多边形。
需要特别注意的是,用户在选定切割区域的时候视角是自动锁定正俯视视角的,这就避免了如果采用不合理的坐标提取方式,会因为视角倾斜导致的偏移,获取到的用户点击三维瓦片模型上的坐标可能会与用户期望点击的坐标不一致。
因为地下模型需要与地表模型同步进行切割,所以地下部分的处理程序也需要获取用户点击的位置的坐标,以进行地下模型的切割,所以对于用户每一个点击的点,将其经纬度坐标存储于一个变量只中,以便之后传递到地下模型处理程序进行下一步工作。使用模型切割模块,具体步骤如下所示:
步骤S1:点击功能菜单栏中的绘制切割面,此时会锁定切割视角为正俯视;
步骤S2:在地上模型使用左键点击,画出一个闭合多边形,最后点击右键会结束绘制切割面;此时地表模型会出现一个镂空多边形;
步骤S3:在弹出的切割深度界面输出需要切割的深度,点击确定即可结束切割事件;
步骤S4:将切割操作生成的txt文件保存到该项目根目录的data文件夹之下;
步骤S5:根据步骤四划定区域最小和最大的经纬度确定其外包矩形,判断输入的点是否在外包矩形内,如果不在,函数直接返回False;如果在,使用judgePointInsideCuttingArea(point,cutting_area)函数判断,按照以下步骤进行:
步骤S6:设置变量cnt并初始化为零,表示过该点的射线经过闭合多边形的边的条数;
步骤S7:按照顺序选取用户选定区域的一条边,判断该边的两个端点是否分别位于过函数输入点的水平线两侧,如果端点与该水平线重合,则判定为位于该水平线上侧,如果不在,不做任何处理;如果在,则求该水平线与当前边的交点,若该交点的经度大于或等于输入点的经度,则cnt加一;
步骤S8:重复步骤七直至遍历完所有的边;
步骤S9:如果cnt的值为奇数,函数返回True,表面该点位于切割区域内部;否则返回False;判定获得True返回值的点将被存储到pointsInsideCuttingArea数组;
步骤S10:在确定好所有位于切割区域内部的点后,遍历三角网格模型的triangles属性,若没有顶点存在于pointsInsideCuttingArea数组,不做处理;若有三角片的三个顶点均存在于pointsInsideCuttingArea数组当中,则将该三角片删去;若一个顶点或两个顶点位于pointsInsideCuttingArea数组中,转步骤S12;
步骤S11:重复步骤S9,直至遍历完所有三角片转步骤S13;
步骤S12:根据被切割三角形和切割区域的三维坐标值,判断相交的切割区域边。根据面片剖分法,计算切割边与三角形的两个交点,将切割区域内的顶点删除,添加两交点进model模型的顶点数组;若有两个顶点位于切割区域内,则切割区域外顶点与两交点顺时针组成三角形;若有一个顶点位于切割区域内,则两交点分别与切割区域外两顶点顺时针组成三角形;最后将model模型中被切割三角形的三角网格数据删除,将新生成的三角形加入;
步骤S13:调用三角网格模型缝合模块,对模型切割区域侧面进行缝合,保证三维模型的闭合。
步骤S14:在QT界面点击地下部分的开始切割按钮,等待结束,会生成该切割操作对应的整体模型以及分层模型;
步骤S15:点击web界面的刷新按钮,即可将新模型加载显示到项目中;
接收三角网格模型model和在切割区域中的点数组pointsInsideCuttingArea作为输入。根据数组pointsInsideCuttingArea得到位于切割区域内的三角片,对于煤层模型来说同一区域上下表面存在两个三角面片,这两个三角面片在竖直方向形成一个三棱柱,使用微积分思想,以多个细小的三棱柱近似表示切割区域煤层体积。
重复上述上述步骤过程,当程序结束时即可得到切割区域所切部分的体积,作为本模块的结果进行输出。整体模型切割及煤量预测结果如图7所示。煤量计算模块,具体工作方式如下:
步骤S1:已知三角片三个顶点的坐标可以计算得到三角形的面积,分别以上下表面三角片三个顶点的中心位置的z坐标值,上下表面中心位置坐标相减后取绝对值得到该三棱柱近似的高度值;
步骤S2:计算三角面片在xy平面上投影的面积;
步骤S3:将步骤S2中三角形面积与三角片的面积相乘得到该三棱柱的近似体积,并累加;
本***中的地下煤矿模型在每次切割规划之后,都会保存煤矿的整体模型以及煤层模型至相应的文件目录。在用户使用***的过程中,可以随时查看回滚之前的规划切割模型。该功能使用的技术与之前的模型的加载与隐藏相一致,在实现过程中,需要理清选择模型显示与其他模型隐藏之间的逻辑。历史模型回滚功能能够将之前模型切割数据进行保存,清晰的展示每次开采规划之后模型的一系列变化,保证数据的完整性。历史回滚模块,历史回滚操作如附图8所示,具体步骤如下所示:
步骤S1:点击功能菜单栏中的历史模型,在项目中选择model文件夹;
步骤S2:选择想要展示的历史切割模型或者历史探测模型,此时会同时将对应的分层模型及整体模型加载进来;
步骤S3:点击整体模型和分层模型的切换,分别查看历史模型的结果。
Claims (8)
1.一种露天矿场三维开采规划***,其特征在于,具体为三层架构:基础数据层、开发层及用户展示层;其中用户展现层具有最高的层级,负责为使用者呈现***的操作界面以及用户操作的反馈结果;开发层具有中等的层级,负责调用底层的基础数据层实现相应的功能,反馈给展现层为用户进行呈现;基础数据层是***的底层,负责配合实现开发层的各功能,并将结果返回到用户展示层;
所述***用户展示层的实现模块为用户交互模块;用户交互模块调用开发层中的模块有地上模型可视化模块、地下模型可视化模块、用户操作解析模块;其中地上可视化模块调用基础数据层模块有无人机数据格式转换模块和钻井数据坐标转换;地下可视化模块调用钻井数据预处理模块、三维点云重建模块和三角网格缝合模块;用户操作解析模块调用模型切割模块、煤量计算模块和历史模型回滚模块。
2.一种露天矿场三维开采规划方法,基于上述权利要求1所述的一种露天矿场三维开采规划***实现,其特征在于,具体流程如下:
步骤1:获取矿场地表和地下数据;
为获取露天矿厂地表现实信息数据,使用无人机采用倾斜摄影的方式对露天矿厂进行拍摄,获取数据保存为OSGB格式;
通过矿场实地钻井获取该点的地质数据信息作为地下数据;并且使用MySQL数据库存储地下数据信息,为每个钻井点的地质数据建立一张表,所有表没有父子关系,为同级存储;
步骤2:使用无人机数据格式转换模块和钻井数据坐标转换模块,建立地上数据模型和地下数据模型;
步骤3:对地下数据模型进行处理;
使用钻井数据预处理模块,读取MySQL数据库内容,遍历各个钻孔点的数据信息,提取不同地质层在各点处的三维坐标信息,分别保存;使用python库函数将,将原始的三维点数据进行边缘提取,差值填充,边缘裁剪,最后将处理后的三维点数据保存为点云数据格式,获得多个地质层的点云数据;
步骤4:基于步骤3得到的点云数据,采用上下表面分别曲面重建,再进行侧面缝合的方法,建立整体三维模型;
使用点云法线估算函数,分别计算不同地质层点云数据的法向量,存储在点云数据中;使用三维点云重建模块,采用BPA滚球重建算法,对地质层点云数据的上下表面分别进行曲面重建,生成三角网格模型,保存三角网格模型数据;使用三角网格缝合模块,首先遍历三角网格模型数据中三角面片的边,找出只使用过一次的边作为三角网格模型的边缘边,记录边缘边所在的顶点作为边缘点,保存在数组中;选定某个位置作为起始位置,该位置对应的上下表面处的边缘点分别作为各自的起始点,将边缘点顺时针排序,形成闭环;创建四个指针,分别指向上下表面边缘点数组的第一和第二个边缘点,用指针指向的四个边缘点,组成两个顺时针的三角面片,将其三角关系添加进三角网格模型数据中;之后四个指针分别自增一位,指向后续边缘点,直至遍历完所有边缘点,完成侧面缝合功能,形成闭合完整的三维地质层模型;重复上述地质层三维重建操作,得到多个地质层的三维模型;
根据三维坐标信息,对多层地质模型进行配准,形成多层地质模型组成的完整矿场地下三维模型;
步骤5:将完整矿场地下三维模型与步骤2得到的地上模型导入整体***中;实现地上场景与地下地质模型一体化显示和全面可视化;
将完整的地下三维模型导入***中,与地上模型进行配准融合,实现地上地下模型整体显示,得到了地上地下融合模型;用户在地上地下融合模型上进行交互操作;调用模型切割模块,在***中视角自动锁定俯视角,通过点击鼠标,确定顶点,划定多边形切割区域,并指定切割深度,点击开始切割;将切割区域的顶点坐标和切割深度保存为切割区域坐标文件,传递至地下模型切割部分;通过删除地上模型多边形区域内地上模型数据完成切割;
通过读取切割区域坐标文件,获得地下模型切割区域信息;通过射线法判断三角网格模型中的顶点是否在切割区域内,分别通过数组记录保存;若三角面片三点全部在切割区域内,则将其删除;若全在切割区域外,则不做处理;若部分在切割区域内,则通过面片剖分法,将三角面片进行破碎,删除掉切割区域内部分,并将切割区域外部分重新组成小三角面片添加进三角网格模型中;通过删除地下模型多边形区域指定深度内地下地质模型的三角面片,形成空洞,达到切除效果;
调用三角网格缝合模块,寻找到空洞处的边缘边,得到边缘点,进行排序形成闭环,通过四个指针,添加顺时针三角面片到三角网格模型,完成切割区域侧面的缝合,保证被切割地下三维模型闭合完整;
将切割完成的地上地下模型返回到***显示界面,完成模型的更新,并以时间命名模型,方便历史回滚操作;
地下模型切割删除指定区域内三角面片后,调用煤量计算模块,根据切割区域面积和切割深度,寻找煤层的被切割部分;利用积分方法,将被切割煤层区域以三角面片分割,依据切割深度,形成一个个三棱柱,分别计算各个三棱柱体积,将其累加得到切割区域的煤层体积,并将计算数据返回,在***中显示;
调用历史回滚模块,自动打开历史模型保存文件夹,历史模型以更新时间命名;选择想要查看历史模型,重新导入后,在***进行查看。
3.根据权利要求2所述的一种露天矿场三维开采规划方法,其特征在于,步骤2具体为:
步骤2.1:使用无人机数据格式转换模块,利用CesiumLab模型转换功能将无人机倾斜摄影数据转换为Cesium平台适配的3DTiles三维瓦片模型,该模型作为所述***中显示的地上模型,导入***进行显示;
步骤2.2:通过钻井数据坐标转换模块,将钻井坐标数据转换为世界地理坐标的经纬度;使用python爬虫对EPSG.io网站进行数据抓取,通过对EPSG.io网站的transform接口实现钻井坐标批量转换为经纬度坐标,将经纬度坐标与地上模型配准,并显示在所述***中。
4.根据权利要求3所述的一种露天矿场三维开采规划方法,其特征在于,对地表倾斜摄影数据格式转换具体步骤如下所示:
步骤S1:整理倾斜摄影数据文件结构,数据目录设置Data目录的总入口,Data目录同级放置.xml文件用来记录模型的位置信息;
步骤S2:在cesiumLab中选择数据转换中的倾斜摄影转换osgb至json;
步骤S3:转换之后输出为3dtiles数据格式,目录结构为一系列瓦片文件夹及一个整体json文件。
5.根据权利要求2所述的一种露天矿场三维开采规划方法,其特征在于,步骤4使用三维点云重建模块,具体过程如下:
步骤S1:利用Open3d模块的estimate_normals()函数对点云进行点法向量的估计,其参数涉及估计半径radius和估计面的最大数据点数max_nn,由于面绘制模型只渲染显示法向量方向,所以需要调整下表面法向量,指向与上表面相反方向,即保证其与Z轴的夹角为钝角;
步骤S2:分别对上下表面点云采用滚球算法进行曲面重建,生成三角网格模型;
步骤S3:将上下表面的三角网格数据合并,进行配准后保存;
步骤S4:调用三角网格模型缝合模块对重建后的上下表面进行缝合,形成完整闭合模型;
三角网格缝合模块具体实现过程如下:
步骤S1:扫描三角网格模型所有的边,如果一条边被两个三角片共用,继续扫描;如果一条边只被一个三角片使用,则将其标记为边缘边,存储在边缘边数组中;
步骤S2:扫描边缘边数组,取数组第一个元素即一条边,将其两个端点的编号按照由大到小顺序存储在边缘点数组中,同时,将第一条边标记为已访问;
步骤S3:扫描边缘边数组,寻找这样一条边,它的第一个端点的编号等于边缘点数组最后一个元素的编号;如果找到了,则将该边第二个端点的编号加入边缘点数组,并将该边标记为已访问;如果没有找到则跳转步骤S5;
步骤S4:重复步骤S3;
步骤S5:重复步骤S2到步骤S4,第一次将边缘点保存于上表面边缘点数组中,第二次将边缘点保存于下表面边缘点数组中;至此,上述两个数组中各自存储了上下曲面的边缘点,在每个数组中,每两个相邻的边缘点,它们之间在三角网格模型上都有一条将它们直接相连的边,且数组的第一个元素对应的编号等于最后一个元素对应的编号,收尾连接闭合成环;
步骤S6:对上表面边缘点数组,设置两个指针,分别指向上表面边缘数组第一个和第二个点;对下表面边缘点数组,设置两个指针,分别指向下表面边缘数组第一个和第二个点;
步骤S7:利用上述四个指针连接形成两个顺时针的三角面片,借助append()函数添加到三角网格模型的triangles属性当中;四个指针同时自增一位,指向后续边缘点;
步骤S8:如果第二个指针位置小于边缘点数组的长度,重复步骤S7;否则,转步骤S9;
步骤S9:缝合完成,输出模型。
6.根据权利要求2所述的一种露天矿场三维开采规划方法,其特征在于,步骤5使用模型切割模块,具体步骤如下所示:
步骤S1:点击功能菜单栏中的绘制切割面,此时会锁定切割视角为正俯视;
步骤S2:在地上模型使用左键点击,画出一个闭合多边形,最后点击右键会结束绘制切割面;此时地表模型会出现一个镂空多边形;
步骤S3:在弹出的切割深度界面输出需要切割的深度,点击确定即可结束切割事件;
步骤S4:将切割操作生成的txt文件保存到该项目根目录的data文件夹之下;
步骤S5:根据步骤四划定区域最小和最大的经纬度确定其外包矩形,判断输入的点是否在外包矩形内,如果不在,函数直接返回False;如果在,则按照以下步骤进行判断:
步骤S6:设置变量cut并初始化为零,表示过该点的射线经过闭合多边形的边的条数;
步骤S7:按照顺序选取用户选定区域的一条边,判断该边的两个端点是否分别位于过函数输入点的水平线两侧,如果端点与该水平线重合,则判定为位于该水平线上侧,如果不在,不做任何处理;如果在,则求该水平线与当前边的交点,若该交点的经度大于或等于输入点的经度,则变量自增1;
步骤S8:重复步骤七直至遍历完所有的边;
步骤S9:如果cnt的值为奇数,函数返回True,表面该点位于切割区域内部;否则返回False;判定获得True返回值的点将被存储到删除点数组;
步骤S10:在确定好所有位于切割区域内部的点后,遍历三角网格模型的triangles属性,若没有顶点存在于删除点数组,不做处理;若有三角片的三个顶点均存在于删除点数组当中,则将该三角片删去;若一个顶点或两个顶点位于删除点数组中,转步骤S12;
步骤S11:重复步骤S9,直至遍历完所有三角片转步骤S13;
步骤S12:根据被切割三角形和切割区域的三维坐标值,判断相交的切割区域边;根据面片剖分法,计算切割边与三角形的两个交点,将切割区域内的顶点删除,添加两交点进model模型的顶点数组;若有两个顶点位于切割区域内,则切割区域外顶点与两交点顺时针组成三角形;若有一个顶点位于切割区域内,则两交点分别与切割区域外两顶点顺时针组成三角形;最后将model模型中被切割三角形的三角网格数据删除,将新生成的三角形加入;
步骤S13:调用三角网格模型缝合模块,对模型切割区域侧面进行缝合,保证三维模型的闭合;
步骤S14:在QT界面点击地下部分的开始切割按钮,等待结束,会生成该切割操作对应的整体模型以及分层模型;
步骤S15:点击web界面的刷新按钮,即可将新模型加载显示到项目中。
7.根据权利要求2所述的一种露天矿场三维开采规划方法,其特征在于,步骤5煤量计算模块,具体工作方式如下:
步骤S1:已知三角片三个顶点的坐标可以计算得到三角形的面积,分别以上下表面三角片三个顶点的中心位置的z坐标值,上下表面中心位置坐标相减后取绝对值得到该三棱柱近似的高度值;
步骤S2:计算三角面片在xy平面上投影的面积;
步骤S3:将步骤S2中三角形面积与三角片的面积相乘得到该三棱柱的近似体积,并累加。
8.根据权利要求2所述的一种露天矿场三维开采规划方法,其特征在于,步骤5历史回滚模块,具体步骤如下所示:
步骤S1:点击功能菜单栏中的历史模型,在项目中选择model文件夹;
步骤S2:选择想要展示的历史切割模型或者历史探测模型,此时会同时将对应的分层模型及整体模型加载进来;
步骤S3:点击整体模型和分层模型的切换,分别查看历史模型的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211444812.6A CN116109783A (zh) | 2022-11-18 | 2022-11-18 | 一种露天矿场三维开采规划***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211444812.6A CN116109783A (zh) | 2022-11-18 | 2022-11-18 | 一种露天矿场三维开采规划***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116109783A true CN116109783A (zh) | 2023-05-12 |
Family
ID=86264627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211444812.6A Pending CN116109783A (zh) | 2022-11-18 | 2022-11-18 | 一种露天矿场三维开采规划***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116109783A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117315192A (zh) * | 2023-09-14 | 2023-12-29 | 哈尔滨工业大学 | 一种用于中国空间站的三维网格模型简化方法 |
-
2022
- 2022-11-18 CN CN202211444812.6A patent/CN116109783A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117315192A (zh) * | 2023-09-14 | 2023-12-29 | 哈尔滨工业大学 | 一种用于中国空间站的三维网格模型简化方法 |
CN117315192B (zh) * | 2023-09-14 | 2024-04-05 | 哈尔滨工业大学 | 一种用于中国空间站的三维网格模型简化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102609986B (zh) | 数字矿山中矿体建模***及其建模和检测方法 | |
Guo et al. | Three-dimensional geological modeling and spatial analysis from geotechnical borehole data using an implicit surface and marching tetrahedra algorithm | |
CN106846478B (zh) | 水电水利工程地质三维实景野外编录填图*** | |
McCullagh | Terrain and surface modelling systems: theory and practice | |
CN102508869B (zh) | 将cad图形与属性数据导入gis***的方法 | |
CN112862967B (zh) | 用于建立三维地质模型的方法和装置 | |
CN103970919A (zh) | 用于自动建筑信息建模的数据处理方法 | |
Song et al. | A semi-automatic method for 3D modeling and visualizing complex geological bodies | |
CN116152461B (zh) | 地质建模方法、装置、计算机设备及计算机可读存储介质 | |
CN112231818B (zh) | 一种基于bim的山地城市三维地质建模方法 | |
CN116109783A (zh) | 一种露天矿场三维开采规划***及方法 | |
Traxler et al. | The PRoViDE Framework: Accurate 3D geological models for virtual exploration of the Martian surface from rover and orbital imagery | |
Hegemann et al. | Hybrid ground data model for interacting simulations in mechanized tunneling | |
Richards-Rissetto et al. | Procedural modeling for ancient Maya cityscapes initial methodological challenges and solutions | |
Zhang et al. | Method and application of urban 3D rapid modeling of geology based on CAD Borehole Logs | |
JP2001109801A (ja) | 地下構造物建設管理システム | |
Szujó et al. | MaGISter-mine: A 2D and 3D web application in the service of mining industry | |
Zhang et al. | A conceptual framework for the automated generalization of geological maps based on multiple agents and workflow | |
Song et al. | Intelligent early-warming platform for open-pit mining: Current status and prospects | |
Drap et al. | Full XML documentation from photogrammetric survey to 3D visualization. The case study of shawbak in jordan. | |
CN117173356A (zh) | 一种基于Cesium的露天矿场三维开采智慧规划*** | |
Ma et al. | Research and application of 3D visualization technology of borehole data based on WebGL | |
Lin | Method and Realization of Efficient Extraction of Basic Geological Data from Two‐Dimensional Mine Drawings | |
Drap et al. | Towards a Photogrammetry and Virtual Reality Based Heritage Information System: A Case Study of Shawbak Castle in Jordan. | |
Wang et al. | Exploration on 3D Geological Modeling Technology Based on BIM Secondary Development—Taking Liangshuijing Tunnel as an Example |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |