[发明专利]一种三维模型数据的瓦片式快速加载方法有效
申请号: | 201611104349.5 | 申请日: | 2016-12-05 |
公开(公告)号: | CN106600523B | 公开(公告)日: | 2018-03-13 |
发明(设计)人: | 黄新;邵世维;肖立霞;刘辉;王京晶;王恒 | 申请(专利权)人: | 武汉市国土资源和规划信息中心 |
主分类号: | G06T1/60 | 分类号: | G06T1/60;G06T15/00 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙)42222 | 代理人: | 魏波 |
地址: | 430000 *** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种三维模型数据的瓦片式快速加载方法,首先将三维模型瓦片化,将三维瓦片按照八叉树结构进行组织,将索引文件和瓦片文件分别存储,考虑到三维瓦片数据的组织方式以及显示特点,从尽可能的减少实时瓦片请求加载次数和提高缓存有效性的角度出发,利用缓存置换、缓存预测算法来减少瓦片数据的加载与调用时间,使瓦片数据的显示更高效、流畅。此方法针对大场景三维数据加载速度慢的问题,提出了一种三维模型数据的瓦片式快速加载方法,对于提升三维场景的漫游速度、三维场景调度的流畅、人机交互体验有着重要意义。 | ||
搜索关键词: | 一种 三维 模型 数据 瓦片 快速 加载 方法 | ||
【主权项】:
一种三维模型数据的瓦片式快速加载方法,其特征在于,包括以下步骤:步骤1:将三维模型数据瓦片化;步骤2:通过八叉树技术对瓦片数据进行空间组织,建立瓦片数据的空间八叉树索引,并分离瓦片的索引部分和数据部分,实现对瓦片数据的空间组织和分离存储,映射索引部分到内存以提高查询检索的性能;步骤3:程序等待直到发生场景变换,则执行下述步骤4;若程序退出,则本流程结束;步骤4:计算视场的锥体裁减范围;具体实现过程是由视场角定义的上下左右四个面和由投影矩阵定义的远近剪切平面;步骤5:根据步骤4中的锥体裁减范围确定视锥体内部的地理范围,利用瓦片LOD原理,从八叉树根节点开始遍历,判断节点所指瓦片的精细程度是否满足分辨率的要求,确定当前视锥体范围内的八叉树节点;步骤6:按层级从低到高遍历需要加载的瓦片信息;步骤7:对视锥体中所需瓦片依次判断瓦片的缓存状态是否为true,缓存状态为true表明该瓦片在缓存中,为false则不在缓存中;若是true,则请求数据在缓存中,请求数据命中,直接在缓存中读取数据,并同时更新最后访问时间、存储时间、访问次数和访问状态;若为false,则添加对该瓦片的请求到请求队列,建立子线程加载请求的数据,并将返回的数据写入缓存,并更新该瓦片索引的访问状态、缓存状态、最后访问时间、访问次数、瓦片大小、地理范围、存储时间;步骤8:判断是否完成遍历;若否,并回转执行上述步骤6;若是,则绘制并刷新视图,缓存置换删除部分瓦片,进行瓦片预测并加载,同时更新预测瓦片的索引信息;并回转执行上述步骤3;所述缓存置换删除部分瓦片,其具体实现包括以下子步骤:步骤A.1:将缓存中的瓦片分为三类;第一类瓦片为访问过的不在视场中的瓦片,第二类瓦片为未被访问过的预缓存瓦片,第三类瓦片为视场中的正在显示的瓦片;步骤A.2:对于第一类瓦片进行访问次数、已缓存时间、最后缓存时间,瓦片大小,与视点中心的距离的统计;使用价值函数计算缓存中第一类瓦片的数据价值V1(i),移除其中数据价值最小的三维瓦片;V1(i)=Vspacial(i)*Vtime(i)*Vsize(i);Vspacial(i)=1D(i);]]>Vtime(i)=1avg_access_time(i)*last_internal(i);]]>avg_access_time(i)=current_time-store_time(i)access_count(i);]]>last_int ernal(i)=current_time‑last_time(i);Vsize(i)=1WDZ(i);]]>WDZ(i)=size(i)benchmark_size+1;]]>其中V1(i)为第一类瓦片i的数据价值,Vspacial(i)为瓦片i的空间位置价值,Vtime(i)为瓦片i的时间价值,Vsize(i)为瓦片i的数据大小价值;D(i)为瓦片的数据距离,当0≤D(i)<1时,设定D(i)=1;avg_access_time(i)为瓦片数据的平均访问间隔时间,last_int ernal(i)为瓦片的最后访问时刻与当前时刻的时间间隔;current_time为系统当前时间,store_time(i)为瓦片首次存储时间,access_count(i)为瓦片被访问次数;last_time为瓦片最后一次被访问的时间;WDZ(i)为瓦片数据的加权数据大小,size(i)为瓦片数据大小,benchmark_size为基准数据,基准数据为缓存瓦片数据的平均值;步骤A.3:第二类瓦片则通过获取访问次数、已缓存时间、最后缓存时间,瓦片大小,并分别计算与视点中心的距离;使用价值函数计算缓存中第二类瓦片的数据价值V2(i),移除其中数据价值最小的三维瓦片;V2(i)=Vspacial(i)*Vsize(i),其中Vspacial(i)和Vsize(i)的计算与第一类瓦片的计算方法一致;步骤A.4:设置预缓存前的内存临界值为maxCacheCapacity1,判断当前内存缓存的容量是否大于临界值maxCacheCapacity1,如果是,释放整个内存中瓦片缓存的N%的空间,其中0<N<100,对缓存中的第一类三维瓦片数据和第二类三维瓦片数据分别按照瓦片的数据价值从低到高提出各自N%的内存占用量,直到符合内存要求。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉市国土资源和规划信息中心,未经武汉市国土资源和规划信息中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611104349.5/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置