本发明专利技术公开一种海量倾斜数据在Web端的展示优化方法及装置。所述方法包括对倾斜数据进行数据分块重构;对重构数据进行数据合并,输出osgb数据;对osgb数据进行重新组织,并将重新组织的osgb格式的倾斜数据转换为3d Tiles,在Web端进行展示。本申请通过对最常用的osgb格式倾斜数据结构做优化,并将优化后的倾斜数据输出为3d Tiles格式在Web端展示,提高海量倾斜数据在Web端的展示性能。倾斜数据在Web端的展示性能。倾斜数据在Web端的展示性能。
【技术实现步骤摘要】
一种海量倾斜数据在Web端的展示优化方法及装置
[0001]本专利技术涉及数据处理领域,尤其涉及一种海量倾斜数据在Web端的展示优化方法及装置。
技术介绍
[0002]倾斜摄影技术作为国际测绘领域发展起来的一项高新技术,从诞生之初就备受关注,经过多年发展,在众多领域都已有所应用,比如应急指挥、国土安全、城市管理、房产税收等行业。实景三维中国建设是落实数字中国的重要举措,而实景三维的基本载体便是倾斜摄影模型,因为倾斜摄影模型能够全方位的反映地物周边真实情况,越来越多的城市和地区已经开始城市级的倾斜摄影建模。
[0003]目前常用的倾斜摄影建模软件有ContextCapture(Smart3D)、PhotoScan、OpenDroneMap等,这些建模软件常用的数据格式为OSGB(Open Scene Gragh Binary)格式。OSGB是一种带有内嵌纹理数据的二进制数据文件,此类数据文件碎、数量多、高级别金字塔文件大等特点难以形成高效、标准的网络发布方案,所以常用在桌面端浏览。
[0004]为了在Web端实现大量三维地理模型数据的流式传输,出现了3D Tiles格式,3D Tiles是一种在glTF的基础上,加入了分层LOD的结构后得到的产品,其与倾斜摄影数据的分层分级组织格式类似,因此为了实现倾斜数据的网络浏览,出现了以下解决方案:
[0005]1、建模软件(如Smart3D等)天然支持输出3D Tiles格式的倾斜摄影模型,直接可以在开源的WebGL框架Cesium中渲染。
[0006]2、通过格式转换工具将已有的osgb格式的倾斜数据做格式转换,转换成3D Tiles格式。
[0007]建模软件虽然可以输出3d Tiles格式的倾斜模型数据,但是只是在数据格式上做了转换,缺乏对海量倾斜数据的优化,当数据量很大时,在web端的加载效率很低。目前的格式转换工具大多数也是对倾斜数据osgb文件做一对一的转换,没有对倾斜数据结构做必要的优化,面对海量倾斜数据加载效率同样是极其低下。
技术实现思路
[0008]本专利技术提供了一种海量倾斜数据在Web端的展示优化方法,包括:
[0009]对倾斜数据进行数据分块重构;
[0010]对重构数据进行数据合并,输出osgb数据;
[0011]对osgb数据进行重新组织,并将重新组织的osgb格式的倾斜数据转换为3d Tiles,在Web端进行展示。
[0012]如上所述的一种海量倾斜数据在Web端的展示优化方法,其中,对倾斜数据进行数据分块重构,具体包括如下子步骤:
[0013]Step11、判断数据外包盒是否接近方形,如果是,则进行方格网分块,执行Step12,否则进行四叉树分块,执行Step12;
[0014]Step12、判断最顶层数据块的顶点数是否未超过阈值,如果是,则对最顶层数据进行分块合并,执行Step13,否则继续对最顶层数据块进行四叉树分块,直至顶点数未超过阈值;
[0015]Step13、依次判断次顶层及更精细层是否可以分块,若需要分块则继续进行四叉树分块,直至次顶层及更精细层顶点数未超过阈值,对次顶层及更精细层数据进行分块合并。
[0016]如上所述的一种海量倾斜数据在Web端的展示优化方法,其中,对重构数据进行数据合并,具体包括如下子步骤:
[0017]对重构后的osgb数据进行三角网合并,合并后的osgb数据包括一个三角网和一张纹理图片;
[0018]简化三角网,并对纹理图片进行裁剪合并。
[0019]如上所述的一种海量倾斜数据在Web端的展示优化方法,其中,对重构后的osgb数据进行三角网合并,具体为:将每个数据中的顶点以及索引做合并。
[0020]如上所述的一种海量倾斜数据在Web端的展示优化方法,其中,对纹理图片进行裁剪合并,具体包括:
[0021]Step21、判断纹理图片是否需要裁剪,如果是,则执行step22,否则执行step23;
[0022]Step22、对纹理图片进行裁剪,执行step23;
[0023]Step23、进行多张纹理图片合并。
[0024]如上所述的一种海量倾斜数据在Web端的展示优化方法,其中,对纹理图片进行裁剪,具体包括:
[0025]计算纹理坐标的横向纹理坐标最大值uMax、纵向纹理坐标最大值vMax,当最大值小于1时说明纹理图片有空白区域,根据纹理坐标范围计算出图片有效区域的像素大小,假设原始图片的宽为x1,高为y1,裁剪后的图片宽为x2,高为y2,x2=uMax*x1[0026]y2=vMax*y1[0027]根据这个范围用opencv对图片做裁剪,然后将纹理坐标映射到裁剪后的纹理图片上。
[0028]如上所述的一种海量倾斜数据在Web端的展示优化方法,其中,进行多张纹理图片合并,具体为:根据待合并的纹理数量n,将一张纹理图片均分为m行m列,m为纹理数量开方后向上取整,最终合并后的纹理尺寸为:S
merge
=int(M/m*8)*(m*8),其中M表示合并后的纹理尺寸最大值。
[0029]如上所述的一种海量倾斜数据在Web端的展示优化方法,其中,对osgb数据进行重新组织,具体包括如下子步骤:
[0030]Step31、读取新的最顶层osgb数据,组织为PagedLod节点;
[0031]Step32、读取下一层osgb数据,如果当前层不是最后一层,则组织为PagedLod节点,并作为子节点添加到上一级PagedLod节点中,继续读取下一层数据,如果当前层是最后一层,则转到步骤Step33;
[0032]Step33、读取到最后一层重新分块的osgb数据时,将块内所有原始Tile中的对应层级PagedLod节点添加到当前PagedLod节点中,至此,新的倾斜数据结构组织完成。
[0033]如上所述的一种海量倾斜数据在Web端的展示优化方法,其中,一个osgb对应生成
一个b3dm数据,3d Tiles数据中只有一个tileset.json文件,或者除了tileset.json文件,每个b3dm数据都有一个对应的json文件;在每个b3dm数据对应一个json文件的基础上,对多个层级的json文件做合并优化。
[0034]本申请还提供一种海量倾斜数据在Web端的展示优化装置,所述装置执行上述任一项所述的海量倾斜数据在Web端的展示优化方法。
[0035]本专利技术实现的有益效果如下:本申请通过对最常用的osgb格式倾斜数据结构做优化,并将优化后的倾斜数据输出为3d Tiles格式在Web端展示,提高海量倾斜数据在Web端的展示性能。
附图说明
[0036]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些本文档来自技高网...
【技术保护点】
【技术特征摘要】
Tiles数据做GZip压缩。10.一种海量倾斜数据在Web端的展示优化装置,其特征在于,所述装置执行如...
【专利技术属性】
技术研发人员:胡环宇,程雷,胡锐,李晓晖,叶开,谢鹏,邱锦,
申请(专利权)人:北京数字政通科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。