一种轻量化3D-GIS构建方法及引擎与流程

文档序号:32406648发布日期:2022-12-02 20:37阅读:83来源:国知局
一种轻量化3d-gis构建方法及引擎
技术领域
1.本发明属于地理信息系统技术领域,具体涉及一种轻量化3d-gis构建方法及引擎。


背景技术:

2.地理信息系统 (gis) 是一个创建、管理、分析和绘制所有类型数据的系统。 通过gis 将数据连接到地图,从而将各种数据的统计信息与各数据的位置集成在一起,在2d或3d的地图上对地理信息进行集成化展示。
3.现今的gis系统呈现应用越来越广泛的发展趋势,由于gis系统的数据特性及模型集成化展示特性,在展示过程中对数据带宽及算力的消耗不菲。用户如果想进行gis系统的展示,在硬件和软件上需要进行一定投资,过多的前期投资不利于gis系统的市场扩展,因此需要一种将gis引擎轻量化,使其更容易在用户端运行的方法。


技术实现要素:

4.基于现有技术中存在的上述缺点和不足,本发明的目的之一是至少解决现有技术中存在的上述问题之一或多个,换言之,本发明的目的之一是提供满足前述需求之一或多个的一种轻量化3d-gis构建方法及引擎。
5.为了达到上述发明目的,本发明采用以下技术方案:一种轻量化3d-gis构建方法,具体包括如下步骤:s1、将地理信息分为若干细度等级,每个所述细度等级的地理信息根据地理位置分割为若干区块,每个上层细度等级的区块覆盖若干下层细度等级的区块,所述上层细度等级的区块包含被其覆盖的区块的整合地理信息;s2、获取目标展示区域、所述目标展示区域的中心区域;s3、根据所述目标展示区域的大小确定展示细度等级,进一步根据所述目标展示区域的中心区域确定处于所述中心区域的区块;s4、将处于所述中心区域的区块以所述展示细度等级渲染模型及展示地理信息,将所述目标展示区域内、所述中心区域外以所述展示细度等级的上层细度等级渲染模型及展示地理信息。
6.作为优选方案,所述上层细度等级中的模型为所述下层细度等级中对应模型的低模替换。
7.作为优选方案,所述步骤s4之前还包括:s40、对所述地理信息进行二级筛选,选取展示的地理信息类别。
8.作为进一步优选的方案,所述步骤s4之前还包括:s400、对所述模型进行三级筛选,选取渲染的模型类别。
9.另一方面,本发明还提供另一种轻量化3d-gis构建方法,具体包括如下步骤:s1、将地理信息分为若干细度等级,每个所述细度等级的地理信息根据地理位置
分割为若干区块,每个上层细度等级的区块覆盖若干下层细度等级的区块,所述上层细度等级的区块包含被其覆盖的区块的整合地理信息;s2、获取目标展示区域、所述目标展示区域的中心区域;s3、根据所述目标展示区域的大小确定展示细度等级,进一步根据所述目标展示区域的中心区域确定处于所述中心区域的区块;s4、将处于所述中心区域的区块以所述展示细度等级渲染模型及展示地理信息,将所述目标展示区域内、所述中心区域外以所述展示细度等级的上层细度等级展示地理信息、且不渲染模型。
10.另一方面,本发明还提供一种轻量化3d-gis引擎,包括:数据库模块,所述数据库模块用于存储地理信息,并将所述地理信息以若干细度等级重复存储,每个细度等级的地理信息根据地理位置分割为若干区块,每个上层细度等级的区块覆盖若干下层细度等级的区块,所述上层细度等级的区块包含被其覆盖的区块的整合地理信息;区域选取模块,选取目标展示区域及所述目标展示区域的中心区域;区域判断模块,根据所述目标展示区域的大小确定展示细度等级,并确定处于中心区域的区块;渲染模块,从所述区域判断模块获取展示细度等级及处于所述中心区域的区块,根据所述展示细度等级及所述处于中心区域的区块从所述数据库模块中提取相应区块的地理信息,将处于所述中心区域的区块以所述展示细度等级渲染模型,将处于所述目标展示区域内、所述中心区域外的区块以所述展示细度等级的上层细度等级渲染模型;展示模块,从所述区域判断模块获取展示细度等级及处于所述中心区域的区块,根据所述展示细度等级及所述处于中心区域的区块从所述数据库模块中提取相应区块的地理信息,将处于所述中心区域的区块以所述展示细度等级展示地理信息,将处于所述目标展示区域内、所述中心区域外的区块以所述展示细度等级的上层细度展示地理信息。
11.作为优选方案,引擎还包括:第一筛选模块,用于对所述地理信息进行二级筛选。
12.作为优选方案,引擎还包括:第二筛选模块,用于对所述模型进行三级筛选。
13.作为优选方案,引擎还包括:信息整合模块,所述信息整合模块与所述数据库模块连接,用于整合某一细度等级的地理信息,得到上层细度等级的地理信息并存储至所述数据库模块。
14.作为进一步优选的方案,引擎还包括:模型优化模块,所述模型优化模块与所述数据库模块连接,用于从某一细度等级的地理信息中提取模型数据,根据所述模型数据生成对应的底模替换,并将所述底模替换存储至上层细度等级的地理信息。
15.本发明与现有技术相比,有益效果是:本发明的方法及引擎聚焦于目标展示区域的中心区域进行高精度、细致展示,并在目标展示区域的边缘进行低精度的粗略展示,在满足用户需求的前提下减少了数据传输量及渲染的计算量,实现了gis引擎的轻量化。
具体实施方式
16.为了更清楚地说明本发明实施例,下面将说明本发明的具体实施方式。显而易见地,下面的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些实施例获得其他的实施方式。
17.本实施例提供一种轻量化3d-gis构建方法,用于减少地理信息渲染及展示时的计算负载,方法具体包括如下步骤:s1、首先,将地理信息分为多个细度等级,更上层的细度等级具有更大的数据颗粒度。在整个地理信息的范围中,根据地理位置将地理信息的范围分割为多个区块,区块的大小与数据颗粒度的大小相对应。
18.处于下层的细度等级具有比其上一层细度等级更多更密集的区块,每个上层细度等级的区块所占据的地理位置都在下层细度等级中具有多个更小数据颗粒度的区块,在一处给定的地理位置中,上层细度等级区块的地理信息是对应下层细度等级区块地理信息的整合,从而使各个细度等级的区块组合构建成金字塔形式的数据相关结构。
19.在地理信息的整合方面,上层细度等级的各个区块中,其存储的地理信息一般是其覆盖的全部下层细度等级区块的统计信息,具体的,假设每个下层细度等级的区块分别包括了各条道路的车流量、建筑中的人口数等数据,则上层细度等级的区块则包括了其下多个区块的车流量之和、人口数之和。进一步的,由于下层细度等级的区块中,部分车流量的进出数据仍处于上层细度等级的区块范围内,因此在上层细度等级的区块中,车流量数据实际代表的是上层细度等级的区块之间的车流量数据。
20.s2、根据用户、或操作端的控制,选取目标展示区域。该选取可以通过人机交互界面进行,以触控缩放、移动,按键缩放、移动或语音指令等方式将地图镜头选取至指定范围,并将地图镜头所展示的区域设定为目标展示区域。
21.同时,在获取目标展示区域以后,将目标展示区域中心部分一定面积比例的区域设为中心区域。
22.s3、根据当前目标展示区域的大小判断当前合适的细度等级,控制地图镜头内的区块数量处于某一数量区间,则可以得到与当前目标展示区域大小相匹配的细度等级。然后根据当前目标展示区域的中心区域边界进行划分,将目标展示区域划分为处于中心区域内的精细展示区域,和处于中心区域外的粗略展示区域。
23.s4、在此步骤中对目标展示区域进行渲染和展示,同时对于精细展示区域和粗略展示区域,以不同的数据颗粒度进行渲染和展示,从而通过减少粗略展示区域数据需求量及渲染、计算量的方式减少gis引擎的数据带宽、流量及计算负载。
24.对于处于中心区域内的区块,以步骤s3中判断的细度等级获取与这些细度等级、区块位置相对应的地理信息,并从地理信息中提取地形、建筑模型数据,使用地形、建筑模型数据渲染生成区块内地形和建筑的二维或三维图像,并在二维或三维图像的基础上对地理信息进行展示。
25.对于处于中心区域外的区块,以上述细度等级的上层细度等级获取地理信息,并从该上层细度等级的地理信息中提取数据颗粒度更大的较粗略的地形、建筑模型数据,使用较粗略的地形、建筑模型数据渲染生成区块内地形和建筑的二维或三维图像,并在二维或三维图像的基础上对地理信息进行展示。
26.更具体的,在实际应用中,某些上层细度等级的区块部分位于中心区域内,部分位于中心区域外。若某一区块的上层区块满足上述情况,在渲染和展示过程中会产生下层区块与上层区块重叠的情况。因此,在步骤s4中对中心区域内的区块做进一步判定,若某一区块处于中心区域内,对该区块的上层区块进行检查,判断其上层区块是否均处于中心区域内。若其上层区块仅有部分处于中心区域内,则在该上层区块覆盖的全部地理位置均使用展示细度等级、也即与该区块平级的细度等级进行渲染及展示。仅完全不处于中心区域内的上层区块才使用上层细度等级进行渲染及展示。
27.作为另一种改进,为了减少地理信息展示所占用的数据带宽、流量及计算量,在步骤s4之前还包括步骤s40,对地理信息进行二级筛选,使用户可以选择仅展示自己需要的地理信息,从而减少步骤s4中地理信息在传输过程中消耗的数据带宽、流量及展示的算力消耗。
28.作为一种改进方案,在上层细度等级的地理信息中,建筑模型数据为下层细度等级的地理信息中建筑模型数据的低精度模型替换,从而在渲染中心区域外的区块时,通过减少模型精度得到更小的数据带宽、流量及渲染计算量。
29.为了进一步减少模型渲染的数据带宽、流量及计算量,在步骤s4之前还包括步骤s400,根据模型预设的类别标签,对模型进行三级筛选,仅获取及渲染需求的模型类别。
30.在本发明的另一个实施例中,在步骤s4中,对于处于中心区域外的区块,以上层细度等级获取地理信息,直接在空白、或用占位模型填充的二维或三维面体上对地理信息进行展示,而不进行模型数据的传输及渲染。节省中心区域外的模型对资源的占用,进一步减少数据带宽、流量及计算量。
31.在本发明的另一个实施例中,提供了一种轻量化3d-gis引擎,在数据传输时仅使用少量的数据带宽、流量,并在渲染时减少部分计算量,以提高在移动平台或网页端的运行性能。
32.引擎包括如下模块:数据库模块,数据库模块用于存储地理信息,并将地理信息以若干细度等级重复存储,每个细度等级的地理信息根据地理位置分割为若干区块,每个上层细度等级的区块覆盖若干下层细度等级的区块,上层细度等级的区块包含被其覆盖的区块的整合地理信息;区域选取模块,通过人机交互界面,如屏幕或触控屏上,根据用户的操作选取目标展示区域及目标展示区域的中心区域;区域判断模块,根据目标展示区域的大小确定展示细度等级,并确定处于中心区域的区块;渲染模块,从区域判断模块获取展示细度等级及处于中心区域的区块,根据展示细度等级及处于中心区域的区块从数据库模块中提取相应区块的地理信息,将处于中心区域的区块以展示细度等级渲染模型,将处于目标展示区域内、中心区域外的区块以展示细度等级的上层细度等级渲染模型;展示模块,从区域判断模块获取展示细度等级及处于中心区域的区块,根据展示细度等级及处于中心区域的区块从数据库模块中提取相应区块的地理信息,将处于中心区域的区块以展示细度等级展示地理信息,将处于目标展示区域内、中心区域外的区块以展
示细度等级的上层细度展示地理信息。
33.作为改进方案,在一个实施例中,引擎还包括第一筛选模块,用于执行上述方法中对地理信息进行的二级筛选,第一筛选模块根据地理信息的类别选择性地将数据库模块中某一细度等级的部分地理信息发送至渲染模块,在相应的地理位置进行渲染及展示。
34.作为另一种改进,在另一个实施例中,引擎还包括第二筛选模块,用于执行上述方法中对模型进行的三级筛选,第二筛选模块根据模型的类别从地理信息中选择性的将部分模型数据发送至渲染模块,渲染为模型。
35.另外,在一个实施例中,为了提供给本发明的gis引擎对数据进行细度划分的功能,引擎还包括信息整合模块,信息整合模块与数据库模块连接,能够从数据库中获取某一细度等级的地理信息,根据区块的分割对地理信息做整合运算,得到上层细度等级的整合地理信息,并将整合地理信息回传存储至数据库模块中的相应区块。
36.进一步的,引擎还包括模型优化模块,模型优化模块同样与数据库模块连接,从数据库模块中提取模型数据,并根据模型数据生成低精度的替换模型,例如根据点云数据、倾斜数据生成低面数的面体模型,并将面体模型的数据回传存储至数据库模块中的相应区块。
37.应当说明的是,上述实施例仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1