实现基于WebGL三维巷道地理信息系统的方法与流程

文档序号:17377864发布日期:2019-04-12 23:30阅读:519来源:国知局
实现基于WebGL三维巷道地理信息系统的方法与流程

本发明涉及巷道地理信息技术领域,具体涉及一种实现基于webgl三维巷道地理信息系统的方法。



背景技术:

地理信息系统主要基于计算机图形图像技术实现,地理信息系统与其他图形处理系统(如autocad)的重要区别在于地理信息系统具备空间分析能力,这种能力要求地理信息系统必须具备存储、处理空间拓扑关系数据的能力。巷道在地理信息领域一般抽象为线要素,所以对于矿山巷道地理信息系统而言最主要的是要具备弧段的关系处理能力,最直观的验证方式是路径分析功能。

目前主流图形图像技术可分为桌面端应用和web端应用两种。矿山地理信息系统技术目前也是这两种应用方式。桌面端三维矿山巷道系统的实现方式可分为基于基础图形接口和基于图形软件框架两种;如基于opengl底层函数类库实现的,基于directx底层函数库实现的,基于底层为directx的ogre图形渲染框架实现的。web端三维矿山巷道系统的实现在webgl规范出现前只能通过插件方式实现;插件可分为特种建模语言插件、通用图形插件;前者如基于o3d建模语言插件的实现,基于vrml建模语言插件的实现;后者如基于applet通用图形插件的实现。

webgl是一种运行在web环境的基础图形图像计算机技术,而三维巷道地理信息系统是一种基于图形图像技术的应用程序。实现这种应用需要解决以下问题:

(1)巷道cad数据至地理空间数据的数据转换问题;

(2)巷道地理空间数据建立拓扑关系;

(3)巷道地理空间数据的三维建模问题;

(4)巷道三维模型建立拓扑关系;

(5)巷道数据的二维可视化和三维可视化;

(6)验证三维模型的拓扑关系。

因此,需要提出一种实现基于webgl三维巷道地理信息系统的方法。



技术实现要素:

有鉴于此,本发明的目的是提供一种实现基于webgl三维巷道地理信息系统的方法,将基于webgl研制的三维矿山巷道地理信息系统能部署运行在互联网上,将具备更优的易用性,同时,将继承webgl的技术优点,摒弃各类图形插件的技术劣势,产生均优于插件的开放性、可移植性、可用性、安全性、负载能力。

本发明提供一种实现基于webgl三维巷道地理信息系统的方法,包括步骤:

s1:将巷道cad数据转换为地理空间数据;

s2:建立巷道地理空间数据的拓扑关系;

s3:根据巷道地理空间数据进行三维建模;

s4:建立巷道三维模型的拓扑关系;

s5:对巷道数据进行二维可视化和三维可视化处理;

s6:验证三维模型的拓扑关系。

进一步,所述步骤s1包括:

s11:把二维巷道数据的cad格式转为arcgis的二维地理数据格式,所述arcgis的二维地理数据包括高程点数据和巷道线数据;

s12:通过高程点数据,使用栅格插值工具,构建数字高程模型数据;

s13:根据预设的处理模型,把当前二维要素数据赋值为三维要素数据,形成巷道地理空间数据。

进一步,所述步骤s2包括:

s21:建立“节点-线段”数据表,所述数据表的表字段两个:线段id、节点id;

s22:依次读取每条线段要素,查询该条线段要素两个端点;

s23:在数据表中写入两行数据,分别录入线段id和端点id;

s24:重复步骤s22至s23,直至写完所有线段,形成“节点-线段”数据表。

进一步,所述步骤s3具体为使用cityengine2015版本作为处理工具,通过输入的“地理空间数据”,编写自动建模规则,生成巷道三维模型。

进一步,所述自动建模规则为:

r1:对所有节点建立水平直径4米的圆形缓冲区,上下偏移1米建立空心圆柱体,圆柱体建立‘所属节点’属性,记录所属节点id;

r2:对每条线段按随意方向,上下偏移1米分别建立底面、顶面,左右偏倚2米分别建立左面、右面,形成空心长方体,长方体建立‘所属线段’属性,记录所属线段id;

r3:检测长方体与圆柱体的接触线,按接触线断裂所有长方体、圆柱体;

r4:检测所有位于三维体封闭空间内断面,选择并删除;

r5:按照预设的三维模型明码格式结构,输出“巷道三维模型”。

进一步,所述步骤s4包括:

s41:建立“要素-巷道体”数据表,所述数据表的表字段有三个,具体为:巷道体id、线段id、节点id;

s42:依次读取每个巷道体,若其属性是‘所属节点’,写入一行数据,记录巷道体id、节点id字段,线段id为空;若其属性是‘所属线段’,写入一行数据,记录巷道体id、线段id字段,节点id为空;

s43:重复步骤s42,直至读完所有巷道体,形成“要素-巷道体”数据表。

进一步,所述步骤s5包括:设计4层二三维巷道地理信息系统架构,所述4层二三维巷道地理信息系统架构从底层到顶层依次为数据层、服务层、框架层和应用层;

其中,所述数据层包括地理空间数据、巷道三维模型、节点线段关系数据、要素-巷道体关系数据,所述地理空间数据由步骤s1获得,所述巷道三维模型由步骤s3获得,所述节点线段关系数据由步骤s2获得,所述要素-巷道体关系数据由步骤s4获得。

