[发明专利]一种移动端矢量数据的空间索引和缓存构建方法有效
申请号: | 201610120863.1 | 申请日: | 2016-03-03 |
公开(公告)号: | CN105760529B | 公开(公告)日: | 2018-12-25 |
发明(设计)人: | 邬群勇;汪洋 | 申请(专利权)人: | 福州大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 蔡学俊 |
地址: | 350108 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种移动端矢量数据的空间索引和缓存构建方法。其技术方案为:根据矢量地图范围、屏幕尺寸和像素精度,对移动端矢量数据进行基于四叉树的多级网格划分;依据空间对象尺寸,确定各个空间对象所在的网格级别,及其所跨越的网格范围;通过网格的行列号,计算各个网格的网格编码,使用网格编码建立索引表,每级网格分别建立索引;针对不同的网格级别,实现分级显示;设置相应的缓存参数,构建面向分块、分级显示的矢量数据的缓存模型;提出合适的缓存淘汰更新策略;当对地图进行操作时,加载缓存数据,并统计缓冲区容量,适时执行缓存淘汰更新策略。本发明实现对移动端矢量数据的有效组织和对应缓存的构建,提高矢量数据的加载效率。 | ||
搜索关键词: | 一种 移动 矢量 数据 空间 索引 缓存 构建 方法 | ||
【主权项】:
1.一种移动端矢量数据的空间索引和缓存构建方法,其特征在于,包括以下步骤:步骤S1:根据矢量地图范围、屏幕尺寸和像素精度,对移动端矢量数据进行基于四叉树的多级网格划分;步骤S2:依据空间对象尺寸,确定各个空间对象所在的网格级别,并计算其所跨越的网格范围,分别记录空间对象的ID;步骤S3:根据最高级网格中的空间对象的个数,结束网格划分,确定网格的级别数;步骤S4:通过网格的行列号,计算各个网格的网格编码,并使用网格编码建立索引表,每级网格分别建立索引,各级网格索引相互间独立;步骤S5:针对不同的网格级别,设置不同的显示级别,实现分级显示;步骤S6:根据分块、分级显示的矢量地图的特点,设置相应的缓存参数;步骤S7:在步骤S6基础上,构建面向分块、分级显示的矢量数据的缓存模型;步骤S8:在步骤S6和S7基础上,构建合适的缓存淘汰更新策略;步骤S9:当对地图进行操作时,加载缓存数据,并统计缓冲区容量,适时执行缓存淘汰更新策略;所述步骤S1中,基于四叉树的多级网格划分具体包括以下步骤:步骤S11:分别以矢量地图的横坐标范围ΔX和纵坐标范围ΔY,除以在满足数据编辑精度条件下,移动设备可显示的数据横坐标和纵坐标的实际距离,得到两个网格数L和H;若已知屏幕分辨率为Ls×Ws像素,矢量地图X坐标覆盖范围Xmax‑Xmin,Y坐标覆盖范围Ymax‑Ymin,地图中一个像素代表的实际距离记为A,记地图横向划分图块数量为L,纵向划分图块数量为H,则有以下公式:L=(Xmax‑Xmin)/(A×Ls)H=(Ymax‑Ymin)/(A×Ws)通过上述公式求出最初的L和H;步骤S12:根据四叉树的特点,取L和H中的最大那个数,并求大于它的最邻近的2的n次幂,即2n‑1≤max{L,H}≤2n,令这个2n的值为N;步骤S13:以N×N块来划分矢量地图,构成第1级网格划分;步骤S14:以(N/2)×(N/2)块来划分矢量地图,构成第2级网格划分;步骤S15:依次类推,构成基于四叉树的多级网格划分;所述步骤S8中,缓存淘汰更新策略具体包括以下步骤:步骤S81:先不考虑当前显示级别网格,从比例尺最大的网格级别开始,从底向上,依次根据网格的最后访问时间和访问热度计算每个网格级别中的所有网格的综合价值;网格综合价值为:valuei=μtime×μhot;最近访问时间影响因子的计算如下:首先,计算出最近几次网格被访问的时间间隔的平均值:
其中,Δt表示相邻两次网格i被访问的时间间隔,Δti表示网格i相邻两次被访问的平均值,相当于概率统计中的标准差;其次,计算出网格在缓存中未被访问的时间:t=currentT‑lastT,其中,currentT表示当前时间,lastT表示网格i最后一次被访问的时间;最后,最近访问时间影响因子为:μtime=1/(|t‑Δti|+1),此公式表示的意义为:网格在缓存中未被访问的时间离网格相邻两次被访问的时间间隔的平均值越近,则越容易再次被访问;反之,则越难被访问;访问热度影响因子的计算如下:
其中times表示网格i的访问次数,currentT表示当前时间,t0表示网格i在缓存中的生成时间;步骤S82:从最小级网格i开始,将综合价值小的网格从缓冲区中移去,直至缓冲区不再溢出,若第i级网格中的所有网格均被移除,而缓冲区还溢出,则将第i+1级网格中综合价值小的网格从缓冲区中移去,依次类推;步骤S83:若除去当前显示级别网格外,其他级别的网格从缓冲区中移除,但缓冲区还是溢出,则对当前显示层,使用网格中心点坐标到屏幕中心点坐标的距离为依据计算出每个网格的综合价值,并以此为依据,将综合价值小的网格从缓冲区中移去,直至缓冲区不再溢出,使用网格中心点坐标到屏幕中心点坐标的距离作为综合价值value的衡量指标,进一步简化为,使用网格与屏幕中心点所在网格行列号之差的绝对值进行衡量,计算公式为:valuei=1/(|rowi‑row0|+|coli‑col0|)其中,valuei表示网格i的综合价值,rowi、coli分别为网格i的行列号,row0、col0分别为屏幕中心点所在网格的行列号。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610120863.1/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置