一种基于平滑渲染模式的地理信息数据融合可视化方法技术

技术编号:36451117 阅读:38 留言:0更新日期:2023-01-25 22:47
本发明专利技术公开了一种基于平滑渲染模式的地理信息数据融合可视化方法,针对包含地理信息的各图层,基于GPU、CPU,以及OpenGL工具,并采用四叉树构造方法、视锥体可视剔除算法、图形渲染缓存机制、多线程技术,完成各图层的融合渲染,并在设备端进行显示,该方法采用了多图层数据高度融合渲染的可视化方法,能够充分利用GPU并行计算的能力,解决了地理信息多图层平滑融合渲染的问题,提高了渲染效率。提高了渲染效率。提高了渲染效率。

【技术实现步骤摘要】
一种基于平滑渲染模式的地理信息数据融合可视化方法


[0001]本专利技术涉及数据可视化领域,具体涉及一种基于平滑渲染模式的地理信息数据融合可视化方法。

技术介绍

[0002]可视化分析是有效地融合地理信息数据并借助交互技术引导用户全面而细致地分析所呈现的多维、时空、动态、关联等特征。为了辅助用户精细化决策,研究基于多层级融合显示技术,才能有效适应用户多方位了解态势情况的需求。多层级融合可视化方式涉及到场景图层之间的变换问题,需要考虑到用户的视觉体验,为了能够给予用户更友好的交互效果,引入了透明度渲染的概念。在透明现象渲染领域存在较多的研究,如引入加权混合顺序的独立分层解决方案,提高颜色准确性的透明度,确保顺利跨层转换,但考虑到地理信息数据的多样化及复杂性,该方案在GIS可视化(即地理信息可视化)领域的适应性不足,因为GIS可视化渲染需要考虑的因素较多,如渲染效率、矢量融合等。目前,对现实世界的地图数据表达可以采用矢量和栅格数据模型。矢量瓦片类似栅格瓦片,借助多层次模型技术,将矢量数据分割成矢量要素描述文件并存储在服务器端,然后,由客户端请求服务数据并根据指定样式进行渲染绘制地图。当客户端通过分布式网络获取矢量瓦片、地图标注字体、图标、样式文件等数据后,最终在客户端进行渲染输出地图。考虑地理信息数据的特殊性,合理的解决方案是,在GIS实时可视化渲染过程中,实现半透明渲染的通常做法是将在场景不透明物体完成渲染之后,对场景中半透明物体到摄像机的距离进行排序,从距离摄像机最远的的物体开始逐个叠加渲染,并在渲染中与输出缓冲中的原有颜色进行混合叠加。
[0003]一般来讲,为了辅助用户进行态势场景的分析,用户会关注更丰富的场景元素,如打开数字地球的时候,人们更乐意观察到地图的模式,从全局的角度鸟瞰国家、地区等情况,随着视高的不断拉近,数字地球将会展现更逼真的带有高程的影像效果,基于此,人们可以进行各种空间分析活动,当视点与地面的距离再次降低的时候,除了展现更加精细化的地形,融合更多的矢量元素将会更加符合用户的需求。
[0004]在动态图形显示系统中,三维地球调度、专业计算、信息处理、图形拾取、相机运算等都是由CPU完成的,GPU只是负责图形数据的渲染,随着图形数量的增加,二者均会产生更大的运算负荷。为了提高图形渲染的效率,更多的研究针对CPU与GPU的协同计算,而在GIS可视化环境中,更多的情况是,GPU的并行运算能力并未被充分利用。

技术实现思路

[0005]本专利技术目的:在于提供一种基于平滑渲染模式的地理信息数据融合可视化方法,该方法针对现有技术的不足,解决对地理信息系统多图层平滑融合渲染的问题。
[0006]为实现以上功能,本专利技术设计一种基于平滑渲染模式的地理信息数据融合可视化方法,针对目标区域所对应的包含同层级地理信息的各图层,执行步骤S1

步骤S6,基于GPU、CPU,以及OpenGL工具,对各图层进行融合渲染,并在设备端进行显示:
[0007]步骤S1:基于四叉树构造方法,对包含地理信息的至少一个图层进行切片处理,获得各图层分别对应的数据块集合,其中,将各图层表示为图层α1,α2,

α
n
,n表示图层总数,n≥1;
[0008]步骤S2:分别针对图层α1,α2,

α
n
,基于视锥体可视剔除算法,剔除视域之外的各数据块,以视域内的各数据块分别构建与各图层相对应的数据序列结合图形渲染缓存机制,对数据序列进行更新,剔除缓存中已存在的数据块,获得更新后的数据序列
[0009]步骤S3:针对缓存中已存在的数据块,将其传送到GPU的显存进行渲染,并在设备端进行显示,针对数据序列基于CPU调度采用多线程技术引接数据序列到内存中,引接过程中各数据序列分别开辟一条线程;
[0010]步骤S4:针对数据序列采用多线程技术,以数据块为单位进行融合,形成多线程融合的数据结构,其中融合过程中的融合元素包括颜色指令集,其中颜色指令为基于视高的透明度变化参数;
[0011]步骤S5:基于OpenGL工具的OpenGL纹理共享机制,将多线程融合的数据结构送到GPU的显存进行渲染;
[0012]步骤S6:将渲染完成后的多线程融合的数据在设备端进行显示,并对缓存中的数据块进行更新。
[0013]作为本专利技术的一种优选技术方案:步骤S1中所述图层的形式包括影像图、矢量图中的一种或多种,对应数据块形式为影像栅格瓦片或矢量瓦片。
[0014]作为本专利技术的一种优选技术方案:步骤S1中基于四叉树构造方法所划分的数据块内的数据集p
k
表达式如下式:
[0015]p
k
={y
i,j
|y
i,j
=H(x,z),0≤i,j≤p
size
,x=p
xoff
+2
k
·
i,y=p
zoff
+2
k
·
j}
[0016]式中,k为四叉树结构的细节层级,2
k
为采样的空间间隔,y
i,j
为顶点坐标对应的高程值,H(x,z)为高程值表示函数,x,z为采样顶点空间坐标,i,j为数据块内网格坐标,p
xoff
、p
zoff
为地形块内的偏移量,p
size
为每个层级行列编号的最大值。
[0017]作为本专利技术的一种优选技术方案:步骤S2中图形渲染缓存机制的具体方法如下:
[0018]基于视域内当前视点V,定义以当前视点V为中心,与当前视点V相邻的4个数据块为一级缓冲区域Cache1,以一级缓冲区域Cache1为中心,向四周各扩展一个数据块,定义该扩展区域为二级缓冲区域Cache2,根据当前视点V移动方向,更新一级缓冲区域Cache1、二级缓冲区域Cache2中的数据块,在内存中建立一个缓冲区,用于存储上述一级缓冲区域Cache1、二级缓冲区域Cache2中的数据块。
[0019]作为本专利技术的一种优选技术方案:步骤S4中融合的过程如下:
[0020]定义数据序列中第i个数据块为根据各数据块所属场景,所形成的多线程融合的新型数据结构如下式:
[0021][0022]其中,中的数据块属于场景m,f(x)
m
表示场景m的透明度,其中m取a或b,f(x)
a
为场景a的透明度,f(x)
a
=|h
a

x|/|h
a

h
b
|,h
a
为场景a的视高,h
b
为场景b的
视高,x为视点变量,其初始值为0;f(x)
b
为场景b的透明度,f(x)
b
=|x

h
b
|/|h
a
...

【技术保护点】

【技术特征摘要】
1.一种基于平滑渲染模式的地理信息数据融合可视化方法,其特征在于,针对目标区域所对应的包含同层级地理信息的各图层,执行步骤S1

步骤S6,基于GPU、CPU,以及OpenGL工具,对各图层进行融合渲染,并在设备端进行显示:步骤S1:基于四叉树构造方法,对包含地理信息的至少一个图层进行切片处理,获得各图层分别对应的数据块集合,其中,将各图层表示为图层α1,α2,

α
n
,n表示图层总数,n≥1;步骤S2:分别针对图层α1,α2,

α
n
,基于视锥体可视剔除算法,剔除视域之外的各数据块,以视域内的各数据块分别构建与各图层相对应的数据序列结合图形渲染缓存机制,对数据序列进行更新,剔除缓存中已存在的数据块,获得更新后的数据序列步骤S3:针对缓存中已存在的数据块,将其传送到GPU的显存进行渲染,并在设备端进行显示,针对数据序列基于CPU调度采用多线程技术引接数据序列到内存中,引接过程中各数据序列分别开辟一条线程;步骤S4:针对数据序列采用多线程技术,以数据块为单位进行融合,形成多线程融合的数据结构,其中融合过程中的融合元素包括颜色指令集,其中颜色指令为基于视高的透明度变化参数;步骤S5:基于OpenGL工具的OpenGL纹理共享机制,将多线程融合的数据结构送到GPU的显存进行渲染;步骤S6:将渲染完成后的多线程融合的数据在设备端进行显示,并对缓存中的数据块进行更新。2.根据权利要求1所述的一种基于平滑渲染模式的地理信息数据融合可视化方法,其特征在于,步骤S1中所述图层的形式包括影像图、矢量图中的一种或多种,对应数据块形式为影像栅格瓦片或矢量瓦片。3.根据权利要求2所述的一种基于平滑渲染模式的地理信息数据融合可视化方法,其特征在于,步骤S1中基于四叉树构造方法所划分的数据块内的数据集p
k
表达式如下式:p
k
={y
i,j
|y
i,j
=H(x,z),0≤i,j≤p
size
,x=p
xoff
+2
k
·
i,y=p
zoff
+2
k
·
j}式中,k为四叉树结构的细节层级,2
k
为采样的空间间隔,y
i,j
为顶点坐标对应的高程...

【专利技术属性】
技术研发人员:付琨王洋俞信徐乃庭陈星彭熊清刘辉
申请(专利权)人:苏州空天信息研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1