CN117237503B - 一种地理要素数据加速渲染及装置 - Google Patents

一种地理要素数据加速渲染及装置 Download PDF

Info

Publication number
CN117237503B
CN117237503B CN202311208228.5A CN202311208228A CN117237503B CN 117237503 B CN117237503 B CN 117237503B CN 202311208228 A CN202311208228 A CN 202311208228A CN 117237503 B CN117237503 B CN 117237503B
Authority
CN
China
Prior art keywords
vector data
distribution range
density
data
elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311208228.5A
Other languages
English (en)
Other versions
CN117237503A (zh
Inventor
曾涛
王跃飞
周俊兆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Hanqiu Data Technology Co ltd
Original Assignee
Wuhan Hanqiu Data Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Hanqiu Data Technology Co ltd filed Critical Wuhan Hanqiu Data Technology Co ltd
Priority to CN202311208228.5A priority Critical patent/CN117237503B/zh
Publication of CN117237503A publication Critical patent/CN117237503A/zh
Application granted granted Critical
Publication of CN117237503B publication Critical patent/CN117237503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明涉及三维信息渲染技术领域,为一种地理要素数据加速渲染及装置。通过对矢量数据中的要素密度和要素分布范围进行分层处理构建关于矢量数据中的四叉树结构,此四叉树结构能够在绘制渲染过程中对于待渲染的矢量数据进行要素索引,并实现对于矢量数据中各要素不同层次的存储和索引,并通过关于矢量要素的渲染方法实现基于矢量数据的大型地图连续性渲染。此方法能够应用在连续性渲染过程中,实现对于大型地图的快速渲染。

Description

一种地理要素数据加速渲染及装置
技术领域
本发明涉及三维信息渲染技术领域,为一种地理要素数据加速渲染及装置。
背景技术
大规模的地图可视化和渲染需要计算机图形学、计算几何、地理信息科学、卫星遥感技术等多个领域的知识,该关键技术主要应用于实时三维真实感显示、地形渲染、仿真、虚拟现实以及数字地面模型的多分辨率表达。三维地形绘制广泛应用于多种现实应用场景:道路设计、土地规划、水利工程、矿山工程、地形漫游等。三维地形绘制的场景应用在这些领域中,增强真实性、沉浸感和吸引力,能够更清晰地分析具体工程应用场景,从多个角度纵观场景,帮助决策者更好地做出决策。三维地貌生成与可视化绘制技术主要涉及高精度数据的收集、对高质量数据进行处理、通过计算机对复杂地形数据进行绘制等步骤。
尤其是随着信息与通信技术的发展,人类步入了大数据时代。矢量数据作为重要的地图可视化对象,其规模和精度以前所未有的速度增长,给地图可视化带来了极大的挑战。海量矢量数据的查询与调度、符号化计算以及符号绘制等时间长等问题,导致矢量地图的渲染效率降低,难以满足人类对地图高交互性的需求。因此,如何提高矢量数据的查询与调度性能,减少地图符号计算和绘制时间成本成为当前地图可视化的一个难题。
针对大规模矢量数据的高性能渲染,在现有技术中主要是围绕数据组织与空间索引技术、LOD(Level of Detail,LOD)技术和GPU(Graphic Processing Unit)硬件加速渲染等方面。其中LOD技术是主要的发展方向,LOD技术是通过多层次细节,对数据进行分层操作,对于每层数据有不同形式的表达。LOD技术在保证绘制效果的基础上,通过对复杂场景的数据简化来提高数据渲染性能。矢量地图静态LOD方法,采用多级瓦片、多版本存储技术实现对地理数据多分辨率显示,能够显著提高大规模矢量数据的可视化效率,但存在数据预处理时间长、数据量冗余、瓦片间尺度跳跃大等问题。而矢量地图连续LOD方法多针对线和面要素进行处理,且为内存式处理结构,导致计算机内存负载较高。同时当前连续LOD方法对点要素LOD方法研究以及对数据LOD与空间索引关系考虑较少。
发明内容
为了解决以上的问题,本申请提供一种地理要素数据加速渲染及装置,能够基于矢量数据构建对应的四叉树结构,实现对于矢量数据中各要素不同层次的存储和索引,并通过关于矢量要素的渲染方法实现基于矢量数据的大型地图连续性渲染。
为了达到上述目的,本申请实施例采用的技术方案如下:
第一方面,提供一种地理要素数据加速渲染方法,所述方法包括:获取矢量数据以及所述矢量数据中要素密度和要素分布范围,并根据所述要素密度以及所述要素分布范围在当前尺度下是否满足预设阈值要求,当不满足所述预设阈值时进行分层处理直至满足所述预设阈值要求,形成四叉树结构,并对所述四叉树结构进行编码形成四叉树编码结构并保存;所述要素包括点要素、线要素和面要素,所述要素密度包括点要素密度、线要素密度和面要素密度,所述要素分布范围包括点要素分布范围、线要素分布范围和面要素分布范围;从所述四叉树编码结构中搜索出待渲染的区域的范围内的矢量要素,并生成调度信息,根据所述调度信息和属性文件,对待加载的矢量数据进行加载;基于所述四叉树结构将当前视口的画布中需要绘制的所有图层的读取和绘制顺序对应设置,并且使用布尔值来记录当前视口的画布中每个像素点是否已被绘制,并针对未绘制的像素点进行绘制;所述图层为当前视口内同一类型的要素的集合;所述像素点为当前视口的画布中的一个最小绘制单位。
进一步的,所述并根据所述要素密度以及所述要素分布范围在当前尺度下是否满足预设阈值要求,当不满足所述预设阈值时进行分层处理直至满足所述预设阈值要求,包括:确定所述要素密度是否大于预设要素密度阈值,当大于所述预设密度阈值时对所述矢量数据进行分层处理;当小于所述要素密度阈值时,判断所述要素分布范围是否小于预设分布范围阈值时,进行进一步分层处理,直至对每层进行判断直到在相对应尺度下,所述要素分布密度和所述要素分布范围都满足阈值要求为止。
进一步的,所述获取矢量数据中要素密度,包括:获取所述矢量数据中要素个数以及当前矢量数据的显示范围,并基于下式进行确定:ρ=n/s,其中n为要素个数,S为当前矢量数据的显示范围。
进一步的,所述获取矢量数据中要素分布范围,包括:获取所述矢量数据中要素个数以及当前矢量数据中要素最小分布范围,并基于下式进行确定:p=s/n,其中n为要素个数,S为当前矢量数据中要素最小分布范围。
进一步的,所述分层处理包括:对于当前矢量数据结构对应建立一个层次相同的线性四叉树;以所述当前矢量数据结构的初始级别作为顶层,并将所述顶层与所述线性四叉树的根节点对应,并以此为基础进行分块;在所述当前矢量数据结构除去顶层后的第一层结构进行分层处理,将矢量地图中的每一数据块按照拓扑关进行均匀分割成四个矢量数据块,多个所述矢量数据块对应于所述线性四叉树的根结点上的四个子结点;以上述过程对各层进行分割,直到最后一层。
进一步的,所述编码方式为地址码编码。
进一步的,所述属性文件记录的信息包括矢量类型和颜色,所述属性文件基于待渲染的样式进行建立。
进一步的,所述绘制方法为要素符号化渲染方法,分别对所述点要素、线要素和面要素进行绘制。
进一步的,所述分别对所述点要素、线要素和面要素进行绘制,包括:当绘制对象为所述点要素时,针对于所述点要素进行绘制包括:获取所述点要素的离散度,基于所述离散度预设值确定对应的点要素离散度分级,所述点要素离散度分级包括第一分级和第二分级,所述第一分级和所述第二分级分别对应第一点要素渲染策略和第二点要素渲染策略,所述第一点要素渲染策略基于地图符号进行要素表达并进行渲染,所述第二点要素渲染策略通过调取点要素属性文件中所对应的颜色信息,并根据所述颜色信息进行要素表达并进行渲染;当绘制对象为所述线要素时,所述遍历所述线要素的顶点,判断要素顶点权重是否小于像素比例尺,当所述顶点权重小于所述像素比例尺,则删除该顶点,记录删除顶点数目,当大于所述像素比例尺时,保留当前顶点,并基于已删除顶点数目进行顶点偏移内存偏移,获得最终待渲染的最终顶点数据,并基于所述最终顶点数据进行渲染;当绘制对象为所述面要素时,确定所述面要素内的填充符号的间距,当所述间距小于设置的第三阈值,则认为所述面要素不需符号化,将要素进行面域填充;当所述间距大于设置的第二阈值并且所述面要素的填充符号的外包转换到视口后的宽度均小于设置的第三阈值,则认为该要素内的填充符号不需符号化,将要素的填充符号绘制成单点。
第二方面,提供一种地理要素数据加速渲染装置,所述装置包括:数据索引构建模块,用于基于矢量数据中要素密度和要素分布范围构建关于矢量数据的四叉树结构;矢量数据加载模块,用于从所述四叉树编码结构中搜索出待渲染的区域的范围内的矢量要素,并生成调度信息,根据所述调度信息和属性文件,对待加载的矢量数据进行加载;绘制模块,用于将所述四叉树结构将当前视口的画布中需要绘制的所有图层的读取和绘制顺序对应设置,并且使用布尔值来记录当前视口的画布中每个像素点是否已被绘制,并针对未绘制的像素点进行绘制。
第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
本申请实施例提供的技术方案中,通过对矢量数据中的要素密度和要素分布范围进行分层处理构建关于矢量数据中的四叉树结构,此四叉树结构能够在绘制渲染过程中对于待渲染的矢量数据进行要素索引,并实现对于矢量数据中各要素不同层次的存储和索引,并通过关于矢量要素的渲染方法实现基于矢量数据的大型地图连续性渲染。此方法能够应用在连续性渲染过程中,实现对于大型地图的快速渲染。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图中的方法、系统和/或程序将根据示例性实施例进一步描述。这些示例性实施例将参照图纸进行详细描述。这些示例性实施例是非限制的示例性实施例,其中示例数字在附图的各个视图中代表相似的机构。
图1是本申请实施例提供的地理要素数据加速渲染方法流程示意图。
图2是本申请实施例提供的地理要素数据加速渲染装置结构图。
图3是本申请实施例提供的渲染设备结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
在下面的详细描述中,通过实例阐述了许多具体细节,以便提供对相关指导的全面了解。然而,对于本领域的技术人员来说,显然可以在没有这些细节的情况下实施本申请。在其他情况下,公知的方法、程序、系统、组成和/或电路已经在一个相对较高水平上被描述,没有细节,以避免不必要的模糊本申请的方面。
本申请中使用流程图说明根据本申请的实施例的系统所执行的执行过程。应当明确理解的是,流程图的执行过程可以不按顺序执行。相反,这些执行过程可以以相反的顺序或同时执行。另外,可以将至少一个其他执行过程添加到流程图。一个或多个执行过程可以从流程图中删除。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
(1)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
(2)基于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
地图可视化将电子设备的视觉传输能力和人类的视觉思维能力协同起来,通过以图形、图像等直观方式对复杂、抽象的地理数据进行渲染表达,为人们直观、交互式的分析地理数据以及探索地理规律提供了有力的帮助。因此,地图可视化的质量和效率一直是地图领域的两个重要技术发展方向。
随着信息与通信技术的发展,人类步入了大数据时代。矢量数据作为重要的地图可视化对象,其规模和精度以前所未有的速度增长,给地图可视化带来了极大的挑战。海量矢量数据的查询与调度、符号化计算以及符号绘制等时间长等问题,导致矢量地图的渲染效率降低,难以满足人类对地图高交互性的需求。因此,如何提高矢量数据的查询与调度性能,减少地图符号计算和绘制时间成本成为当前地图可视化的一个难题。
在现有技术中,针对于对大数据量矢量数据的显示问题,主要采用的是将其转换成栅格数据,再构建金字塔进行显示。但是相较于栅格数据结构简单、属性信息直观表达的特点,矢量数据是对空间实体的抽象化表达,包括点线面三种要素类型。矢量数据不同要素类型具有不同的几何特征,复杂的空间分布特征和丰富的属性信息,要素之间还存在着复杂的拓扑关系。相对于栅格数据,矢量数据更能准确的表达空间实体信息。将矢量数据转换成栅格显示会丢掉矢量数据的一些特性和属性信息。
所以,针对于以上的背景信息,为了解决现有技术中针对于大量矢量数据进行地图绘制的难度,本申请实施例提供的一种地理要素数据加速渲染方法,基于对矢量数据进行分层处理构建关于矢量数据的四叉树结构,并基于此四叉树结构实现渲染过程中的索引路径,并基于索引后的矢量数据进行点要素、线要素和面要素的绘制,实现最终的渲染。其具体的处理过程请参阅图1,包括以下步骤:
步骤S110.获取矢量数据以及所述矢量数据中要素密度和要素分布范围,并根据所述要素密度以及所述要素分布范围在当前尺度下是否满足预设阈值要求,并根据阈值判断形成关于矢量数据的四叉树结构。
在本申请实施例中,针对于要素包括点要素、线要素和面要素,其中对于要素密度和要素分布范围可以具体为要素密度、线要素密度和面要素密度,所述要素分布范围包括点要素分布范围、线要素分布范围和面要素分布范围,其中点要素、线要素和面要素皆为矢量数据中对于数据符号化的要素。
具体的,针对于本申请实施例中的阈值判断具体为:根据所述要素密度以及所述要素分布范围在当前尺度下是否满足预设阈值要求,当不满足所述预设阈值时进行分层处理直至满足所述预设阈值要求。
本申请实施例中此过程中的四叉树是树形结构的一种,其每个结点最多存在四个子结点。其中四叉树结点之间的关系,主要是不同层之间的父子关系及同级结点之间的兄弟关系。四个子结点的关系对应四个数据块的邻接关系。四叉树的四个数据块之间存在方向性,即东南西北四个方向,而树形模型中四个结点是完全平等的,对应于矢量数据分块时的位置信息。
本申请实施例此过程主要是对矢量数据进行分层处理,在现有技术中针对于分层处理主要用于栅格数据,在矢量数据中还并没有应用。在现有技术中,对于矢量数据主要是进行切分为瓦片数据。不同于栅格数据,矢量数据包括点线面要素,通过三种要素及它们之间的组合来表示地理空间地理实体。并且点、线、面要素具有不同的数据结构。所以针对于本申请实施例中分层处理与栅格数据的分层处理不同,无法直接将栅格数据的分层处理直接进行复用。
所以,针对于本申请实施例中矢量数据需要提供一种分层方法,对于每个地理空间实体其本身都有相应的意义,对与其临近的要素有一定的影响。不同的要素其影响范围也不相同,有的范围相对较大,有的相对较小。当要素影响范围内要素过多时,就会出现重叠,过分聚集。为避免这种情况,在要素的影响范围之内不能出现其他要素。也就是对于一个确定的范围,要素个数存在一个最大值保证要素之间不过分的聚集,以至于相互重叠。本申请实施例中采用该最大值与显示范围的比值即要素的密度作为首要的分层依据,其中针对于要素密度公式如下:
ρ=n/s,其中n为要素个数,S为当前矢量数据的显示范围。
但因为针对于要素的空间分布非常的复杂,当要素分布不均匀时,会导致要素局部聚集。为避免该技术问题,本申请实施例在要素密度基础上对要素的分布范围进行了计算,以判断每个要素所占空间范围即要素分布范围,针对于要素分布范围的确定基于矢量数据中要素个数以及当前矢量数据中要素最小分布范围,通过下式进行表达:
p=s′/n,其中n为要素个数,S为当前矢量数据中要素最小分布范围。
而针对于以上两个特征即要素密度和要素分布范围实现分层的方法包括以下过程:
确定所述要素密度是否大于预设要素密度阈值,当大于所述预设密度阈值时对所述矢量数据进行分层处理;当小于所述要素密度阈值时,判断所述要素分布范围是否小于预设分布范围阈值时,进行进一步分层处理,直至对每层进行判断直到在相对应尺度下,所述要素分布密度和所述要素分布范围都满足阈值要求为止。
而针对于具体的分层处理通过基于四叉树映射进行实现,具体的过程为:
对于当前矢量数据结构对应建立一个层次相同的线性四叉树;
以所述当前矢量数据结构的初始级别作为顶层,并将所述顶层与所述线性四叉树的根节点对应,并以此为基础进行分块;
在所述当前矢量数据结构除去顶层后的第一层结构进行分层处理,将矢量地图中的每一数据块按照拓扑关进行均匀分割成四个矢量数据块,多个所述矢量数据块对应于所述线性四叉树的根结点上的四个子结点;
以上述过程对各层进行分割,直到最后一层。
在以上的分层过程中还需要针对于各层比例尺进行确定,此过程依据四叉树结构,每层数据对应的标准比例尺分母是在初始比例尺的基础上,按照1:2的倍率依次递减。其中,针对于初始比例尺的确定基于矢量数据全屏显示时,小于其显示比例尺的国家标准比例尺作为其初始比例尺。
通过以上的处理得到关于矢量数据的四叉树结构,为了对此结构数据进行保存,在本申请实施例中还针对于四叉树结构中的数据进行编码保存,其中编码的方式基于地址码编码实现,针对于常用地址码是十进制Morton码和四进制编码,针对于具体的使用情况可采用其中任意一种编码形式进行编码。
步骤S120.从所述四叉树编码结构中搜索出待渲染的区域的范围内的矢量要素,并生成调度信息,根据所述调度信息和属性文件,对待加载的矢量数据进行加载。
在本申请实施例中,针对于此步骤是基于构建的四叉树结构进行索引的处理过程,即根据确定待渲染区域内的矢量要素,基于矢量要素确定需要调度的渲染资源即调度信息,并根据调度信息呵呵对应的要素竖向文件对矢量数据进行加载。
其中,具体的针对于属性文件中的记录的信息包括矢量类型以及对应的颜色,并且针对于属性文件基于待渲染的样式进行建立。此过程的核心在于建立的四叉树结构,而实现的过程可以基于现有的计算机技术中的线程处理方法术实现,在本申请实施例中不再进行描述。
步骤S130.基于所述四叉树结构将当前视口的画布中需要绘制的所有图层的读取和绘制顺序对应设置,并且使用布尔值来记录当前视口的画布中每个像素点是否已被绘制,并针对未绘制的像素点进行绘制。
在本申请实施例中,针对于图层为当前视口内同一类型的要素的集合;所述像素点为当前视口的画布中的一个最小绘制单位。其中采用到的绘制方法为要素符号化渲染方法,通过此方法分别对点要素、线要素和面要素进行绘制。
其中,因为针对不同绘制对象,其绘制过程也不相同。
具体的,针对于当绘制对象为所述点要素时,针对于所述点要素进行绘制包括:获取所述点要素的离散度,基于所述离散度预设值确定对应的点要素离散度分级,所述点要素离散度分级包括第一分级和第二分级,所述第一分级和所述第二分级分别对应第一点要素渲染策略和第二点要素渲染策略,所述第一点要素渲染策略基于地图符号进行要素表达并进行渲染,所述第二点要素渲染策略通过调取点要素属性文件中所对应的颜色信息,并根据所述颜色信息进行要素表达并进行渲染。
在本申请实施例中,针对于大规模点要素,采用点符号进行要素表达,会导致地图符号压盖,难以反映要素信息。所以针对于此技术问题,本申请实施例依据数据密集程度将点要素渲染分为散点数据符号化渲染和密集型点数据渲染。散点数据符号化渲染即针对数据离散程度较高,使用地图符号进行要素表达,符号绘制压盖较少。密集型点数据渲染,即使用颜色等视觉变量来反映地理数据的空间分布特征和密度等信,其中针对于颜色的获取基于属性文件中对应的点要素属性进行确定。而针对于密集型点数据的渲染过程具体为通过对四叉树编码结构进行索引得到具有统计信息的混合点数据集,再对点数据进行投影转换,进而基于投影后的像素坐标以及数据的统计信息对数据进行快速聚类统计,并利用直方图颜色映射方法生成最终热力图图片。最后,以热力图为纹理以及可视化数据的范围为纹理四个顶点坐标,以纹理贴图的方式进行数据渲染。
在另一个可实施方式中,针对于绘制对象为所述线要素时,因为线要素为几何数据,而针对于几何数据需要进行LOD处理以及依据线样式进行剖分,将符号化图形转换成GPU所能支持的图元。其处理方法包括以下过程:所述遍历所述线要素的顶点,判断要素顶点权重是否小于像素比例尺,当所述顶点权重小于所述像素比例尺,则删除该顶点,记录删除顶点数目,当大于所述像素比例尺时,保留当前顶点,并基于已删除顶点数目进行顶点偏移内存偏移,获得最终待渲染的最终顶点数据,并基于所述最终顶点数据进行渲染。
具体的,针对于本申请实施例中的顶点权重的获取基于下述过程实现:连接线数据中曲线首尾两点形成直线,获取曲线上距离直线距离最大的点,判断第一阈值情况下与节点两端顶点权重的大小,若小于,则以该第一阈值作为顶点的权重,若大于,则以两端节点中的权重最小值作为该节点的权重,将曲线以距离最大的节点为分割点形成新的两条曲线,重复以上步骤,直至曲线中间不存在点,迭代结束,得到最终的顶点权重。
在另一个可实施方式中,当绘制对象为面要素时,确定所述面要素内的填充符号的间距,当所述间距小于设置的第三阈值,则认为所述面要素不需符号化,将要素进行面域填充;当所述间距大于设置的第二阈值并且所述面要素的填充符号的外包转换到视口后的宽度均小于设置的第三阈值,则认为该要素内的填充符号不需符号化,将要素的填充符号绘制成单点。其中,针对于以上过程中的第一阈值、第二阈值和第三阈值为设定的经验阈值,且第一阈值大于第二阈值大于第三阈值。
参阅图2,基于步骤S110-步骤S130还提供一种地理要素数据加速渲染装置200,包括:
数据索引构建模块210,用于基于矢量数据中要素密度和要素分布范围构建关于矢量数据的四叉树结构;
矢量数据加载模块220,用于从所述四叉树编码结构中搜索出待渲染的区域的范围内的矢量要素,并生成调度信息,根据所述调度信息和属性文件,对待加载的矢量数据进行加载;
绘制模块230,用于将所述四叉树结构将当前视口的画布中需要绘制的所有图层的读取和绘制顺序对应设置,并且使用布尔值来记录当前视口的画布中每个像素点是否已被绘制,并针对未绘制的像素点进行绘制。
并且,基于步骤S110-步骤S130还提供一种可执行的渲染设备,此设备可参阅图3,渲染设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器301和存储器302,存储器302中可以存储有一个或一个以上存储应用程序或数据。其中,存储器302可以是短暂存储或持久存储。存储在存储器302的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括渲染设备中的一系列计算机可执行指令。更进一步地,处理器301可以设置为与存储器302通信,渲染设备上执行存储器302中的一系列计算机可执行指令。渲染设备还可以包括一个或一个以上电源303,一个或一个以上有线或无线网络接口304,一个或一个以上输入/输出接口305,一个或一个以上键盘306等。
在一个具体的实施例中,渲染设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对渲染设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取矢量数据以及所述矢量数据中要素密度和要素分布范围,并根据所述要素密度以及所述要素分布范围在当前尺度下是否满足预设阈值要求,并根据阈值判断形成关于矢量数据的四叉树结构;
从所述四叉树编码结构中搜索出待渲染的区域的范围内的矢量要素,并生成调度信息,根据所述调度信息和属性文件,对待加载的矢量数据进行加载;
基于所述四叉树结构将当前视口的画布中需要绘制的所有图层的读取和绘制顺序对应设置,并且使用布尔值来记录当前视口的画布中每个像素点是否已被绘制,并针对未绘制的像素点进行绘制。
下面对处理器的各个构成部件进行具体的介绍:
其中,在本实施例中,处理器是特定集成电路(application specificintegrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
可选地,处理器可以通过运行或执行存储在存储器内的软件程序,以及调用存储在存储器内的数据,执行各种功能,例如执行上述图1所示的方法。
在具体的实现中,作为一种实施例,处理器可以包括一个或多个微处理器。
其中,所述存储器用于存储执行本申请方案的软件程序,并由处理器来控制执行,具体实现方式可以参考上述方法实施例,此处不再赘述。
可选地,存储器可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以和处理器集成在一起,也可以独立存在,并通过处理器的接口电路与处理单元进行耦合,本申请实施例对此不作具体限定。
需要说明的是,在本实施例中示出的处理器的结构并不构成对该装置的限定,实际的装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
此外,处理器的技术效果可以参考上述方法实施例所述的方法的技术效果,此处不再赘述。
应理解,在本申请实施例中的处理器可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (7)

1.一种地理要素数据加速渲染方法,其特征在于,所述方法包括:
获取矢量数据以及所述矢量数据中要素密度和要素分布范围,并根据所述要素密度以及所述要素分布范围在当前尺度下是否满足预设阈值要求,当不满足所述预设阈值时进行分层处理直至满足所述预设阈值要求,形成四叉树结构,并对所述四叉树结构进行编码形成四叉树编码结构并保存;所述要素包括点要素、线要素和面要素,所述要素密度包括点要素密度、线要素密度和面要素密度,所述要素分布范围包括点要素分布范围、线要素分布范围和面要素分布范围;
从所述四叉树编码结构中搜索出待渲染的区域的范围内的矢量要素,并生成调度信息,根据所述调度信息和属性文件,对待加载的矢量数据进行加载;
基于所述四叉树结构将当前视口的画布中需要绘制的所有图层的读取和绘制顺序对应设置,并且使用布尔值来记录当前视口的画布中每个像素点是否已被绘制,并针对未绘制的像素点进行绘制;所述图层为当前视口内同一类型的要素的集合;所述像素点为当前视口的画布中的一个最小绘制单位;
所述并根据所述要素密度以及所述要素分布范围在当前尺度下是否满足预设阈值要求,当不满足所述预设阈值时进行分层处理直至满足所述预设阈值要求,包括:确定所述要素密度是否大于预设要素密度阈值,当大于所述预设密度阈值时对所述矢量数据进行分层处理;当小于所述要素密度阈值时,判断所述要素分布范围是否小于预设分布范围阈值时,进行进一步分层处理,直至对每层进行判断直到在相对应尺度下,所述要素分布密度和所述要素分布范围都满足阈值要求为止;
所述获取矢量数据中要素密度,包括:获取所述矢量数据中要素个数以及当前矢量数据的显示范围,并基于下式进行确定:
ρ=n/s,其中n为要素个数,S为当前矢量数据的显示范围;
所述获取矢量数据中要素分布范围,包括:获取所述矢量数据中要素个数以及当前矢量数据中要素最小分布范围,并基于下式进行确定:
p=s′/n,其中n为要素个数,S为当前矢量数据中要素最小分布范围。
2.根据权利要求1所述的地理要素数据加速渲染方法,其特征在于,所述分层处理包括:
对于当前矢量数据结构对应建立一个层次相同的线性四叉树;
以所述当前矢量数据结构的初始级别作为顶层,并将所述顶层与所述线性四叉树的根节点对应,并以此为基础进行分块;
在所述当前矢量数据结构除去顶层后的第一层结构进行分层处理,将矢量地图中的每一数据块按照拓扑关进行均匀分割成四个矢量数据块,多个所述矢量数据块对应于所述线性四叉树的根结点上的四个子结点;
以上述过程对各层进行分割,直到最后一层。
3.根据权利要求1所述的地理要素数据加速渲染方法,其特征在于,所述编码方式为地址码编码。
4.根据权利要求1所述的地理要素数据加速渲染方法,其特征在于,所述属性文件记录的信息包括矢量类型和颜色,所述属性文件基于待渲染的样式进行建立。
5.根据权利要求4所述的地理要素数据加速渲染方法,其特征在于,所述绘制方法为要素符号化渲染方法,分别对所述点要素、线要素和面要素进行绘制。
6.根据权利要求5所述的地理要素数据加速渲染方法,其特征在于,所述分别对所述点要素、线要素和面要素进行绘制,包括:
当绘制对象为所述点要素时,针对于所述点要素进行绘制包括:获取所述点要素的离散度,基于所述离散度预设值确定对应的点要素离散度分级,所述点要素离散度分级包括第一分级和第二分级,所述第一分级和所述第二分级分别对应第一点要素渲染策略和第二点要素渲染策略,所述第一点要素渲染策略基于地图符号进行要素表达并进行渲染,所述第二点要素渲染策略通过调取点要素属性文件中所对应的颜色信息,并根据所述颜色信息进行要素表达并进行渲染;
当绘制对象为所述线要素时,所述遍历所述线要素的顶点,判断要素顶点权重是否小于像素比例尺,当所述顶点权重小于所述像素比例尺,则删除该顶点,记录删除顶点数目,当大于所述像素比例尺时,保留当前顶点,并基于已删除顶点数目进行顶点偏移内存偏移,获得最终待渲染的最终顶点数据,并基于所述最终顶点数据进行渲染;
当绘制对象为所述面要素时,确定所述面要素内的填充符号的间距,当所述间距小于设置的第三阈值,则认为所述面要素不需符号化,将要素进行面域填充;当所述间距大于设置的第二阈值并且所述面要素的填充符号的外包转换到视口后的宽度均小于设置的第三阈值,则认为该要素内的填充符号不需符号化,将要素的填充符号绘制成单点。
7.一种地理要素数据加速渲染装置,其特征在于,所述装置包括:
数据索引构建模块,用于基于矢量数据中要素密度和要素分布范围构建关于矢量数据的四叉树结构;包括:
获取矢量数据以及所述矢量数据中要素密度和要素分布范围,并根据所述要素密度以及所述要素分布范围在当前尺度下是否满足预设阈值要求,当不满足所述预设阈值时进行分层处理直至满足所述预设阈值要求,形成四叉树结构,并对所述四叉树结构进行编码形成四叉树编码结构并保存;所述要素包括点要素、线要素和面要素,所述要素密度包括点要素密度、线要素密度和面要素密度,所述要素分布范围包括点要素分布范围、线要素分布范围和面要素分布范围;
矢量数据加载模块,用于从所述四叉树编码结构中搜索出待渲染的区域的范围内的矢量要素,并生成调度信息,根据所述调度信息和属性文件,对待加载的矢量数据进行加载;
绘制模块,用于基于所述四叉树结构将当前视口的画布中需要绘制的所有图层的读取和绘制顺序对应设置,并且使用布尔值来记录当前视口的画布中每个像素点是否已被绘制,并针对未绘制的像素点进行绘制;
所述并根据所述要素密度以及所述要素分布范围在当前尺度下是否满足预设阈值要求,当不满足所述预设阈值时进行分层处理直至满足所述预设阈值要求,包括:确定所述要素密度是否大于预设要素密度阈值,当大于所述预设密度阈值时对所述矢量数据进行分层处理;当小于所述要素密度阈值时,判断所述要素分布范围是否小于预设分布范围阈值时,进行进一步分层处理,直至对每层进行判断直到在相对应尺度下,所述要素分布密度和所述要素分布范围都满足阈值要求为止;
所述获取矢量数据中要素密度,包括:获取所述矢量数据中要素个数以及当前矢量数据的显示范围,并基于下式进行确定:
ρ=n/s,其中n为要素个数,S为当前矢量数据的显示范围;
所述获取矢量数据中要素分布范围,包括:获取所述矢量数据中要素个数以及当前矢量数据中要素最小分布范围,并基于下式进行确定:
p=s/n,其中n为要素个数,S为当前矢量数据中要素最小分布范围。
CN202311208228.5A 2023-09-18 2023-09-18 一种地理要素数据加速渲染及装置 Active CN117237503B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311208228.5A CN117237503B (zh) 2023-09-18 2023-09-18 一种地理要素数据加速渲染及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311208228.5A CN117237503B (zh) 2023-09-18 2023-09-18 一种地理要素数据加速渲染及装置

Publications (2)

Publication Number Publication Date
CN117237503A CN117237503A (zh) 2023-12-15
CN117237503B true CN117237503B (zh) 2024-02-23

Family

ID=89089115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311208228.5A Active CN117237503B (zh) 2023-09-18 2023-09-18 一种地理要素数据加速渲染及装置

Country Status (1)

Country Link
CN (1) CN117237503B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8872848B1 (en) * 2010-09-29 2014-10-28 Google Inc. Rendering vector data as tiles
CN107479871A (zh) * 2017-06-30 2017-12-15 广东南方数码科技股份有限公司 一种海量的矢量数据的访问和渲染方法、电子设备及存储介质
CN109345619A (zh) * 2018-08-10 2019-02-15 华北电力大学(保定) 基于类八叉树编码的海量点云空间管理方法
CN114529633A (zh) * 2022-04-22 2022-05-24 南京师范大学 一种支持gis线对象和面对象连续lod绘制的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8665266B2 (en) * 2010-06-23 2014-03-04 The United States Of America, As Represented By The Secretary Of The Navy Global visualization process terrain database builder

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8872848B1 (en) * 2010-09-29 2014-10-28 Google Inc. Rendering vector data as tiles
CN107479871A (zh) * 2017-06-30 2017-12-15 广东南方数码科技股份有限公司 一种海量的矢量数据的访问和渲染方法、电子设备及存储介质
CN109345619A (zh) * 2018-08-10 2019-02-15 华北电力大学(保定) 基于类八叉树编码的海量点云空间管理方法
CN114529633A (zh) * 2022-04-22 2022-05-24 南京师范大学 一种支持gis线对象和面对象连续lod绘制的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种基于多核CPU的矢量数据快速绘制方法;王怀;汪汇兵;何召宁;;地理信息世界;20121225(第06期);全文 *
基于Html5的Web Map矢量渲染技术研究;丁立国;周斌;熊伟;;测绘工程;20170825(第08期);全文 *
面向矢量数据高效可视化的瓦片化组织策略;蒉露超;张一鸣;占伟伟;;指挥信息系统与技术;20200628(第03期);全文 *

Also Published As

Publication number Publication date
CN117237503A (zh) 2023-12-15

Similar Documents

Publication Publication Date Title
US20230016561A1 (en) Systems and methods for 3-d scene acceleration structure creation and updating
US8570322B2 (en) Method, system, and computer program product for efficient ray tracing of micropolygon geometry
US7002571B2 (en) Grid-based loose octree for spatial partitioning
CN113628314B (zh) 一种虚幻引擎中摄影测量模型的可视化方法、装置和设备
CN110990516B (zh) 地图数据的处理方法、装置和服务器
CN111260784B (zh) 一种城市三维空间网格压缩编码方法、装置及终端设备
CN113628331B (zh) 一种虚幻引擎中摄影测量模型的数据组织和调度方法
CN111090712A (zh) 一种数据处理方法、装置、设备及计算机存储介质
CN113268557B (zh) 一种适应显示导向型可视化分析的快速的空间索引方法
US11551412B2 (en) Systems and methods for traversing implied subdivision hierarchical level of detail content
CN112070909A (zh) 一种基于3D Tiles的工程三维模型LOD输出方法
Azri et al. Review of spatial indexing techniques for large urban data management
US20230351696A1 (en) Data processing method and apparatus, device, computer-readable storage medium, and computer program product
CN117237503B (zh) 一种地理要素数据加速渲染及装置
CN116452735A (zh) 基于八叉树的数据处理方法、装置及计算机可读存储介质
CN116363324A (zh) 一种态势地图二三维一体化渲染方法
Masood et al. A novel method for adaptive terrain rendering using memory-efficient tessellation codes for virtual globes
Dalei et al. A Review of LOD based Techniques for Real-time Terrain Rendering
Amiraghdam et al. LOOPS: LOcally Optimized Polygon Simplification
Xu et al. Real Time Rendering Technology of Ocean Data Based on Improved LOD Model
CN117557711B (zh) 可视域的确定方法、装置、计算机设备、存储介质
CN115937438B (zh) 城市三维模型轻量化方法、系统、电子设备及存储介质
Ye et al. 3D Model Occlusion Culling Optimization Method Based on WebGPU Computing Pipeline.
Ying et al. Implementation of a fast simulation algorithm for terrain based on Dynamic LOD
Zhao et al. A Precise TIN Clipping Algorithm for Digital Mining Design of the Open-pit Coal Mine

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant