CN107766487A - 矢量瓦片数据的加载方法及系统、服务终端、存储器 - Google Patents
矢量瓦片数据的加载方法及系统、服务终端、存储器 Download PDFInfo
- Publication number
- CN107766487A CN107766487A CN201710960855.2A CN201710960855A CN107766487A CN 107766487 A CN107766487 A CN 107766487A CN 201710960855 A CN201710960855 A CN 201710960855A CN 107766487 A CN107766487 A CN 107766487A
- Authority
- CN
- China
- Prior art keywords
- vector tile
- loaded
- tile set
- vector
- frame
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明适用于数据加载技术领域,提供了一种矢量瓦片数据的加载方法及系统、服务终端、存储器,所述加载方法包括:计算获得当前帧的待加载矢量瓦片集合;将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;对所述实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。本发明中,将当前帧与前一帧进行比较得到实际待加载矢量瓦片图片集合,并对前一帧的矢量瓦片进行筛除,可减少与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求,提高数据加载效率。
Description
技术领域
本发明属于数据加载技术领域,尤其涉及一种矢量瓦片数据的加载方法及系统、服务终端、存储器。
背景技术
矢量数据是利用欧几里德几何学中点、线、面及其组合体来表示地理实体空间分布的一种数据组织方式,矢量数据作为一种重要的空间数据类型,已经在空间信息领域得到了广泛的应用。但是,由于它具有数据量大、拓扑关系复杂等特点,使得能快速高效地访问这些空间数据一直是人们所关心的一个课题。
空间索引是对矢量数据进行划分的一种方式,空间索引是依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构,即将空间对象按某种空间关系进行划分。地图矢量瓦片就是将地图矢量数据进行切分,在一定显示比例尺下按照固定尺寸切分为大小相等的数据块,然后以自定义文件或json文件进行组织。
现有技术中,在线地图矢量瓦片加载是先计算当前帧需要加载的矢量瓦片集合,然后通过空间索引方式判断当前矢量瓦片是否已加载,在全部加载完成后,进行渲染。但这种方式至少存在以下问题:在矢量瓦片加载过程中,对当前帧的待加载矢量瓦片集合进行加载时,上一帧的矢量瓦片网络数据请求还在进行,且该上一帧正在进行网络数据请求的矢量瓦片不存在当前帧中,因此存在着无用的网络数据请求,进而降低加载效率;其次,以异步方式写入空间索引,在系统运行过程中可能会出现数据加载异常中断,而在中断后无法再次请求同一块数据的问题。
发明内容
本发明实施例提供了一种矢量瓦片数据的加载方法及系统、服务终端、存储器,旨在解决现有技术中加载过程中存在的无用网络数据请求导致数据加载效率低,进而影响用户体验的问题。
本发明实施例是这样实现的,一种矢量瓦片数据的加载方法,包括:
计算获得当前帧的待加载矢量瓦片集合;
将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;
对所述实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。
优选地,将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求具体包括:
将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合;
基于所述比较结果从所述前一帧加载的矢量瓦片集合中筛除不存在于所述当前帧的待加载矢量瓦片集合中的矢量瓦片。
优选地,所述将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合具体为:
从所述当前帧的待加载矢量瓦片集合中去除出现在所述前一帧加载的矢量瓦片集合中的矢量瓦片,得到实际待加载矢量瓦片集合。
优选地,从所述当前帧的待加载矢量瓦片集合中去除出现在所述前一帧加载的矢量瓦片集合中的矢量瓦片,得到实际待加载矢量瓦片集合具体包括:
遍历所述前一帧加载的矢量瓦片集合中的矢量瓦片,判断是否有所述矢量瓦片存在于所述当前帧的待加载矢量瓦片集合中;
当判断为是时,从所述当前帧的待加载矢量瓦片集合中去除所述矢量瓦片,得到实际待加载矢量瓦片集合。
优选地,遍历所述前一帧加载的矢量瓦片集合中的矢量瓦片,判断是否有所述矢量瓦片存在于所述当前帧的待加载矢量瓦片集合中之前还包括:
为所述当前帧的待加载矢量瓦片集合的每一矢量瓦片生成一key值,得到对应的key值集合。
优选地,从所述当前帧的待加载矢量瓦片集合中去除出现在所述前一帧加载的矢量瓦片集合中的矢量瓦片,得到实际待加载矢量瓦片集合具体包括:
获取所述当前帧的待加载矢量瓦片集合与所述前一帧加载的矢量瓦片集合的交集,所述交集包括一个以上矢量瓦片;
从所述当前帧的待加载矢量瓦片集合中去除出现在所述交集中的矢量瓦片,得到实际待加载矢量瓦片集合。
优选地,所述基于所述比较结果从所述前一帧加载的矢量瓦片集合中筛除不存在于所述当前帧的待加载矢量瓦片集合中的矢量瓦片具体为:
从所述前一帧加载的矢量瓦片集合中移除未出现在所述交集中的矢量瓦片,终止所移除的矢量瓦片对应的网络数据请求。
本发明还提供一种矢量瓦片数据的加载系统,包括:
计算模块,用于计算获得当前帧的待加载矢量瓦片集合;
获取模块,用于将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;
处理模块,用于对所述实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。
本发明还提供一种存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行如下步骤:
计算获得当前帧的待加载矢量瓦片集合;
将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;
对所述实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。
本发明还提供一种服务终端,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
计算获得当前帧的待加载矢量瓦片集合;
将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;
对所述实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。
在本发明实施例中,基于前一帧加载的矢量瓦片集合来对当前帧的待加载矢量瓦片集合进行处理,得到实际待加载矢量瓦片集合,并对前一帧加载的矢量瓦片集合进行筛除,以减少与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求,提高数据加载效率。
附图说明
图1是本发明第一实施例提供的一种矢量瓦片数据的加载方法的流程图;
图2是本发明第一实施例提供的一种矢量瓦片数据的加载方法的步骤S2的具体流程图;
图3是本发明第一实施例提供的一种矢量瓦片数据的加载方法的步骤S21的具体流程图;
图4是本发明第一实施例提供的一种矢量瓦片数据的加载方法的步骤S3的具体流程图;
图5是本发明第二实施例提供的一种矢量瓦片数据的加载系统的结构图;
图6是本发明第二实施例提供的一种矢量瓦片数据的加载系统的获取模块2的具体结构图;
图7是本发明第二实施例提供的一种矢量瓦片数据的加载系统的比较获取单元21的具体结构图;
图8是本发明第三实施例提供的一种服务终端的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,一种矢量瓦片数据的加载方法,包括:计算获得当前帧的待加载矢量瓦片集合;将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;对所述实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的一种矢量瓦片数据的加载方法的流程图,包括:
步骤S1、计算获得当前帧的待加载矢量瓦片集合;
具体地,该矢量瓦片数据应用于地图中,根据地图显示的范围大小及地图显示的分辨率大小来计算获得当前帧的待加载矢量瓦片集合。
步骤S2,将当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对前一帧加载的矢量瓦片集合进行筛除,以减少与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;
具体地,每一帧的矢量瓦片集合的矢量瓦片加载完成后,均会缓存下来,将当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较来获取实际待加载矢量瓦片集合,并在比较过程或者比较结束后对前一帧加载的矢量瓦片集合进行筛除,以减少与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求,可减少对当前帧无用的网络数据请求,加快网络反应速度,提高用户体验,需要说明的是,与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求即为出现在上一帧加载的矢量瓦片集合中且未出现或者应用在当前帧的待加载矢量瓦片集合中的矢量瓦片对应的网络数据请求。
步骤S3,对实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。
具体地,对实际待加载的矢量瓦片集合中的矢量瓦片逐一进行加载并渲染,完成数据加载任务。
本实施例中,将当前帧与前一帧进行比较得到实际待加载矢量瓦片图片集合,并对前一帧的矢量瓦片进行筛除,可减少与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求,提高数据加载效率。
在本实施例的一个优选方案中,如图2所示,为本发明第一实施例提供的一种矢量瓦片数据的加载方法的步骤S2的具体流程图;该步骤S2具体包括:
步骤S21,将当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合;
具体地,将当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,从当前帧的待加载矢量瓦片集合中去除出现在前一帧加载的矢量瓦片集合中的矢量瓦片,得到实际待加载矢量瓦片集合。
步骤S22,基于比较结果从前一帧加载的矢量瓦片集合中筛除不存在于当前帧的待加载矢量瓦片集合中的矢量瓦片;
具体地,将当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,从前一帧加载的矢量瓦片集合中筛除不存在于前帧的待加载矢量瓦片集合中的矢量瓦片,即筛除对当前帧无用的矢量瓦片,以减少与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求。
在本实施例的一个优选方案中,该步骤S21具体包括:
遍历前一帧加载的矢量瓦片集合中的矢量瓦片,判断是否有所述矢量瓦片存在于所述当前帧的待加载矢量瓦片集合中;
具体地,遍历前一帧加载的矢量瓦片集合中的矢量瓦片,判断是否该矢量瓦片存在于当前帧的待加载矢量瓦片集合中;
进一步地,可遍历前一帧加载的矢量瓦片集合中的矢量图片,判断该矢量瓦片是否仍在当前帧中使用,以此来判断该矢量瓦片是否存在于当前帧的待加载矢量瓦片集合中。当判断为是时,转到下一步骤,否则转到上述步骤S22;
从当前帧的待加载矢量瓦片集合中去除对应的矢量瓦片,得到实际待加载矢量瓦片集合;
具体地,当该矢量瓦片出现在当前帧的待加载矢量瓦片集合中,又出现在前一帧加载的矢量瓦片中时,需要将对应的矢量瓦片从当前帧的待加载矢量瓦片集合中去除,避免重复加载。
进一步地,在本实施例的一个优选方案中,该步骤S22具体为:
从前一帧加载的矢量瓦片集合中移除该矢量瓦片,并终止该矢量瓦片对应的网络数据请求;
具体地,当该矢量瓦片不在当前帧的待加载矢量瓦片集合中时,认为其不在当前中使用,故需要在前一帧中移除该矢量瓦片,并终止其对应的网络数据请求,以释放网络资源。
优选地,构建基于空间范围和网络数据请求的key-value结构集合来存储前一帧画面中的地图矢量瓦片的请求信息,key值是基于空间范围生成的全局唯一字符串,可根据key值获取对应的网络数据请求句柄,以该句柄来终止该矢量瓦片对应的网络数据请求。
需要说明的是,遍历前一帧加载的矢量瓦片集合中的每一矢量瓦片时,均实行上述步骤。
在本实施例的进一步优选方案中,上述遍历前一帧加载的矢量瓦片集合中的矢量瓦片,判断是否有所述矢量瓦片存在于所述当前帧的待加载矢量瓦片集合中的步骤之前还可包括:
判断前一帧加载的矢量瓦片集合是否遍历完成,在判断为是时,转到上述从当前帧的待加载矢量瓦片集合中去除对应的矢量瓦片,得到实际待加载矢量瓦片集合的步骤,否则转到遍历前一帧加载的矢量瓦片集合中的矢量瓦片,判断是否有所述矢量瓦片存在于所述当前帧的待加载矢量瓦片集合中的步骤。
具体地,当处理本帧的矢量瓦片数据加载请求时,首先需要遍历前一帧的矢量瓦片缓存数据,判断前一帧加载的矢量瓦片集合是否遍历完成。
在本实施例的进一步优选方案中,上述判断前一帧加载的矢量瓦片集合是否遍历完成的步骤前还可包括:
为当前帧的待加载矢量瓦片集合的每一矢量瓦片生成一key值,得到对应的key值集合;
具体地,设计一个key-value映射结构,用于存储每次的地图矢量数据请求的相关信息,该相关信息可至少包括;请求的空间范围、网络数据请求句柄等,该value值基于请求的空间范围生成,每一矢量瓦片对应唯一一个value值,value值可携带具体的空间范围及对应的网络数据请求句柄等信息。每一帧加载的矢量瓦片(例如地图矢量瓦片)数据信息均会缓存下来。
在本实施例的进一步优选方案中,上述从当前帧的待加载矢量瓦片集合中去除对应的矢量瓦片,得到实际待加载矢量瓦片集合的步骤具体包括:
首先,将前一帧加载的矢量瓦片集合中的且在当前帧中使用的每一矢量瓦片逐个索引到临时集合中,直到遍历完前一帧加载的矢量瓦片集合中的每一矢量瓦片;
接着,从当前帧的待加载矢量瓦片集合中去除出现在该临时集合(arrayindex)中的矢量瓦片,即将该待加载矢量瓦片集合与该临时集合求差(从待加载矢量瓦片集合中除去该临时集合中的矢量瓦片),得到的差集即为实际待加载矢量瓦片集合,因为临时集合中的矢量瓦片已经在前一帧加载过了,无需再加载,因此需要从待加载矢量瓦片集合中去除,可避免重复加载,提高加载效率。
需要说明的是,通过同一方式获取每一帧的实际待加载矢量瓦片集合,该临时集合仅对应一帧,当前帧的矢量瓦片数据加载完成后,可删除该临时集合中的数据,便于下一帧应用,减小存储压力。
在本实施例的另一个优选方案中,如图3所示,为本发明第一实施例提供的一种矢量瓦片数据的加载方法的步骤S21的具体流程图;该步骤S21具体包括:
步骤S211,基于前一帧加载的矢量瓦片集合及当前帧的待加载矢量瓦片集合获取二者的交集;
具体地,获取前一帧加载的矢量瓦片集合及当前帧的待加载矢量瓦片集合之间的交集;
步骤S212,从当前帧的待加载矢量瓦片集合中去除出现在该交集中的矢量瓦片,得到实际待加载矢量瓦片集合;
具体地,从当前帧的待加载矢量瓦片集合中去除在该交集中出现的矢量瓦片,得到的集合即为实际待加载矢量瓦片集合,接着转到步骤S22。
在本实施例的进一步优选方案中,该步骤S22具体为:
在前一帧加载的矢量瓦片集合中去除未出现在该交集中的矢量瓦片,终止所去除的矢量瓦片对应的网络数据请求;
具体地,分析该交集中的矢量瓦片,从前一帧加载的矢量瓦片集合中保留该交集中的矢量瓦片,去除其他矢量瓦片(即去除未出现在交集中的矢量瓦片),并终止所去除的矢量瓦片对应的网络数据请求,以减少不必要的网络数据请求,提高加载效率。
需要说明的是,该步骤S22可在步骤S212之后,或者在步骤S212之前,又或者步骤S212与步骤S22同时执行,此处对此不作限制。
在本实施例的一个优选方案中,如图4所示,为本发明第一实施例提供的一种矢量瓦片数据的加载方法的步骤S3的具体流程图;该步骤S3具体包括:
步骤S31,遍历实际待加载矢量瓦片集合中的每一矢量瓦片,获取未被加载的矢量瓦片;
具体地,遍历实际待加载矢量瓦片集合中的每一矢量瓦片,分析其是否已被加载,当有矢量瓦片已被加载时,不对其进行处理,而对未被加载的矢量瓦片执行下述步骤S32;
步骤S32,基于该未被加载的矢量瓦片发出对应的网络数据请求并加入缓存;
具体地,当矢量瓦片未被加载时,构建对应的网络数据请求,并从服务器加载对应的矢量数据,基于该矢量瓦片构建key-value结构,并加入系统缓存,在加载完成后,将该矢量瓦片的空间范围写入空间索引。
需要说明的是,每一未被加载的矢量瓦片均需要逐个执行步骤S32,直到所有未被加载的矢量瓦片均加载完成后,再逐一执行步骤S33;
步骤S33,进行相应的数据渲染;
具体地,当某一矢量瓦片加载完成时,对其进行数据渲染,然后输出渲染结果。
本实施例中,将当前帧与前一帧进行比较得到实际待加载矢量瓦片图片集合,并对前一帧的矢量瓦片进行筛除,可减少与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求,提高数据加载效率。
其次,在异步数据加载完成后,才将对应的空间范围写入空间索引,保证空间索引中对应范围的矢量数据均在本地缓存存在,能及时响应用户操作,提高用户体验。
实施例二:
图5示出了本发明第二实施例提供的一种矢量瓦片数据的加载系统的结构图,该系统包括:计算模块1、与计算模块1连接的获取模块2、与获取模块2连接的处理模块3,其中:
计算模块1,用于计算获得当前帧的待加载矢量瓦片集合;
具体地,该矢量瓦片数据应用于地图中,根据地图显示的范围大小及地图显示的分辨率大小来计算获得当前帧的待加载矢量瓦片集合。
获取模块2,用于将当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对前一帧加载的矢量瓦片集合进行筛除,以减少与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;
具体地,每一帧的矢量瓦片集合的矢量瓦片加载完成后,均会缓存下来,将当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较来获取实际待加载矢量瓦片集合,并在比较过程或者比较结束后对前一帧加载的矢量瓦片集合进行筛除,以减少与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求,可减少对当前帧无用的网络数据请求,加快网络反应速度,提高用户体验,需要说明的是,与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求即为出现在上一帧加载的矢量瓦片集合中且未出现或者应用在当前帧的待加载矢量瓦片集合中的矢量瓦片对应的网络数据请求。
处理模块3,用于对实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。
具体地,对实际待加载的矢量瓦片集合中的矢量瓦片逐一进行加载并渲染,完成数据加载任务。
本实施例中,将当前帧与前一帧进行比较得到实际待加载矢量瓦片图片集合,并对前一帧的矢量瓦片进行筛除,可减少与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求,提高数据加载效率。
在本实施例的一个优选方案中,如图6所示,为本发明第二实施例提供的一种矢量瓦片数据的加载系统的获取模块2的具体结构图,该获取模块2具体包括:比较获取单元21及与其连接的筛除单元22,其中:
比较获取单元21,用于将当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合;
具体地,将当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,从当前帧的待加载矢量瓦片集合中去除出现在前一帧加载的矢量瓦片集合中的矢量瓦片,得到实际待加载矢量瓦片集合;
进一步地,可遍历前一帧加载的矢量瓦片集合中的矢量图片,判断该矢量瓦片是否仍在当前帧中使用,以此来判断该矢量瓦片是否存在于当前帧的待加载矢量瓦片集合中,根据判断结果来执行相应的功能。
筛除单元22,用于基于比较结果从前一帧加载的矢量瓦片集合中筛除不存在于当前帧的待加载矢量瓦片集合中的矢量瓦片;
具体地,将当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,从前一帧加载的矢量瓦片集合中筛除不存在于前帧的待加载矢量瓦片集合中的矢量瓦片,即筛除对当前帧无用的矢量瓦片,以减少与当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求。
更进一步地,该比较获取单元21具体用于:
遍历前一帧加载的矢量瓦片集合中的矢量瓦片,判断是否有所述矢量瓦片存在于所述当前帧的待加载矢量瓦片集合中;
具体地,遍历前一帧加载的矢量瓦片集合中的矢量瓦片,判断是否该矢量瓦片存在于当前帧的待加载矢量瓦片集合中;
再进一步地,可遍历前一帧加载的矢量瓦片集合中的矢量图片,判断该矢量瓦片是否仍在当前帧中使用,以此来判断该矢量瓦片是否存在于当前帧的待加载矢量瓦片集合中。
当判断为是时,从当前帧的待加载矢量瓦片集合中去除对应的矢量瓦片,得到实际待加载矢量瓦片集合;
具体地,当该矢量瓦片出现在当前帧的待加载矢量瓦片集合中,又出现在前一帧加载的矢量瓦片中时,需要将对应的矢量瓦片从当前帧的待加载矢量瓦片集合中去除,避免重复加载。
当判断为否时,反馈给筛除单元22,该筛除单元22具体用于:
从前一帧加载的矢量瓦片集合中移除该矢量瓦片,并终止该矢量瓦片对应的网络数据请求;
具体地,当该矢量瓦片不在当前帧的待加载矢量瓦片集合中时,认为其不在当前中使用,故需要在前一帧中移除该矢量瓦片,并终止其对应的网络数据请求,以释放网络资源。
优选地,构建基于空间范围和网络数据请求的key-value结构集合来存储前一帧画面中的地图矢量瓦片的请求信息,key值是基于空间范围生成的全局唯一字符串,可根据key值获取对应的网络数据请求句柄,以该句柄来终止该矢量瓦片对应的网络数据请求。
需要说明的是,遍历前一帧加载的矢量瓦片集合中的每一矢量瓦片时,均需要该比较获取单元21或者筛除单元22执行相应的功能。
在本实施例的进一步优选方案中,该比较获取单元21还用于判断前一帧加载的矢量瓦片集合是否遍历完成,在判断为是时,执行从当前帧的待加载矢量瓦片集合中去除对应的矢量瓦片,得到实际待加载矢量瓦片集合的功能,否则继续执行遍历前一帧加载的矢量瓦片集合中的矢量瓦片,判断是否有所述矢量瓦片存在于所述当前帧的待加载矢量瓦片集合中的功能。
具体地,当处理本帧的矢量瓦片数据加载请求时,首先需要遍历前一帧的矢量瓦片缓存数据,判断前一帧加载的矢量瓦片集合是否遍历完成。
在本实施例的进一步优选方案中,该获取模块2还可包括:与比较获取单元21连接的生成单元23,其中:
生成单元23,用于为当前帧的待加载矢量瓦片集合的每一矢量瓦片生成一key值,得到对应的key值集合;
具体地,设计一个key-value映射结构,用于存储每次的地图矢量数据请求的相关信息,该相关信息可至少包括;请求的空间范围、网络数据请求句柄等,该value值基于请求的空间范围生成,每一矢量瓦片对应唯一一个value值,value值可携带具体的空间范围及对应的网络数据请求句柄等信息。每一帧加载的矢量瓦片(例如地图矢量瓦片)数据信息均会缓存下来。
在本实施例的进一步优选方案中,该比较获取单元21主要用于:
首先,将前一帧加载的矢量瓦片集合中的且在当前帧中使用的每一矢量瓦片逐个索引到临时集合中,直到遍历完前一帧加载的矢量瓦片集合中的每一矢量瓦片;
接着,从当前帧的待加载矢量瓦片集合中去除出现在该临时集合(arrayindex)中的矢量瓦片,即将该待加载矢量瓦片集合与该临时集合求差(从待加载矢量瓦片集合中除去该临时集合中的矢量瓦片),得到的差集即为实际待加载矢量瓦片集合,因为临时集合中的矢量瓦片已经在前一帧加载过了,无需再加载,因此需要从待加载矢量瓦片集合中去除,可避免重复加载,提高加载效率。
需要说明的是,通过同一方式获取每一帧的实际待加载矢量瓦片集合,该临时集合仅对应一帧,当前帧的矢量瓦片数据加载完成后,可删除该临时集合中的数据,便于下一帧应用,减小存储压力。
在本实施例的另一个优选方案中,如图7所示,为本发明第二实施例提供的一种矢量瓦片数据的加载系统的比较获取单元21的具体结构图,该比较获取单元模块21具体包括:交集获取单元211、与交集获取单元211连接的去除单元212,其中:
交集获取单元211,用于基于前一帧加载的矢量瓦片集合及当前帧的待加载矢量瓦片集合获取二者的交集;
具体地,获取前一帧加载的矢量瓦片集合及当前帧的待加载矢量瓦片集合之间的交集;
去除单元212,用于从当前帧的待加载矢量瓦片集合中去除出现在该交集中的矢量瓦片,得到实际待加载矢量瓦片集合;
具体地,从当前帧的待加载矢量瓦片集合中去除在该交集中出现的矢量瓦片,得到的集合即为实际待加载矢量瓦片集合,接着反馈给筛除单元22。
在本实施例的一个优选方案中,该筛除单元22还用于:
在前一帧加载的矢量瓦片集合中去除未出现在该交集中的矢量瓦片,终止所去除的矢量瓦片对应的网络数据请求;
具体地,分析该交集中的矢量瓦片,从前一帧加载的矢量瓦片集合中保留该交集中的矢量瓦片,去除其他矢量瓦片(即去除未出现在交集中的矢量瓦片),并终止所去除的矢量瓦片对应的网络数据请求,以减少不必要的网络数据请求,提高加载效率。
在本实施例的一个优选方案中,该处理模块3具体包括:遍历获取单元、与遍历获取单元连接的处理单元、与处理单元连接的渲染单元,其中:
遍历获取单元,用于遍历实际待加载矢量瓦片集合中的每一矢量瓦片,获取未被加载的矢量瓦片;
具体地,遍历实际待加载矢量瓦片集合中的每一矢量瓦片,分析其是否已被加载,当有矢量瓦片已被加载时,不对其进行处理,将未被加载的矢量瓦片反馈给处理单元进行处理;
处理单元,用于基于该未被加载的矢量瓦片发出对应的网络数据请求并加入缓存;
具体地,当矢量瓦片未被加载时,构建对应的网络数据请求,并从服务器加载对应的矢量数据,基于该矢量瓦片构建key-value结构,并加入系统缓存,在加载完成后,将该矢量瓦片的空间范围写入空间索引。
渲染单元,用于进行相应的数据渲染;
具体地,当某一矢量瓦片加载完成时,对其进行数据渲染,然后输出渲染结果。
需要说明的是,每一未被加载的矢量瓦片均需要该处理单元逐个进行处理,直到所有未被加载的矢量瓦片均加载完成后,再由渲染单元逐个进行处理。
本实施例中,基于前一帧加载的矢量瓦片集合来对当前帧的待加载矢量瓦片集合进行处理,得到实际待加载矢量瓦片集合,可避免同时出现在相邻两帧的矢量瓦片被多次加载,提高数据加载效率。
其次,终止前一帧的且对本帧无用的矢量瓦片对应的网络数据请求,减轻网络负担,提高数据加载效率。
再者,在异步数据加载完成后,才将对应的空间范围写入空间索引,保证空间索引中对应范围的矢量数据均在本地缓存存在,能及时响应用户操作,提高用户体验。
实施例三:
图8示出了本发明第三实施例提供的一种服务终端的结构图,该服务终端包括:存储器(memory)81、处理器(processor)82、通信接口(Communications Interface)83和总线84,该处理器82、存储器81、通信接口83通过总线84完成相互之间的交互通信,其中:
存储器81,用于存储各种数据;
具体地,存储器81用于存储各种数据,例如通信过程中的数据、接收的数据等,此处对此不作限制,该存储器还包括有多个计算机程序。
通信接口83,用于该服务终端的通信设备之间的信息传输;
处理器82,用于调用存储器81中的各种计算机程序,以执行上述实施例一所提供的一种矢量瓦片数据的加载方法,例如:
计算获得当前帧的待加载矢量瓦片集合;将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;
对所述实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。
本实施例中,基于前一帧加载的矢量瓦片集合来对当前帧的待加载矢量瓦片集合进行处理,得到实际待加载矢量瓦片集合,可一定程度上避免同时出现在相邻两帧的矢量瓦片被多次加载,提高数据加载效率。
其次,终止前一帧的且对本帧无用的矢量瓦片对应的网络数据请求,减轻网络负担,提高数据加载效率。
再者,在异步数据加载完成后,才将对应的空间范围写入空间索引,保证空间索引中对应范围的矢量数据均在本地缓存存在,能及时响应用户操作,提高用户体验。
需要说明的是,该终端可为控制终端或者后台服务器,此处对此不作限制。
本发明还提供一种存储器,该存储器存储有多个计算机程序,该多个计算机程序被处理器调用执行上述实施例一所述的一种矢量瓦片数据的加载方法。
本发明中,基于前一帧加载的矢量瓦片集合来对当前帧的待加载矢量瓦片集合进行处理,得到实际待加载矢量瓦片集合,可一定程度上避免同时出现在相邻两帧的矢量瓦片被多次加载,提高数据加载效率。
其次,终止前一帧的且对本帧无用的矢量瓦片对应的网络数据请求,减轻网络负担,提高数据加载效率。
再者,在异步数据加载完成后,才将对应的空间范围写入空间索引,保证空间索引中对应范围的矢量数据均在本地缓存存在,能及时响应用户操作,提高用户体验。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种矢量瓦片数据的加载方法,其特征在于,包括:
计算获得当前帧的待加载矢量瓦片集合;将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;
对所述实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。
2.根据权利要求1所述的加载方法,其特征在于,将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求具体包括:
将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合;
基于所述比较结果从所述前一帧加载的矢量瓦片集合中筛除不存在于所述当前帧的待加载矢量瓦片集合中的矢量瓦片。
3.根据权利要求2所述的加载方法,其特征在于,所述将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合具体为:
将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,从所述当前帧的待加载矢量瓦片集合中去除出现在所述前一帧加载的矢量瓦片集合中的矢量瓦片,得到实际待加载矢量瓦片集合。
4.根据权利要求3所述的加载方法,其特征在于,从所述当前帧的待加载矢量瓦片集合中去除出现在所述前一帧加载的矢量瓦片集合中的矢量瓦片,得到实际待加载矢量瓦片集合具体包括:
遍历所述前一帧加载的矢量瓦片集合中的矢量瓦片,判断是否有所述矢量瓦片存在于所述当前帧的待加载矢量瓦片集合中;
当判断为是时,从所述当前帧的待加载矢量瓦片集合中去除所述矢量瓦片,得到实际待加载矢量瓦片集合。
5.根据权利要求4所述的加载方法,其特征在于,遍历所述前一帧加载的矢量瓦片集合中的矢量瓦片,判断是否有所述矢量瓦片存在于所述当前帧的待加载矢量瓦片集合中之前还包括:
为所述当前帧的待加载矢量瓦片集合的每一矢量瓦片生成一key值,得到对应的key值集合。
6.根据权利要求3所述的加载方法,其特征在于,从所述当前帧的待加载矢量瓦片集合中去除出现在所述前一帧加载的矢量瓦片集合中的矢量瓦片,得到实际待加载矢量瓦片集合具体包括:
获取所述当前帧的待加载矢量瓦片集合与所述前一帧加载的矢量瓦片集合的交集,所述交集包括一个以上矢量瓦片;
从所述当前帧的待加载矢量瓦片集合中去除出现在所述交集中的矢量瓦片,得到实际待加载矢量瓦片集合。
7.根据权利要求6所述的加载方法,其特征在于,所述基于所述比较结果从所述前一帧加载的矢量瓦片集合中筛除不存在于所述当前帧的待加载矢量瓦片集合中的矢量瓦片具体为:
从所述前一帧加载的矢量瓦片集合中移除未出现在所述交集中的矢量瓦片,终止所移除的矢量瓦片对应的网络数据请求。
8.一种矢量瓦片数据的加载系统,其特征在于,包括:
计算模块,用于计算获得当前帧的待加载矢量瓦片集合;
获取模块,用于将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;
处理模块,用于对所述实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。
9.一种存储器,所述存储器存储有计算机程序,其特征在于,所述计算机程序被处理器执行如下步骤:
计算获得当前帧的待加载矢量瓦片集合;
将所述当前帧的待加载矢量瓦片集合与前一帧加载的矢量瓦片集合进行比较,根据比较结果获取实际待加载矢量瓦片集合及对所述前一帧加载的矢量瓦片集合进行筛除,以减少与所述当前帧的待加载矢量瓦片集合中的矢量瓦片无关的网络数据请求;
对所述实际待加载矢量瓦片集合的矢量瓦片进行加载并渲染。
10.一种服务终端,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任意一项所述的矢量瓦片数据的加载方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710960855.2A CN107766487A (zh) | 2017-10-16 | 2017-10-16 | 矢量瓦片数据的加载方法及系统、服务终端、存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710960855.2A CN107766487A (zh) | 2017-10-16 | 2017-10-16 | 矢量瓦片数据的加载方法及系统、服务终端、存储器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107766487A true CN107766487A (zh) | 2018-03-06 |
Family
ID=61268417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710960855.2A Pending CN107766487A (zh) | 2017-10-16 | 2017-10-16 | 矢量瓦片数据的加载方法及系统、服务终端、存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766487A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150520A (zh) * | 2022-12-30 | 2023-05-23 | 联通智网科技股份有限公司 | 一种数据处理方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309943A (zh) * | 2013-05-14 | 2013-09-18 | 广东南方数码科技有限公司 | 一种三维地理信息平台及其地形数据处理方法 |
US20130328941A1 (en) * | 2012-06-10 | 2013-12-12 | Apple Inc. | Scalable Processing for Associating Geometries with Map Tiles |
CN103473732A (zh) * | 2013-08-30 | 2013-12-25 | 国家电网公司 | 基于并发控制和双缓存技术的移动gis切片地图展现方法 |
CN103514280A (zh) * | 2013-09-27 | 2014-01-15 | 北京华胜天成科技股份有限公司 | 一种实现地图标签分区域动态添加的方法和装置 |
CN103699670A (zh) * | 2013-12-30 | 2014-04-02 | 北京奇虎科技有限公司 | 一种电子地图瓦片请求队列处理装置和处理方法 |
-
2017
- 2017-10-16 CN CN201710960855.2A patent/CN107766487A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130328941A1 (en) * | 2012-06-10 | 2013-12-12 | Apple Inc. | Scalable Processing for Associating Geometries with Map Tiles |
CN103309943A (zh) * | 2013-05-14 | 2013-09-18 | 广东南方数码科技有限公司 | 一种三维地理信息平台及其地形数据处理方法 |
CN103473732A (zh) * | 2013-08-30 | 2013-12-25 | 国家电网公司 | 基于并发控制和双缓存技术的移动gis切片地图展现方法 |
CN103514280A (zh) * | 2013-09-27 | 2014-01-15 | 北京华胜天成科技股份有限公司 | 一种实现地图标签分区域动态添加的方法和装置 |
CN103699670A (zh) * | 2013-12-30 | 2014-04-02 | 北京奇虎科技有限公司 | 一种电子地图瓦片请求队列处理装置和处理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150520A (zh) * | 2022-12-30 | 2023-05-23 | 联通智网科技股份有限公司 | 一种数据处理方法、装置、设备和存储介质 |
CN116150520B (zh) * | 2022-12-30 | 2023-11-14 | 联通智网科技股份有限公司 | 一种数据处理方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017341160B2 (en) | Network topology self-adapting data visualization method, device, apparatus, and storage medium | |
CN105516367B (zh) | 分布式数据存储系统、方法和装置 | |
CN106843755A (zh) | 用于服务器集群的数据均衡方法与装置 | |
CN106933890A (zh) | 一种静态化页面的处理方法及装置 | |
CN104778178B (zh) | 一种应用分类方法、装置、及业务服务器 | |
CN106302632A (zh) | 一种基础镜像的下载方法以及管理节点 | |
CN106649600A (zh) | 一种迁移文件权限的方法、装置以及系统 | |
CN109981715A (zh) | 一种会话管理的方法及装置 | |
CN108074210A (zh) | 一种用于云渲染的对象获取系统和方法 | |
CN105007317A (zh) | 一种分布式节点的数据处理方法及网关设备 | |
CN103581273B (zh) | 一种分布式系统执行业务的方法、装置及系统 | |
CN115048254A (zh) | 数据分配策略的仿真测试方法、系统、设备和可读介质 | |
CN106951166B (zh) | 笔迹绘制方法及装置 | |
CN107766487A (zh) | 矢量瓦片数据的加载方法及系统、服务终端、存储器 | |
CN109783494A (zh) | 数据存储方法及相关装置 | |
CN109657017A (zh) | 地图中聚合点集的展示方法及装置 | |
CN107580015A (zh) | 数据处理方法和装置、服务器 | |
CN109725973B (zh) | 一种数据处理方法和数据处理装置 | |
CN106713962A (zh) | 视频展示方法、装置和终端设备 | |
CN114996503A (zh) | 一种节点定位方法和装置 | |
CN116450021A (zh) | 大屏搭建方法、系统、电子设备和存储介质 | |
CN110007940A (zh) | 灰度发布的验证方法、系统、服务器及可读存储介质 | |
CN108920300A (zh) | 一种数据操作方法及相关装置 | |
CN106708869A (zh) | 一种群组数据处理的方法及装置 | |
KR102496674B1 (ko) | 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180306 |
|
RJ01 | Rejection of invention patent application after publication |