一种云端三维重建数据的实时显示的方法与流程

文档序号:31044719发布日期:2022-08-06 05:08阅读:301来源:国知局
一种云端三维重建数据的实时显示的方法与流程

1.本发明涉及图像处理技术领域,尤其涉及一种云端三维重建数据的实时显示的方法。


背景技术:

2.传统的三维重建数据基本都是等重建成果出来以后,才可以看到的最终结果。在实际应用中,重建完成才能看到成果,会出现成果不符合预期,而导致消耗大量时间去等待。
3.因此,现有技术存在缺陷,需要改进。


技术实现要素:

4.本发明要解决的技术问题是:提供一种云端三维重建数据的实时显示的方法,实现三维重建成果的实时显示,打破传统重建完成后才能预览数据,提高效率,减少成果出错带来的时间成本消耗。
5.本发明的技术方案如下:提供一种云端三维模型重建数据的实时显示的方法,包括以下步骤:
6.s1:确定实景三维模型更新的区域;利用二三位一体化平台,获取实景三维模型更新的范围,将该范围填入对应字段的点要素表格中,以经纬度的方式来记录。
7.s2:生成裁剪面要素;使用arcgis软件,加载点要素表格,将点要素表格转换为线要素,全部线要素围成封闭区域,即生成实景三维模型更新所需要的裁剪面要素。
8.s3:裁剪实景三维模型;将裁剪面要素导出为shapefile格式,并使用supermap软件中打开,然后加载实景三维模型,使得实景三维模型与裁剪面要素叠加展示。
9.s4:获取三维模型,并输出为osgb格式;在同一空间参考下,同时加载裁剪面要素与实景三维模型,将所需要的三维模型裁剪出来,输出为osgb格式。
10.s5:osgb格式的三维模型转换为3dtiles格式;通过cesiumlab软件将osgb转成cesium能够加载的3dtiles格式文件。
11.s6:在cesium上获取3dtiles格式的三维模型范围;查看3dtiles的原始数据,获取3dtiles格式模型的中心点数据,得到模型的中心点平面坐标后,加减偏移量获得模型的四至。进一步地,通过添加了一个k矩阵的计算在最后面,使得这个面内缩五米。
12.s7:在cesium中对步骤s6中的三维模型范围内的旧的三维模型压平;通过裁剪面对旧的三维模型进行模型压平处理。
13.s8:通过cesium,将3dtiles格式的三维模型在压平的范围上展示,更新三维模型。具体为:预加载了新模型,然后将其隐藏,在旧模型被压平之后再将其展示出来。
14.采用上述方案,本发明提供一种云端三维重建数据的实时显示的方法,基于cesium库的3dtiles数据格式,实现三维重建成果的实时显示,打破传统重建完成后才能预览数据,提高效率,减少成果出错带来的时间成本消耗。
附图说明
15.图1为本发明的一实施例的流程示意图;
16.图2为图1实施例的点要素表格图;
17.图3为生成倾斜摄影配置文件的界面图;
18.图4为工作空间管理器的三维球体的界面图;
19.图5为工作空间管理器的实景三维模型与裁剪面要素叠加展示的界面图;
20.图6为工作空间管理器输出osgb格式的界面图;
21.图7为cesiumlab的截面图;
22.图8为cesiumlab处理数据时的界面图;
23.图9为cesiumlab加载生成的3dtiles瓦片后的界面图;
24.图10为3dtiles的原始数据图;
25.图11为transform字段的界面图;
26.图12为box的矩阵的结构示意图;
27.图13为bounding volume的数据图;
28.图14为预加载新模型,然后将其隐藏的代码图;
29.图15为旧模型被压平之后再将新模型展示出来的代码图。
具体实施方式
30.以下结合附图和具体实施例,对本发明进行详细说明。
31.请参阅图1,本实施例提供一种云端三维重建数据的实时显示的方法,包括以下步骤。
32.s1:确定实景三维模型更新的区域;利用二三位一体化平台,获取实景三维更新模型的范围(通常选用矩形),将其填入相对应字段的点要素表格中,以经纬度的方式来记录,字段名如图2。
33.s2:生成裁剪面要素;使用arcgis软件,将点要素表格加载,通过“数据管理工具”中的“点集转线”工具,先将点要素表格转换为线要素,再通过“要素转面”工具,生成实景三维更新模型所需要的裁剪范围面要素。
34.s3:裁剪实景三维模型;将裁剪面要素导出为shapefile格式,并使用supermap软件中打开,请参阅图3,通过“生成倾斜摄影配置文件”功能来加载实景三维模型,源路径为模型的data文件夹,而元数据则是data文件夹同目录下的metadata.xml文件。请参阅图4,在“工作空间”的“场景”中,选择新建球面场景,该球体类似于cesium的三维球体,通过该球体将实景三维模型展现在上面。请参阅图5,在图层中添加生成的倾斜摄影配置文件,三维模型便会呈现在三维球体上。同时将裁剪面要素加载在图层中,将实景三维更新模型与裁剪面要素叠加展示(由于裁剪面要素不存在高度这一属性,所以会被具有高度的实景三维模型所覆盖)。
35.s4:获取三维模型,并输出为osgb格式;请参阅图6,在同一空间参考下,同时加载裁剪面要素与实景三维模型,通过“三维地理设计——倾斜摄影操作——裁剪”,选择“裁剪多边形”为裁剪面要素polygon,便可以将所需要的三维模型裁剪出来,输出为osgb格式。
36.s5:osgb格式的三维模型转换为3dtiles格式;cesium无法直接加载osgb格式的倾
斜摄影模型,所以需要将osgb转成cesium能够加载的3dtiles格式文件。请参阅图7,打开cesiumlab,选择倾斜模型转换:请参阅图8,数据路径为osgb的data文件夹,空间参考与零点坐标则不需要输入,cesiumlab会从与data文件夹同路径的metadata.xml文件中读取其他参数不需要修改,选择输出路径即可,静静等待软件的处理:请参阅图9,数据处理完成后,点击三维可视,加载刚才生成的3dtiles瓦片,能正常打得开的话,就代表格式转换成功。
37.s6:在cesium上获取3dtiles格式的三维模型范围;请参阅图10,要获取模型的中心点数据,先查看3dtiles的原始数据。请参阅图11,有些3dtiles的格式可能不太一样,如果存在region字段,直接采用region字段的数据,如果没有的话,那么就得利用他的transform字段,transform是一个矩阵,模型的几何中心点坐标储存在其中,但是坐标系为地心坐标系:地心坐标系的模型中心点是可以直接添加在cesium上的,但是我们需要的不是中心点,是模型的四至,我们需要模型的平面坐标系的四至。
38.请参阅图12和图13,获取模型的中心点数据,得到模型的中心点平面坐标后,加减偏移量就可以获得模型的四至。为什么这么说,来看3dtiles中的bounding volume,其中它包含了一个box的矩阵:box是一个4*3的矩阵,第一行[0,1,2]代表了中心点的[x,y,z]偏移量,第二行[3,4,5]代表了四至的[x,0,0]偏移量,第三第四行以此类推。得到模型的中心点平面坐标后,加减偏移量就可以获得模型的四至。
[0039]
在polygon被作为裁剪面的时候,由于瓦片的特性,瓦片边缘在不同的层级会出现不同的被狗啃的现象,所以在加减模型的四至point1那里,添加了一个k矩阵的计算在最后面,它的作用是使得这个面内缩五米。
[0040]
s7:在cesium中对步骤s6中的三维模型范围内的旧的三维模型压平;利用得到的裁剪面要素polygon,对模型进行模型处理。这个功能在cesium的沙盒中就可以找到,非常方便,只需要进行参数的替换便可。
[0041]
s8:通过cesium,将3dtiles格式的三维模型在压平的范围上展示,更新三维模型。请参阅图14,图14为预加载新模型,然后将其隐藏的代码;请参阅图15,图15为旧模型被压平之后再将新模型展示出来的代码。
[0042]
综上所述,本发明提供一种云端三维重建数据的实时显示的方法,基于cesium库的3dtiles数据格式,实现三维重建成果的实时显示,打破传统重建完成后才能预览数据,提高效率,减少成果出错带来的时间成本消耗。
[0043]
以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1