一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种复杂水工建筑模型与三维地形的智能无缝镶嵌方法与流程

2022-11-13 12:39:20 来源:中国专利 TAG:


1.本发明涉及三维地理信息技术领域,涉及一种三维地形的修改方法,更具体地说它是一种复杂水工建筑模型与三维地形的智能无缝镶嵌方法。


背景技术:

2.在工程的规划设计过程中,当完成某一阶段的模型建模后,为了直观呈现建成后的效果,可借助三维地理信息系统(3dgis)软件,在虚拟场景中叠加建筑模型的设计成果进行三维展示。在3dgis场景中,地形以数字高程模型(dem)的方式存储,每个像素点代表一个高程数据。在实际应用中,通常将dem数据重采样形成多层级的金字塔三维地形瓦片,以满足3dgis软件的加载和渲染显示需求。
3.dem数据生成的三维地形瓦片能准确描述工程所在区域的地形起伏,但在工程施工过程中,特别是在地基部分的施工时,通常需要对地形进行局部的整平、开挖、回填等处理,从而改变了原始的地形结构。为了在3dgis场景中真实表达地形修改后的变化,需要对dem或三维地形瓦片数据进行修改,以实现建筑模型与三维地形的无缝贴合。
4.目前实现建筑模型与三维地形贴合的常见方法是:首先在模型的建模过程中添加一个规则的模型底座,然后确定模型底座的矢量范围和高程值,并将dem数据中对应范围的高程统一替换为该高程值,最后基于修改后的dem数据重新生成三维地形瓦片并进行三维展示。
5.该方案能较好适用于简单的建筑模型,但针对大坝、航运通道、水渠等复杂的水工建筑模型,在应用中会存在下列问题:(1)水工建筑模型通常采用bim设计软件进行建模,模型结构复杂且大多没有规则底座,模型的边坡等结构需要与地形无缝贴合才能真实呈现工程建成后的状态;(2)水工建筑模型三维展示涉及的场景范围较大,对dem数据进行修改并重新生成三维地形瓦片所需的时间成本较高;(3)由于三维展示的场景范围较大,当三维视点较远时,受渲染过程中深度缓存的精度限制,地形和模型的深度值被压缩到0~1之间,当两者的高程值较近时,可能出现因无法判断绘制的前后顺序而造成的模型面闪烁状况。
6.因此亟需提出一种复杂水工建筑模型与三维地形的智能无缝镶嵌方法以解决上述问题,以实现复杂水工建筑模型与三维地形场景的无缝贴合。


技术实现要素:

7.本发明的目的是为了提供一种复杂水工建筑模型与三维地形的智能无缝镶嵌方法,实现复杂水工建筑模型与三维地形场景的无缝贴合,提升模型场景的展示效果;解决复杂水工建筑bim模型在三维场景中展示时与难以与地形数据无缝贴合的问题。
8.为了实现上述目的,本发明的技术方案为:一种复杂水工建筑模型与三维地形的智能无缝镶嵌方法,其特征在于:包括如下步骤,
9.步骤一:模型地下结构标记:
10.对水工建筑模型中应填埋于地形之下的部件结构,在3dgis场景中交互式的选取
并标记;
11.步骤二:模型底面高度图生成;
12.按照一定的采样分辨率,对模型底面进行三维射线法相交测试,生成模型底面高度图;本发明将水工建筑模型准确放置到3dgis场景中对应的区域,计算水工建筑模型在xy平面上的矩形包围盒,在该矩形包围盒的矩形区域内,按照一定的采样分辨率,沿z轴逐点从地下向水工建筑模型底部方向进行三维射线法相交测试,并过滤水工建筑模型地下结构部分,生成水工建筑模型底面的高度图;本发明利用结合步骤一的交互式地下结构标记,过滤了水工建筑模型的地下部件,获得所需的地形高度图;
13.步骤三:高度图形态学优化处理;
14.对水工建筑模型中镂空的部件结构,以及因建模不规范导致的相邻面片缝隙等,对高度图进行形态学处理;镂空的部件结构,指水工建筑模型的风井、预留孔洞等接结构,这些为正常情况下的孔洞;相邻面片缝隙,指不规范建模或导出产生的面片补贴和问题,这些为非正常情况下的孔洞。对于上述两种孔洞,都需要形态学处理;
15.本发明通过高度图的形态学处理进行过滤剔除,按照邻域高程均值进行填充;本发明步骤三采用灰度图的形态学腐蚀、膨胀方法,将其扩展应用在地形高度图处理中,解决因水工建筑模型内部镂空结构等因素造成的破碎孔洞问题;
16.步骤四:不同层级高程偏移值计算;
17.根据三维地形瓦片不同层级切换的视点高度,近似估算三维渲染过程中远、近裁剪面的距离,计算符合深度缓存精度条件下的最小高程差,避免在3dgis场景中因无法判断绘制的前后顺序而造成的模型面闪烁状况;本发明步骤四考虑深度缓存的精度要求,计算不同层级的高程偏移值,避免不同视点距离下的面闪烁问题;
18.步骤五:三维地形瓦片生成与更新;
19.根据3dgis场景要求的三维地形瓦片分幅和命名规则,同时考虑不同层级的高程偏移值条件,对水工建筑模型底面高度图生成三维地形瓦片,并对已有的地形瓦片进行局部替换和更新。本发明步骤五结合步骤四的高程偏移值,进行局部地形的替换和更新,提升了地形数据的更新效率。
20.在上述技术方案中,在步骤一中,水工建筑模型中填埋于地形之下的部件结构包括地下输水管道、廊道等;
21.在步骤三中,镂空的部件结构包括的风井、预留孔洞等。
22.在上述技术方案中,在步骤二中,水工建筑模型底面高度图生成的方法,包括如下步骤:
23.步骤2.1:水工建筑模型空间范围计算与底面高度图初始化;
24.步骤2.2:水工建筑模型底面三维射线相交测试;
25.步骤2.3:根据每个像素的相交测试结果,计算高度图高程值并赋值。
26.在上述技术方案中,在步骤2.1中,水工建筑模型空间范围计算与底面高度图初始化的方法,包括如下步骤:
27.步骤2.1.1:将水工建筑模型准确放置到3dgis场景中对应区域,计算水工建筑模型在xy平面上的矩形包围盒xmin,xmax,ymin,ymax;
28.步骤2.1.2:根据3dgis场景的空间参考和三维展示精度要求,定义水工建筑模型
底面高度图的分辨率r0,根据xy平面范围设置对应的坐标范围和空间参考,计算高度图的行列数rows和cols并初始化;
29.在步骤2.2中,水工建筑模型底面三维射线相交测试的方法,包括如下步骤:
30.步骤2.2.1:对水工建筑模型底面高度图进行逐像素遍历,当前遍历至像素i,获取当前像素坐标(xi,yi);
31.步骤2.2.2:沿z轴从地下向水工建筑模型底部方向进行三维射线法相交测试,定义三维射线的起点vecstart=(xi,yi,-10000),终点vecend=(xi,yi,10000);每个像素的相交测试结果按照高程值升序排列;
32.在步骤2.3中,计算高度图高程值并赋值的方法,包括如下步骤:
33.步骤2.3.1:遍历像素i三维射线相交测试的结果序列,通过类型过滤结果序列中的三维地形,通过模型uid过滤被标记的地下结构部件;
34.步骤2.3.2:若过滤后的序列不为空,获取高程值最小的部件,其类型(指的是高程值最小的bim部件的类型,如:输水管道、地下厂房、廊道等;结合步骤2.3.1中标记的地下结构部件,过滤对应的部件类型)为tj,高程值为zj,对底面高度图对应的像素赋值zi=zj;若过滤后的序列为空,则赋值zi=无效值。
35.在上述技术方案中,在步骤三中,对高度图进行形态学处理的方法,包括如下步骤:
36.步骤3.1:对底面高度图进行形态学膨胀处理;
37.步骤3.2:对底面高度图进行形态学腐蚀处理。
38.在上述技术方案中,在步骤三中,在步骤3.1中,对底面高度图进行形态学膨胀处理的方法,包括如下步骤:
39.步骤3.1.1:根据底面高度图的总体形态、分辨率、孔洞出现情况等,综合确定形态学腐蚀、膨胀次数n,并对高度图边缘外扩n像素无效值;
40.步骤3.1.2:采用3*3模板对原高度图进行逐像素遍历,若3*3模板中心像素高程值为无效值,且3*3邻域存在有效高程值,则令中心像素高程zt=3*3邻域高程均值;若3*3模板中心像素高程值为有效值,或中心像素为无效高程且3*3邻域均为无效值,则跳过该像素,执行下一个像素的遍历;
41.步骤3.1.3:重复步骤3.1.2的形态学膨胀操作,执行n次后结束;
42.在步骤3.2中,对底面高度图进行形态学腐蚀处理的方法,包括如下步骤:
43.步骤3.2.1:采用3*3模板对原高度图进行逐像素遍历,若3*3模板中心像素高程值为有效值,且3*3邻域存在无效高程值,则令中心像素高程zt=无效值;若3*3模板中心像素高程值为无效值,或中心像素为有效高程且3*3邻域均为有效值,则跳过该像素,执行下一个像素的遍历。
44.步骤3.2.2:重复步骤3.2.1的形态学腐蚀操作,执行n次后结束;
45.步骤3.2.3:对高度图进行裁切处理,裁切边缘外扩的n个像素,获得处理后的底面高度图。
46.在上述技术方案中,在步骤四中,不同层级高程偏移值计算方法,包括如下步骤:
47.步骤4.1:高度图瓦片层级范围确定;
48.步骤4.1.1:根据3dgis场景的坐标参考、三维地形瓦片大小、瓦片调度策略等,确
定三维地形瓦片li层级对应的相机高度di;
49.步骤4.1.2:根据水工建筑模型的尺寸、在场景中的可视距离等的条件,确定水工建筑模型地面高度图应生成的层级范围lmin和lmax;
50.步骤4.2:高度图瓦片各层级偏移值计算;
51.步骤4.2.1:定义i=lmin,对各层级进行遍历计算,根据3dgis引擎的调度策略,近似估算理论近裁剪面的高程值nearpi,理论远裁剪面的高程值farpi;
52.步骤4.2.2:根据深度缓存的精度特性,定义高程值压缩后可保证深度缓存精度的最小浮点数a0,并计算水工建筑模型与地形间的理论最小偏移值minfi=a0*|farpi

