[发明专利]一种基于三维场景的地形瓦片数据动态调度方法及装置有效
申请号: | 201711013323.4 | 申请日: | 2017-10-26 |
公开(公告)号: | CN107730583B | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 刘璇;俞蔚 | 申请(专利权)人: | 浙江科澜信息技术有限公司 |
主分类号: | G06T17/05 | 分类号: | G06T17/05;G06F9/48 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 310051 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 三维 场景 地形 瓦片 数据 动态 调度 方法 装置 | ||
本发明公开了一种基于三维场景的地形瓦片数据动态调度方法,包括:首先将地形数据按照四叉树机制进行切割,生成瓦片数据,切割后的瓦片数据存储在服务器中;根据瓦片中心点与视点的距离实时构建四叉树结构,实现对地形瓦片数据的调度与显示,并且在构建四叉树进行数据的调度时,如果当前瓦片数据不需要显示,那么只有节点是存在的,节点里的数据是被释放掉的,只有需要显示的节点里面的数据是存在的,所以本方案所述的调度方法,地形数据不需要全部解析至内存,只有需要显示的数据才会被解析及加载,从而减少了对内存的消耗;本发明还公开了一种基于三维场景的地形瓦片数据动态调度装置、设备及计算机可读存储介质,同样能实现上述技术效果。
技术领域
本发明涉及地形数据调度技术领域,更具体地说,涉及一种基于三维场景的地形瓦片数据动态调度方法、装置、设备及计算机可读存储介质。
背景技术
目前,传统的三维场景对地形数据的绘制是通过对地形数据一次性解析完毕,将所有地形数据加载到内存进行显示,但由于内存大小是有限的,因此,当地形数据为海量数据时,不仅在解析数据时需要花费很长时间,而且内存也不能存储解析后的大量数据。
因此,如何在三维场景中对海量地形数据进行调度,是当前亟需解决的问题。
发明内容
本发明的目的在于提供一种基于三维场景的地形瓦片数据动态调度方法、装置、设备及计算机可读存储介质。
为实现上述目的,本发明实施例提供了如下技术方案:
一种基于三维场景的地形瓦片数据动态调度方法,包括:
S1、将瓦片数据的顶层瓦片数据所对应的节点作为四叉树结构的根节点,将根节点加入列表,所述瓦片数据为按照四叉树机制对地形数据进行切割后生成的;
S2、从列表中选取当前节点,判断当前节点是否满足正向遍历条件;
S3、在当前节点满足正向遍历条件时,确定当前节点的下一层四张瓦片数据的中心点与视点的最小距离;
S4、判断最小距离是否小于下一层瓦片数据的基准参考距离;若是,则执行S5;
S5、进行正向遍历,将当前节点的下一层的四张瓦片数据所对应的四个节点作为当前节点的孩子节点,加载每个孩子节点对应的瓦片数据,删除当前节点的瓦片数据,并将四个孩子节点添加至列表,以替换列表中的当前节点,并继续执行所述S2。
其中,若S2中判定当前节点不满足正向遍历条件,或者,S4中判定最小距离不小于下一层瓦片数据的基准参考距离,则所述地形瓦片数据动态调度方法还包括:
S6、进行反向遍历,判断当前节点是否存在父节点;若存在,则执行S7、若不存在,则执行S2;
S7、确定当前节点的父节点的四个孩子节点的中心点与视点的最小距离,判断最小距离是否小于当前层瓦片数据的基准参考距离;若是,则执行S8,若否,则执行S9;
S8、判断当前节点是否已加载对应的瓦片数据;若否,则加载当前节点的瓦片数据后,执行S2;若是,则直接执行S2;
S9、判断当前节点的父亲节点是否已加载对应的瓦片数据;若否,则加载父亲节点的瓦片数据后,执行S10;若是,则直接执行S10;
S10、将当前节点的父亲节点加入列表,以替换列表中父亲节点的孩子节点,并继续执行S2。
其中,S2中判断当前节点是否满足正向遍历条件,包括:
若当前节点的包围盒与视景体相交,且当前节点的当前层级大于零,则判定当前节点满足正向遍历条件,否则,判定当前节点满足反向遍历条件。
其中,执行S1之前,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江科澜信息技术有限公司,未经浙江科澜信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711013323.4/2.html,转载请声明来源钻瓜专利网。