一种支持GIS线对象和面对象连续LOD绘制的方法技术

技术编号:33564827 阅读:52 留言:0更新日期:2022-05-26 23:03
本发明专利技术公开了一种支持GIS线对象和面对象连续LOD绘制的方法,包括以点区域四叉树为原型,初始化空间索引,根据空间索引的层次性重载索引节点和数据的访问函数,通过范围相交查询构建层次编码;单独构建面要素的梯形格网,改进算法,迭代计算各节点的权重并作为增量数据录入数据库,构造包含权重值的要素数据结构;根据节点包围盒与可视化查询窗口的拓扑关系、像素比例尺等信息,从数据库中查询增量数据,对节点进行化简或累积简化;对于线,从线段主体和拐角样式两部分,剖分渲染线要素;对于面,以骨干梯形将梯形格网拆分为梯形链,简化并渲染梯形格网结构下的面要素。本发明专利技术可以实现矢量地图中线要素和面要素连续LOD的高性能绘制。绘制。绘制。

【技术实现步骤摘要】
一种支持GIS线对象和面对象连续LOD绘制的方法


[0001]本专利技术涉及地理信息系统(GIS)、计算机辅助设计(CAD)、计算机地图制图(CAC),导航地图、电子地图、手机地图领域,特别涉及一种GIS线对象和面对象连续LOD绘制的方法。

技术介绍

[0002]地图可视化一直是现代地图学的核心,地图可视化方法的性能和质量对高交互的制图和分析具有重要意义。大数据时代的到来,使得当前可视化方法难以应对矢量数据的海量性和复杂性带来的地图高交互性和数据查询与交互的挑战,矢量数据渲染所涉及的多尺度空间索引技术、LOD技术等方面的研究较为缺乏。
[0003]多尺度空间索引技术根据可视化尺度来获取用于快速显示的不同尺度的数据。常见的多尺度空间索引方法以Reactive

tree为代表,包括R树、R*树、SR树等。这些方法能够优先获取尺度较大、重要性较高的矢量数据,但破坏了空间索引的平衡性,改变了原有空间索引的存储方法,降低了数据查询效率。同时,当前多尺度索引多为面向数据快速获取,并未考虑数据调度成本与数据LOD成本。LOD技术分为静态LOD与连续LOD。静态LOD方法多围绕生成不同精度数据的质量和效率展开。常见的静态LOD方法包括顶点聚类算法、浮动栅格聚类方法、ICE等。静态LOD在可视化性能上有着优越表现,但需要较长的预处理时间,同时导致相邻比例尺下,不同层次细节之间难以平滑过渡。连续LOD的研究主要围绕矢量数据简化和累积简化。常见的简化算法多为从原始数据进行简化得到最终的简化数据,并未考虑简化后数据重复利用。目前还未形成一个通用的、高质量的GIS线对象和面对象连续LOD绘制方法。

技术实现思路

[0004]本专利技术的目的在于解决当前大规模矢量数据带来的地图可视化效率低、空间索引未考虑矢量数据LOD调度问题,提供一种基于GPU的要素连续LOD绘制方法,实现线要素和面要素连续LOD高性能渲染。
[0005]本专利技术的总体思路是:针对基于数据库的外部空间索引查询方法的数据查询与调度效率低问题,设计层次编码;针对矢量要素增量数据难以统一管理问题,设计矢量数据存储与组织结构;针对矢量数据LOD快速获取问题,设计基于层次编码索引结构的数据查询与调度方法;针对数据渲染效率低问题,设计基于GPU环境和要素样式的数据剖分与LOD算法。
[0006]本专利技术一种支持GIS线对象和面对象连续LOD绘制方法,包括以下几个步骤:步骤1,以点区域四叉树初始化空间索引,重载索引节点和数据的访问函数,通过范围相交查询构建索引节点及其数据的层次编码;步骤2,先单独构建面要素的梯形格网结构,再改进DP算法,迭代计算要素各节点的权重值,并将权重值作为增量信息录入数据库,再构建包含权重值的要素数据结构;步骤3,根据节点包围盒与可视化查询窗口的相交关系,以及节点数据的累积简化
状态,从数据库中查询增量数据,对节点进行化简或累积简化;步骤4,在GPU中,去除相邻线段重复部分,绘制线段主体,再针对平角、斜角、圆角三种拐角样式,剖分绘制线段拐角;以骨干梯形将梯形格网拆分成梯形链,结合数据库中的增量信息,对细节梯形进行合并简化与累积简化,最终渲染面要素。
[0007]上述步骤1具体包括:(1)根据OGR图层的要素总量,计算索引层数,使得索引层数相对平衡,保证四叉树的高度适中;(2)以点区域四叉树为原型,生成基础的空间索引,并向树中插入要素的ID与范围;(3)对于点区域四叉树的节点访问和数据访问函数,进行自定义的重载,根据节点的层数生成相应的节点编码,再基于节点的编码,给节点下的各个数据赋予编码;(4)经过(1)、(2)和(3)可以得到反映空间索引层次性的层次编码索引结构。以层次编码为序的数据存储顺序与空间分布相关,即具有共同祖先节点的数据在线性空间中被存储到一起,能够大幅提高数据的查询和调度效率。
[0008]上述步骤2具体包括:(1)先单独对面要素构建梯形格网,逐一获取面要素外环和各内环上的点坐标与点个数,根据点的坐标数据与点的总数,利用水平扫描线,逐个扫描行将面要素切分成梯形面片,形成梯形连通图并基于梯形连通图,将梯形面片划分为骨干梯形与细节梯形两类;遍历梯形链,以梯形格网平行边为节点,梯形为节点连接线,构建平行边多段线图。(2)获取要素第一个和最后一个节点组成节点对,根据节点对的坐标数据,计算位于节点对之间各节点的权重值,找到权重值最大的节点,以该节点与节点对的两个节点分别形成新的两组节点对,再次计算节点对之间各顶点的权重值,以此不断迭代计算要素各节点的权重。(3)将节点权重值作为要素的增量信息,录入数据库。最终,构造包含权重值的要素数据结构。(4)经过(1)、(2)和(3)可以得到针对LOD、更完善的要素数据结构体系。
[0009]上述步骤3具体包括:(1)判断可视化窗口与空间索引范围是否相交,若相交,则取相交范围为实际查询范围,否则不进行渲染更新;再判断实际查询范围、比例尺、选择ID数,若任一项与前一次不同,则更新本次查询范围、比例尺、选择ID数,否则不进行渲染更新;(2)根据节点的包围盒与像素比例尺、可视化查询窗口与像素比例尺,结合节点数据的累积简化状态,对节点进行几何数据查询;(3)一方面,当内存中数据已满足可视化分辨率细节需求时,删除冗余的节点数据;另一方面,根据从数据库中查询得到的增量数据,对未满足可视化需求的节点进行展开;(4)经过(1)、(2)和(3)可以得到面向LOD可视化的渲染数据集。
[0010]上述步骤4具体包括:在GPU环境下,绘制线要素时,对于线的主体绘制,通过平行线推移去除相邻线段的重复部分,减少曲线的重叠绘制;对于线的拐角样式绘制,将线要素拐角的连接样式分为平角、斜角、圆角三种样式,连接推移顶点绘制平角样式,以交点将拐角缺口剖分成两三角形绘制斜角样式,采用顶点旋转方式绘制圆角样式。绘制面要素时,基于步骤2的梯形格网结构,根据梯形连通图,以骨干梯形将梯形格网拆分成多段由多个细节梯形组成的梯形链,同时从数据库中获取的增量信息。一方面,对相邻细节梯形基于权重进行合并简化;另一方面,以原始梯形和增量信息中的顶点,构成新的细节梯形进行累积简化。最终对简化结果进行渲染。
[0011]有益效果:本专利技术能够支持GIS线对象和面对象进行高性能的连续LOD绘制,满足地图可视化高交互的快速响应需求,同时直接保留原始几何数据的完整性,便于空间数据的查询与空间操作。与Reactive

