[发明专利]一种基于瓦片的矢量地图渲染方法在审
申请号: | 201710791249.2 | 申请日: | 2017-09-05 |
公开(公告)号: | CN107590226A | 公开(公告)日: | 2018-01-16 |
发明(设计)人: | 张一鸣;陈佰权;李坪泽;丁茜 | 申请(专利权)人: | 中国电子科技集团公司第二十八研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06T17/05 |
代理公司: | 南京苏高专利商标事务所(普通合伙)32204 | 代理人: | 常虹 |
地址: | 210003 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 瓦片 矢量 地图 渲染 方法 | ||
1.一种基于瓦片的矢量地图渲染方法,其特征在于,包括如下步骤:
(1)根据当前视图计算所需的地图瓦片,遍历每一块所需瓦片,检查缓存中是否有对应瓦片,如果缓存中没有对应瓦片,则根据矢量数据渲染该瓦片,瓦片数据时间戳记录为所述矢量数据的时间戳,形成瓦片后放入缓存中,并将该瓦片绘制到地图上;
(2)如果缓存中有对应瓦片,且缓存中的瓦片数据时间戳与该瓦片对应的矢量数据的时间戳一致,则将该瓦片绘制到地图上;如果缓存中的瓦片数据时间戳与该瓦片对应的矢量数据的时间戳不一致,则根据矢量数据渲染该瓦片,瓦片数据时间戳更新为所述矢量数据的时间戳,形成瓦片后放入缓存中,并将该瓦片绘制到地图上。
2.根据权利要求1所述的基于瓦片的矢量地图渲染方法,其特征在于,所述缓存包括内存缓存和本地缓存;步骤(1)中首先检查内存缓存中是否有对应瓦片,如没有,再检查本地缓存中是否有对应瓦片;新生成的瓦片放入内存缓存;
步骤(2)中如果所需瓦片存放于本地缓存,且所述瓦片数据时间戳与该瓦片对应的矢量数据的时间戳一致,则将该瓦片从本地缓存移至内存缓存;新生成的瓦片放入内存缓存。
3.根据权利要求2所述的基于瓦片的矢量地图渲染方法,其特征在于,所述本地缓存为本地数据库缓存或本地文件缓存。
4.根据权利要求2所述的基于瓦片的矢量地图渲染方法,其特征在于,还包括建立瓦片请求队列,地图场景改变时,所述瓦片请求队列清空;如果内存缓存中没有所需地图瓦片,生成一个瓦片请求插入到瓦片请求队列的队尾;工作线程从所述瓦片请求队列的队头出队瓦片请求来检查本地缓存中是否有对应瓦片。
5.根据权利要求4所述的基于瓦片的矢量地图渲染方法,其特征在于,所述瓦片请求队列为无锁队列。
6.根据权利要求2所述的基于瓦片的矢量地图渲染方法,其特征在于,还包括如下步骤:计算内存缓存的占用量或占用率,当占用量或占用率达到占用阈值时,将内存缓存中使用可能性较小的瓦片缓存移至本地缓存,并释放对应内存。
7.根据权利要求6所述的基于瓦片的矢量地图渲染方法,其特征在于,内存缓存中瓦片的使用可能性计算步骤为:
(C.1)记录内存缓存中每个瓦片的最近使用时间,如果是新生成的瓦片,其最近使用时间为瓦片生成的时间;
(C.2)按瓦片的最近使用时间对瓦片进行排序;最近使用时间距当前时间近的瓦片使用可能性大,距当前时间远的瓦片使用可能性小。
8.根据权利要求6所述的基于瓦片的矢量地图渲染方法,其特征在于,内存缓存中瓦片的使用可能性计算步骤为:
(D.1)计算内存缓存中每个瓦片所表示区域的中心点与屏幕中当前视图的中心点之间的距离;
(D.2)按瓦片所表示区域的中心点与屏幕中当前视图的中心点之间的距离对瓦片进行排序;所述距离小的瓦片使用可能性大,所述距离大的瓦片使用可能性小。
9.根据权利要求1所述的基于瓦片的矢量地图渲染方法,其特征在于,缓存中的瓦片根据层、行、列号生成唯一标识号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710791249.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种胶管钢丝编织机的放线装置
- 下一篇:一种安全网罩焊接固定架