nearpi|;
53.深度缓存、远近裁剪面是显卡和3dgis引擎的特性,本发明在计算中运用了这些特性进行求解,水工建筑模型与地形间的理论最小偏移值的具体计算方法为:
54.在系统某一地图层级i,根据3dgis引擎的调度策略,近似估算理论近裁剪面的高程值nearpi,理论远裁剪面的高程值farpi;
55.假定水工建筑模型与地形的高程差值为dist;受深度缓存的影响,3dgis引擎会将深度值压缩到0到1之间,此时压缩后的深度差值distdepth=dist/|farpi

nearpi|;
56.深度缓存通常使用32bit浮点型存储,有效位数为6~7位,因此定义高程值压缩后可保证深度缓存精度的最小浮点数a0,如取有效位数为6位,可令a0=0.000002。当distdepth》=a0时,才能保证面片见不闪烁;
57.求解distdepth=dist/|farpi

nearpi|》=a0,得到dist》=a0*|farpi

nearpi|,因此得到水工建筑模型与地形间的理论最小偏移值minfi=a0*|farpi

nearpi|。
58.步骤4.2.3:考虑3dgis场景视角的变化,定义远、近裁剪面的距离修正系数c0,并计算修正后的偏移值fi=minfi*c0;
59.步骤4.2.4:遍历至i=lmax结束,并获得各层级的偏移值序列arrf。
60.在上述技术方案中,在步骤五中,三维地形瓦片生成与更新的方法,包括如下步骤:
61.步骤5.1:底面高度图三维地形瓦片生成;
62.步骤5.1.1:确定3dgis场景的三维地形瓦片分幅和命名规则,对水工建筑模型底面高度图的lmin至lmax层级生成三维地形瓦片;
63.步骤5.1.2:对生成的第i层级瓦片,从偏移值序列arrf中获得该层级的偏移值fi,并对生成的三维地形瓦片进行高程偏移处理;
64.步骤5.2:三维地形瓦片遍历与替换更新;
65.步骤5.2.1:遍历生成的水工建筑模型底面高度图三维瓦片,当前瓦片为gi,对应的瓦片层级为li,原始地形最大层级为l0;
66.步骤5.2.2:若瓦片gi中所有像素均为有效高程值,则无需进行处理;若瓦片gi中存在无效高程值,进一步判断瓦片gi对应的层级li,若li《=l0,则利用同名地形瓦片填充gi中的无效值;否则对原l0层级瓦片重采样,填充gi中的无效值;
67.步骤5.2.3:将处理后的瓦片gi直接覆盖原同名三维地形瓦片,继续遍历下一瓦片直到完成所有瓦片的替换和更新,避免因修改原始dem数据并重新生成多层级瓦片造成的时间开销,提高数据更新的效率。
68.上述*表示数学符号乘号。
69.本发明所述的复杂水工建筑模型是指水工建筑由地质、水工结构、机电、金属结构、土建、厂房等多专业进行协同设计,通过bim设计软件进行三维建模,形成的模型成果数据量大、部件结构复杂、且包含大量的地下结构。
70.与现有技术相比,本发明具有以下优点:
71.(1)本发明所述方法无需预先制作模型底座,可针对复杂水工建筑模型自动生成底面高度图,并通过图像形态学处理方法过滤风井、预留孔洞等结构,实现复杂水工建筑模型与三维地形场景的无缝贴合,提升模型场景的展示效果;
72.(2)本发明所述方法可对3dgis场景中已有的三维地形瓦片进行更新,避免因修改原始dem数据并重新生成多层级瓦片造成的时间开销,可提高数据更新的效率;
73.(3)本发明所述方法针对深度缓存的数据精度,计算不同层级的高程偏移值,确保在三维漫游过程中不会出现面重叠而产生的闪烁现象。
附图说明
74.图1是本发明的总体技术流程图。
75.图2是本发明中模型底面高度图生成的处理过程示意图。
76.图3是本发明中水工建筑模型底面高度图生成的算法流程图。
77.图4是本发明中水工建筑模型底面高度图形态学优化处理的执行过程示意图。
78.图5是本发明中水工建筑模型底面高度图形态学优化处理的算法流程图。
79.图6是本发明中不同层级高程值偏移计算的算法流程图。
80.图7是本发明中三维地形瓦片生成与更新的算法流程图。
81.图8是本发明实施例中一处航运通道的复杂水工建筑模型概览图。
82.图9是本发明实施例中对水工建筑模型地下结构部分标记后的结果图。
83.图10是本发明实施例中将水工建筑模型准确放置到3dgis场景中对应地形区域后的结果图(图10中白色虚线框用于标识水工建筑模型与地形无缝镶嵌的区域位置)。
84.图11是本发明实施例中生成水工建筑模型底面高度图及其局部放大的结果图(图11中的下图为上图中的黑色虚线框线区域放大图)。
85.图12是本发明实施例中对水工建筑模型底面高度图进行图像形态学优化处理后的结果图。
86.图13是本发明实施例中完成三维地形瓦片生成与更新后的结果图。
87.图14是本发明实施例中对航运通道添加水面、船只后的最终效果图。
具体实施方式
88.下面结合附图详细说明本发明的实施情况,但它们并不构成对本发明的限定,仅作举例而已。同时通过说明使本发明的优点更加清楚和容易理解。
89.本发明利用结合交互式地下结构标记,过滤了水工建筑模型的地下部件,获得所需的地形高度图;将灰度图的形态学腐蚀、膨胀方法扩展应用在地形高度图处理中,解决因水工建筑模型内部镂空结构等因素造成的破碎孔洞问题;同时考虑深度缓存的精度要求,计算不同层级的高程偏移值,避免不同视点距离下的面闪烁问题;本发明高程偏移值,进行
局部地形的替换和更新,提升了地形数据的更新效率。
90.参阅附图可知:如图1所示,一种复杂水工建筑模型与三维地形的智能无缝镶嵌方法包括如下步骤:
91.步骤1、模型地下结构标记:对水工建筑模型中应填埋于地形之下的部件结构,在3dgis场景中交互式的选取并标记,包括输水管道、廊道等。记录这些模型部件的唯一标识符uid,在后续的步骤中需对这些模型部件进行过滤。
92.步骤2、模型底面高度图生成:按照图2对应的处理过程示意图(通过图2可以看出:本发明利用结合交互式地下结构标记,过滤了水工建筑模型的地下部件,获得所需的地形高度图,无需预先制作模型底座,可针对复杂水工建筑模型自动生成底面高度图,并通过图像形态学处理方法过滤风井、预留孔洞等结构,实现复杂水工建筑模型与三维地形场景的无缝贴合,提升模型场景的展示效果;解决现有技术需要首先建立规则的模型底座,且复杂水工建筑bim模型在三维场景中展示时与难以与地形数据无缝贴合的问题),按照一定的采样分辨率,对模型底面进行三维射线法相交测试,生成模型底面高度图。具体算法流程如图3所示。
93.步骤2.1:模型空间范围计算与底面高度图初始化。
94.步骤2.1.1:将模型准确放置到3dgis场景中对应区域,计算模型在xy平面上的矩形包围盒xmin,xmax,ymin,ymax。
95.步骤2.1.2:根据3dgis场景的空间参考和三维展示精度要求,定义底面高度图的分辨率r0,根据xy平面范围设置对应的坐标范围和空间参考,计算高度图的行列数rows和cols并初始化。
96.步骤2.2:模型底面三维射线相交测试。
97.步骤2.2.1:对底面高度图进行逐像素遍历,当前遍历至像素i,获取当前像素坐标(xi,yi)。
98.步骤2.2.2:沿z轴从地下向模型底部方向进行三维射线法相交测试,定义三维射线的起点vecstart=(xi,yi,-10000),终点vecend=(xi,yi,10000)。每个像素的相交测试结果按照高程值升序排列。
99.步骤2.3:根据每个像素的相交测试结果,计算高度图高程值并赋值。
100.步骤2.3.1:遍历像素i三维射线相交测试的结果序列,通过类型过滤结果序列中的三维地形,通过模型uid过滤被标记的地下结构部件。
101.步骤2.3.2:若过滤后的序列不为空,获取高程值最小的部件,其类型为tj,高程值为zj,对底面高度图对应的像素赋值zi=zj;若过滤后的序列为空,则赋值zi=无效值。
102.步骤3、高度图形态学优化处理:对水工建筑模型中的风井、预留孔洞等镂空的部件结构,以及因建模不规范导致的相邻面片缝隙等,按照图4所示的处理过程(通过图4可以看出:经过本发明的外扩并进行模板移动、膨胀、腐蚀的操作,可以填充原始高度图的碎洞区域;解决因水工建筑模型内部镂空结构等因素造成的破碎孔洞问题),对高度图进行形态学处理,具体算法流程如图5所示。
103.步骤3.1:对底面高度图进行形态学膨胀处理。
104.步骤3.1.1:根据底面高度图的总体形态、分辨率、孔洞出现情况等,综合确定形态学腐蚀、膨胀次数n,并对高度图边缘外扩n像素无效值。
105.步骤3.1.2:采用3*3模板对原高度图进行逐像素遍历,若3*3模板中心像素高程值为无效值,且3*3邻域存在有效高程值,则令中心像素高程zt=3*3邻域高程均值;若3*3模板中心像素高程值为有效值,或中心像素为无效高程且3*3邻域均为无效值,则跳过该像素,执行下一个像素的遍历。
106.步骤3.1.3:重复3.1.2的形态学膨胀操作,执行n次后结束。
107.步骤3.2:对底面高度图进行形态学腐蚀处理。
108.步骤3.2.1:采用3*3模板对原高度图进行逐像素遍历,若3*3模板中心像素高程值为有效值,且3*3邻域存在无效高程值,则令中心像素高程zt=无效值;若3*3模板中心像素高程值为无效值,或中心像素为有效高程且3*3邻域均为有效值,则跳过该像素,执行下一个像素的遍历。
109.步骤3.2.2:重复3.2.1的形态学腐蚀操作,执行n次后结束。
110.步骤3.2.3:对高度图进行裁切处理,裁切边缘外扩的n个像素,获得处理后的底面高度图。
111.步骤4、不同层级高程偏移值计算:根据三维地形瓦片不同层级切换的视点高度,近似估算三维渲染过程中远、近裁剪面的距离,计算符合深度缓存精度条件下的最小高程差,避免在3dgis场景中因无法判断绘制的前后顺序而造成的模型面闪烁状况。具体算法过程如图6所示。
112.步骤4.1:高度图瓦片层级范围确定。
113.步骤4.1.1:根据3dgis场景的坐标参考、三维地形瓦片大小、瓦片调度策略等,确定三维地形瓦片li层级对应的相机高度di。
114.步骤4.1.2:根据模型的尺寸、在场景中的可视距离等条件,确定模型地面高度图应生成的层级范围lmin和lmax。
115.步骤4.2:高度图瓦片各层级偏移值计算。
116.步骤4.2.1:定义i=lmin,对各层级进行遍历计算,根据3dgis引擎的调度策略,近似估算理论近裁剪面的高程值nearpi,理论远裁剪面的高程值farpi。
117.步骤4.2.2:根据深度缓存的精度特性,定义高程值压缩后可保证深度缓存精度的最小浮点数a0,并计算模型和地形间的理论最小偏移值minfi=a0*|farpi