tree相比,本方法的空间索引避免破环原有的空间索引结
构,实现了对数据库中空间数据的范围查询,同时提高空间索引查询效率。与常见的静态、连续LOD方法相比,本方法顾及可视化中矢量数据量与数据LOD的关系,面向数据LOD渲染设计空间索引结构和数据调度方法,最终在GPU环境下完成线要素和面要素的剖分与渲染。
附图说明
[0012]图1本专利技术方法的流程图;图2层次编码示意图;图3数据组织结构与逻辑结果示意图,(a)要素组织结构,(b)数据与节点逻辑存储结构;图4扫描剖分示意图;图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持GIS线对象和面对象连续LOD绘制的方法,其特征在于,包括如下步骤:步骤1,以点区域四叉树初始化空间索引,重载索引节点和数据的访问函数,通过范围相交查询构建索引节点及其数据的层次编码;步骤2,先单独构建面要素的梯形格网结构,再改进DP算法,迭代计算要素各节点的权重值,并将权重值作为增量信息录入数据库,再构建包含权重值的要素数据结构;步骤3,根据节点包围盒与可视化查询窗口的相交关系,以及节点数据的累积简化状态,从数据库中查询增量数据,对节点进行化简或累积简化;步骤4,在GPU中,去除相邻线段重复部分,绘制线段主体,再针对平角、斜角、圆角三种拐角样式,剖分绘制线段拐角;以骨干梯形将梯形格网拆分成梯形链,结合数据库中的增量信息,对细节梯形进行合并简化与累积简化,最终渲染面要素。2.根据权利要求1所述的一种支持GIS线对象和面对象连续LOD绘制的方法,其特征在于,所述步骤1具体包括:(1)根据OGR图层的要素总量,计算索引层数,使得索引层数相对平衡,保证四叉树的高度适中;(2)以点区域四叉树为原型,生成基础的空间索引,并向树中插入要素的ID与范围;(3)对于点区域四叉树的节点访问和数据访问函数,进行自定义的重载,根据节点的层数生成相应的节点编码,再基于节点的编码,给节点下的各个数据赋予编码;(4)经过(1)、(2)和(3)得到反映空间索引层次性的层次编码索引结构;以层次编码为序的数据存储顺序与空间分布相关,在线性空间中存储具有共同祖先节点的数据。3.根据权利要求1所述的一种支持GIS线对象和面对象连续LOD绘制的方法,其特征在于,所述步骤2具体包括:(1)单独对面要素构建梯形格网,逐一获取面要素外环和各内环上的点坐标与点个数,根据点的坐标数据与点的总数,利用水平扫描线,逐个扫描行将面要素切分成梯形面片,形成梯形连通图并基于梯形连通图,将梯形面片划分为骨干梯形与细节梯形两类;遍历梯形链,以梯形格网平行边为节点,梯形为节点连接线,构建平行边多段线图;(2)获取要素第一个和最后一个...

【专利技术属性】
技术研发人员:吴明光沈飞闾国年陈康正
申请(专利权)人:南京师范大学
类型:发明
国别省市:

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

1