一种数字表面模型的WebGL实现方法与流程

文档序号:18944643发布日期:2019-10-23 01:27阅读:372来源:国知局
一种数字表面模型的WebGL实现方法与流程

本发明涉及三维图形图像的预处理,属于一种把雷达点云扫描成果如何在浏览器端利用webgl进行快速三维可视化成像的实现方法,特别涉及一种数字表面模型的webgl实现方法。



背景技术:

点云是在目标表面特性的海量点集合,根据激光测量原理得到的点云,包括三维坐标(xyz)和激光反射强度(intensity);根据摄影测量原理得到的点云,包括三维坐标(xyz)和颜色信息(rgb);结合激光测量和摄影测量原理得到点云,包括三维坐标(xyz)、激光反射强度(intensity)和颜色信息(rgb);在获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,称之为“点云(pointcloud)”,如附图1所示;

目前市面上有不少桌面端的软件,可以对点云数据进行一些预处理,譬如bentley的pointools,它可以从点云中检测冲突,可以比较同一区域中的两个点云并标识数据中出现的任何增减,亦可从点云中提取断线、等高线、表面等。

桌面端软件虽然功能强大,但无法将成果进行远程在线分享,另外,虽然通过浏览器webgl可以进行三维成像并远程在线分享,但由于浏览器天然就不支持多线程特性,所以当点云数据的量稍大一点的话,网络传输就会出现问题,同时浏览器也会卡死从而无法进行查看;再者,即使数据量小,把点云数据成果用webgl直接进行三维成像,若果镜头拉近了看其效果也会失去立体感,如附图2所示。

因此,如何把这些点云数据成果通过浏览器的webgl技术高效快速的进行三维成像并实现远程在线分享,以达到还原真实世界的效果,就成了一个亟待解决的问题。



技术实现要素:

针对现有技术存在的问题,本发明提供一种数字表面模型的webgl实现方法。

为实现上述目的,本发明的具体方案如下:

一种数字表面模型的webgl实现方法,包括如下步骤:

s1:把点云数据按照疏密程度分成若干个等级,lv0,lv1,lv2,lv3,……lvn;

s2:把卫星影像按照分辨率大小分成同样多个等级,lu0,lu1,lu2,lu3,……lun,且点云数据的等级和卫星影像的等级一一对应;

s3:将点云数据按照“/点云文件名/分级名/分块编号”的目录结构存储到服务器磁盘中,并且每一级中的点云数据按照二维矩阵的规则分成网格块进行存储;

s4:将卫星影像按照“/点云文件名/分级名/分块编号”的目录结构存储到服务器磁盘中,并且每一级中的卫星影像按照二维矩阵的规则分成网格块进行存储;

s5:在“/点云文件名”目录下把分级的二维矩阵中每一格的平面边界都记录下来,并以gisshapefile文件格式进行存储;

s6:利用浏览器的webgl技术,根据以上规则向服务器请求对应的数据,当浏览器收到请求的数据后,将收到的数据进行几何面成像,并将lvn相对应的卫星影像贴到其上面,从而还原出真实地面的表面情况;

其中,n为大于等于0的整数。

优选地,步骤s1中所述点云数据的等级lv0,lv1,lv2,lv3,……lvn按照疏密程度逐级递增,步骤s2中所述卫星影像的等级lu0,lu1,lu2,lu3,……lun按照分辨率大小逐级递增。

优选地,步骤s3、s4中,每一级所述点云数据和卫星影像中的二维矩阵均为4x4=16的矩阵。

优选地,步骤s6中,向服务器首次请求数据时,直接请求最低精度级别的lv0对应的数据。

优选地,步骤s6中,利用浏览器的webgl技术,根据以上规则向服务器请求对应的数据的方法为:

用户的镜头拉近和平移时,浏览器端根据镜头的远近计算出对应的点云数据等级和卫星影像等级,再根据平移的位置计算出需要请求的网格块,再向服务端发起相应的数据请求以获取相应精度级别的数据。

采用本发明的技术方案,具有以下有益效果:

对点云数据成果及卫星影像进行了分级处理,无论是点云数据还是卫星影像,都更易于网络渐进式传输,提升了传输效率,降低了带宽要求;且基于面的三维成像而不是点,效果更真实。

附图说明

图1为现有技术中点云示意图;

图2为现有技术中镜头拉近后的点云示意图;

图3为本发明点云数据分级存储目录结构示意图;

图4为本发明点云数据分级存储切分布局示意图(lv1等级);

图5为本发明卫星影像分级存储切分布局示意图(lv3等级);

图6为本发明点云数据分级存储切分边界grid.shp记录文件;

图7为本发明点云数据分级存储webgl成像效果示意图。

具体实施方式

以下结合附图和具体实施例,对本发明进一步说明。

本发明提供一种数字表面模型的webgl实现方法,包括如下步骤:

s1:把点云数据按照疏密程度分成若干个等级,lv0,lv1,lv2,lv3,……lvn;

s2:把卫星影像按照分辨率大小分成同样多个等级,lu0,lu1,lu2,lu3,……lun,且点云数据的等级和卫星影像的等级一一对应;

s3:将点云数据按照“/点云文件名/分级名/分块编号”的目录结构存储到服务器磁盘中,并且每一级中的点云数据按照二维矩阵的规则分成网格块进行存储;

s4:将卫星影像按照“/点云文件名/分级名/分块编号”的目录结构存储到服务器磁盘中,并且每一级中的卫星影像按照二维矩阵的规则分成网格块进行存储;

s5:在“/点云文件名”目录下把分级的二维矩阵中每一格的平面边界都记录下来,并以gisshapefile文件格式进行存储;

s6:利用浏览器的webgl技术,根据以上规则向服务器请求对应的数据,当浏览器收到请求的数据后,将收到的数据进行几何面成像,并将lvn相对应的卫星影像贴到其上面,从而还原出真实地面的表面情况;

其中,n为大于等于0的整数。

步骤s1中所述点云数据的等级lv0,lv1,lv2,lv3,……lvn按照疏密程度逐级递增,步骤s2中所述卫星影像的等级lu0,lu1,lu2,lu3,……lun按照分辨率大小逐级递增。

步骤s3、s4中,每一级所述点云数据和卫星影像中的二维矩阵均为4x4=16的矩阵。

步骤s6中,向服务器首次请求数据时,直接请求最低精度级别的lv0对应的数据。

步骤s6中,利用浏览器的webgl技术,根据以上规则向服务器请求对应的数据的方法为:

用户的镜头拉近和平移时,浏览器端根据镜头的远近计算出对应的点云数据等级和卫星影像等级,再根据平移的位置计算出需要请求的网格块,再向服务端发起相应的数据请求以获取相应精度级别的数据。

本发明的工作原理为:

本发明的目的在于如何通过浏览器的webgl技术高效快速的对点云数据成果进行三维成像并实现远程在线访问,结合卫星影像、webgl技术及相应的分级算法通过http协议高效快速的把预处理好的点云数据成果进行三维成像并实现远程在线访问。

当浏览器收到首次请求的数据后,将收到的数据进行几何面成像,并将lv0相对应的卫星影像贴到其上面,从而还原出真实地面的表面情况。

当用户的镜头拉近和平移时,浏览器端根据镜头的远近计算出对应的点云数据等级和卫星影像等级,再根据平移的位置计算出需要请求的网格块,再向服务端发起相应的数据请求以获取相应精度级别的数据,webgl成像效果如图7所示。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的保护范围内。

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