进一步,服务层的web服务器使用tomcat7.0,通信协议使用http。

进一步,框架层使用的图形渲引擎为threejsr30版本。

进一步,应用层依赖图形引擎开发了两个窗口,分别显示二维图形和三维图形。

进一步,所述步骤s6包括运用dijkstra算法,选择起点和终点,计算出两点之间的最短路径,来验证webgl三维巷道地理信息系统的拓扑关系。

本发明的有益效果:本发明将基于webgl研制的三维矿山巷道地理信息系统能部署运行在互联网上,将具备更优的易用性,同时,将继承webgl的技术优点,摒弃各类图形插件的技术劣势,产生均优于插件的开放性、可移植性、可用性、安全性、负载能力。

附图说明

下面结合附图和实施例对本发明作进一步描述:

图1为本发明的流程图;

图2为预设的处理模型;

图3为预设的三维模型明码格式结构;

图4为二三维巷道地理信息系统架构;

图5为验证拓扑功能的系统架构。

具体实施方式

如图1所示,本发明提供的一种实现基于webgl三维巷道地理信息系统的方法,包括步骤:

s1:将巷道cad数据转换为地理空间数据;

s2:建立巷道地理空间数据的拓扑关系;

s3:根据巷道地理空间数据进行三维建模;

s4:建立巷道三维模型的拓扑关系;

s5:对巷道数据进行二维可视化和三维可视化处理;

s6:验证三维模型的拓扑关系。通过上述方法,将基于webgl研制的三维矿山巷道地理信息系统能部署运行在互联网上,将具备更优的易用性,同时,将继承webgl的技术优点,摒弃各类图形插件的技术劣势,产生均优于插件的开放性、可移植性、可用性、安全性、负载能力。

所述步骤s1包括:

s11:把二维巷道数据的cad格式转为arcgis的二维地理数据格式,所述arcgis的二维地理数据包括高程点数据和巷道线数据;

s12:通过高程点数据,使用栅格插值工具,构建数字高程模型数据;

s13:如图2所示,根据预设的处理模型,把当前二维要素数据赋值为三维要素数据,形成巷道地理空间数据,把当前二维要素数据赋值为三维要素数据。处理完成后,形成具有xyz值的巷道“地理空间数据”。本实施例中,使用arcgis10.1版本的gp工具,构建数据清洗模型程序,把cad数据清洗成gis常见格式数据。

所述步骤s2使用arcgis10.1版本的地理处理工具,编写python脚本,最终输出“节点-线段”关系数据表,所述步骤s2包括:

s21:建立“节点-线段”数据表,所述数据表的表字段两个:线段id、节点id;

s22:依次读取每条线段要素,查询该条线段要素两个端点;

s23:在数据表中写入两行数据,分别录入线段id和端点id;

s24:重复步骤s22至s23,直至写完所有线段,形成“节点-线段”数据表。

所述步骤s3具体为使用cityengine2015版本作为处理工具,通过输入的“地理空间数据”,编写自动建模规则,生成巷道三维模型。

所述自动建模规则为:

r1:对所有节点建立水平直径4米的圆形缓冲区,上下偏移1米建立空心圆柱体,圆柱体建立‘所属节点’属性,记录所属节点id;

r2:对每条线段按随意方向,上下偏移1米分别建立底面、顶面,左右偏倚2米分别建立左面、右面,形成空心长方体,长方体建立‘所属线段’属性,记录所属线段id;

r3:检测长方体与圆柱体的接触线,按接触线断裂所有长方体、圆柱体;

r4:检测所有位于三维体封闭空间内断面,选择并删除;

r5:如图3所示,按照预设的三维模型明码格式结构,输出“巷道三维模型”。

所述步骤s4使用cityengine2015版本作为处理工具,编写python脚本,输出“要素-巷道体”关系数据表,所述步骤s4包括:

s41:建立“要素-巷道体”数据表,所述数据表的表字段有三个,具体为:巷道体id、线段id、节点id;

s42:依次读取每个巷道体,若其属性是‘所属节点’,写入一行数据,记录巷道体id、节点id字段,线段id为空;若其属性是‘所属线段’,写入一行数据,记录巷道体id、线段id字段,节点id为空;

s43:重复步骤s42,直至读完所有巷道体,形成“要素-巷道体”数据表。

所述步骤s5包括:如图4所示,设计4层二三维巷道地理信息系统架构,所述4层二三维巷道地理信息系统架构从底层到顶层依次为数据层、服务层、框架层和应用层;

其中,所述数据层包括地理空间数据、巷道三维模型、节点线段关系数据、要素-巷道体关系数据,所述地理空间数据由步骤s1获得,所述巷道三维模型由步骤s3获得,所述节点线段关系数据由步骤s2获得,所述要素-巷道体关系数据由步骤s4获得。

服务层的web服务器使用tomcat7.0,通信协议使用http。

框架层使用的图形渲引擎为threejsr30版本。

如图5所示,所述步骤s6包括运用dijkstra算法,选择起点和终点,计算出两点之间的最短路径,来验证webgl三维巷道地理信息系统的拓扑关系。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

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