nearpi|,具体计算方法为:
118.在系统某一地图层级i,根据3dgis引擎的调度策略,近似估算理论近裁剪面的高程值nearpi,理论远裁剪面的高程值farpi;
119.假定水工建筑模型与地形的高程差值为dist;受深度缓存的影响,3dgis引擎会将深度值压缩到0到1之间,此时压缩后的深度差值distdepth=dist/|farpi

nearpi|;
120.深度缓存通常使用32bit浮点型存储,有效位数为6~7位,因此定义高程值压缩后可保证深度缓存精度的最小浮点数a0,如取有效位数为6位,可令a0=0.000002;当distdepth》=a0时,才能保证面片见不闪烁;
121.求解distdepth=dist/|farpi

nearpi|》=a0,得到dist》=a0*|farpi

nearpi|,因此得到水工建筑模型与地形间的理论最小偏移值minfi=a0*|farpi

nearpi|;
122.步骤4.2.3:考虑3dgis场景视角的变化,定义远、近裁剪面的距离修正系数c0,并计算修正后的偏移值fi=minfi*c0。
123.步骤4.2.4:遍历至i=lmax结束,并获得各层级的偏移值序列arrf。
124.步骤5、三维地形瓦片生成与更新:根据3dgis场景要求的三维地形瓦片分幅和命名规则,结合计算得出的各层级的高程偏移值,对模型底面高度图生成三维地形瓦片,并对原地形瓦片进行局部替换和更新。具体算法过程如图7所示。
125.步骤5.1:底面高度图三维地形瓦片生成。
126.步骤5.1.1:确定3dgis场景的三维地形瓦片分幅和命名规则,对模型底面高度图的lmin至lmax层级生成三维地形瓦片。
127.步骤5.1.2:对生成的第i层级瓦片,从偏移值序列arrf中获得该层级的偏移值fi,并对生成的三维地形瓦片进行高程偏移处理。
128.步骤5.2:三维地形瓦片遍历与替换更新。
129.步骤5.2.1:遍历生成的模型底面高度图三维瓦片,当前瓦片为gi,对应的瓦片层级为li,原始地形最大层级为l0。
130.步骤5.2.2:若瓦片gi中所有像素均为有效高程值,则无需进行处理;若瓦片gi中存在无效高程值,进一步判断瓦片gi对应的层级li,若li《=l0,则利用同名地形瓦片填充gi中的无效值;否则对原l0层级瓦片重采样,填充gi中的无效值。
131.步骤5.2.3:将处理后的瓦片gi直接覆盖原同名三维地形瓦片,继续遍历下一瓦片直到完成所有瓦片的替换和更新。
132.实施例
133.现以本发明试用于某航运通道水工建筑模型与三维地形的无缝镶嵌为实施例对本发明进行详细说明,对本发明应用于其他复杂水工建筑模型与三维地形的智能无缝镶嵌同样具有指导作用。
134.本实施例的应用场景及输入:一处区域使用高精度dem数据生产了三维地形瓦片,利用osgearth三维可视化引擎,搭建了3dgis场景。在该区域拟规划一条航运通道,利用bim软件设计了航运通道的水工建筑模型如图8所示,需要在3dgis场景中展示航运通道建成后的效果。
135.本实施例的处理过程:按照本发明方案的算法流程进行处理,实现航运通道水工建筑模型与三维地形的无缝镶嵌,过程如下:
136.步骤1、模型地下结构标记:对模型底面应填埋于地形之下的部件结构,在3dgis场景中交互式的选取并标记,包括输水管道、地下廊道等,标记的部件如图9所示。
137.步骤2、模型底面高度图生成:将航运通道模型准确放置到3dgis场景中,如图10所示。计算获得模型在xy平面上的坐标范围后,选用2.5m的采样分辨率,沿z轴向上逐点进行三维射线法相交测试,并过滤模型地下结构部分,生成模型底面的高度图,如图11所示。
138.步骤3、高度图形态学优化处理:观察图11可以发现模型中间部分存在船闸风井、预留孔洞等镂空的部件结构,可通过高度图的形态学处理进行过滤剔除,进行2次膨胀和腐蚀操作,按照3*3邻域高程均值进行填充,处理结果如图12所示,消除了破碎的孔洞部分。
139.步骤4、不同层级高程偏移值计算:根据osgearth引擎中三维地形瓦片的层级调度规则、裁剪算法等,确定各层级瓦片远、近裁剪面的距离,其中近裁剪面的高程值nearpi=350*2(18

i),i《19,远裁剪面的高程值farpi=-300。考虑深度缓存使用32bits浮点数存储并压缩到0~1之间,其有效位数为6,因此可取保障深度缓存精度的最小值a0=0.00002,确
保在四舍五入的情况下仍能进行区分。进一步考虑3dgis场景视角的变化,定义远、近裁剪面的距离修正系数c0=5,则修正后的偏移值fi=0.0001*|farpi

nearpi|。该航运通道模型在3dgis场景中的可视层级为10~18级,计算各层级修正后的高程偏移值如下表1所示。
140.表1一处航运通道模型在3dgis场景中各层级的偏移值
[0141][0142]
步骤5、三维地形瓦片生成与更新:根据osgearth对应的三维地形瓦片分幅和命名规则,结合计算出的不同层级高程偏移值,对模型底面高度图的10~18层级生成三维地形瓦片,并对已有的地形瓦片进行局部替换和更新。
[0143]
结果分析:按照上述步骤处理后,水工建筑模型与三维地形无缝镶嵌的结果如图13所示,水工建筑模型与三维地形实现了无缝贴合,且随视角变化在三维地形各层级切换时,均未出现因深度缓存精度问题而导致的面重叠闪烁现象。在3dgis场景中进一步添加水面、通航船只等,如图14所示,可以更好的呈现航运通道水工建筑模型建成后的效果。
[0144]
本实施例中,场景所使用的dem数据范围较大,而航运通道的水工建筑模型只占其中的一小部分范围。本实施例采用本发明方法对水工建筑模型生成高度图进行处理,只需要进行局部更新,因此可提高更新效率;克服了现有技术无法实现水工建筑模型与地形的无缝贴合,且一般对原始dem数据进行修改,修改后需要进一步手工编辑,并重新由dem数据生成地形,更新效率低的缺陷。
[0145]
其它未说明的部分均属于现有技术。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献