一种地图加载、渲染方法及系统技术方案

技术编号:20545886 阅读:27 留言:0更新日期:2019-03-09 18:49
本发明专利技术公开了一种地图加载、渲染方法及系统,包括:本地终端在外部触发指令的作用下向服务器发送获取电子地图的请求,以使所述服务器根据所述获取电子地图的请求下发对应的电子地图数据;将获取到的电子地图数据划分成多个子电子地图数据,所述子电子地图数据包括至少一个电子地图数据单元;计算每个子电子地图数据对应的包围体以及根据预设的投影矩阵计算每个子电子地图数据的视锥体;分别检测每个子电子地图数据对应的包围体和视锥体是否发生碰撞;若发生碰撞,则保存所述子电子地图数据,并对所述子电子地图数据进行渲染。本发明专利技术有效提高了加载电子地图的速度以及提高了对电子地图进行渲染的效率。

A Map Loading and Rendering Method and System

The invention discloses a map loading and rendering method and system, which includes: the local terminal sends a request for acquiring an electronic map to the server under the function of an external trigger instruction, so that the server sends corresponding electronic map data according to the request for acquiring an electronic map; and divides the acquired electronic map data into several sub-electronic map data, the sub-electronic map data. Map data includes at least one electronic map data unit; calculating the bounding volume corresponding to each sub-electronic map data and calculating the visual cone of each sub-electronic map data according to the preset projection matrix; detecting whether the bounding volume and the visual cone corresponding to each sub-electronic map data collide separately; if collision occurs, the sub-electronic map data is saved and described. Rendering of sub-electronic map data. The invention effectively improves the speed of loading the electronic map and the efficiency of rendering the electronic map.

【技术实现步骤摘要】
一种地图加载、渲染方法及系统
本专利技术属于互联网图像处理
,尤其涉及一种地图加载、渲染方法及系统。
技术介绍
随着互联网技术和图像处理技术的高速发展,电子地图已经深入到人们生活中的各个方面,同时人们对于网络环境的需求也日益提高。由于网页在加载电子地图时,需要下载较多的数据量,网页加载时间的大幅加快,也会带来转换比例的增加。网页在加载电子地图时的速度严重影响了用户体验。另外,当需要渲染一个大型3D地图,由于数据量庞大,需要渲染的东西非常多,导致系统内存资源开销较大。并且响应时间可能会受到其它网站流量的影响,无法直接控制组件服务器。如果页面发生了重定向,就会延迟整个HTML文档的传输,而在HTML文档到达之前,页面中不会呈现任何东西,也没有任何组件会被下载。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种地图加载、渲染方法及系统,旨在有效提高加载电子地图的速度以及提高对电子地图进行渲染的效率。本专利技术采用的技术方案如下:第一方面,本专利技术实施例提供的一种地图加载、渲染方法,应用于地图加载、渲染系统,所述地图加载、渲染系统包括服务器和本地终端,所述服务器与所述本地终端通信连接,所述地图加载、渲染方法包括以下步骤:所述本地终端在外部触发指令的作用下向所述服务器发送获取电子地图的请求,以使所述服务器根据所述获取电子地图的请求下发对应的电子地图数据;将获取到的电子地图数据划分成多个子电子地图数据,所述子电子地图数据包括至少一个电子地图数据单元;计算每个子电子地图数据对应的包围体以及根据预设的投影矩阵计算每个子电子地图数据的视锥体;分别检测每个子电子地图数据对应的包围体和视锥体是否发生碰撞;若发生碰撞,则保存所述子电子地图数据,并对所述子电子地图数据进行渲染。进一步地,所述计算每个子电子地图数据对应的包围体以及根据预设的投影矩阵计算每个子电子地图数据的视锥体的步骤还包括:计算每个子电子地图数据与镜头的距离,并按照所述与镜头的距离的大小关系对所述子电子地图数据进行排序,以对所述子电子地图数据进行渲染。进一步地,所述分别检测每个子电子地图数据对应的包围体和视锥体是否发生碰撞的步骤具体包括:在平面上判断所述包围体与所述视锥体是否相交;当所述包围体与所述视锥体相交时,判断所述包围体与所述视锥体发生碰撞。进一步地,所述分别检测每个子电子地图数据对应的包围体和视锥体是否发生碰撞的步骤进一步包括:循环检测所述视锥体的六个平面与所述包围体的立体关系;当检测到所述包围体在所述视锥体的任一平面的负面时,判断所述包围体与所述视锥体未发生碰撞。第二方面,本专利技术实施例提供的一种地图加载、渲染系统,包括服务器和本地终端,所述服务器与所述本地终端通信连接,其特征在于,所述本地终端包括:发送模块,用于在外部触发指令的作用下向所述服务器发送获取电子地图的请求,以使所述服务器根据所述获取电子地图的请求下发对应的电子地图数据;划分模块,用于将获取到的电子地图数据划分成多个子电子地图数据,所述子电子地图数据包括至少一个电子地图数据单元;计算模块,用于计算每个子电子地图数据对应的包围体以及根据预设的投影矩阵计算每个子电子地图数据的视锥体;碰撞检测模块,用于分别检测每个子电子地图数据对应的包围体和视锥体是否发生碰撞;渲染模块,用于在发生碰撞时,保存所述子电子地图数据,并对所述子电子地图数据进行渲染。进一步地,所述计算模块,还用于计算每个子电子地图数据与镜头的距离,并按照所述与镜头的距离的大小关系对所述子电子地图数据进行排序,以对所述子电子地图数据进行渲染。进一步地,所述碰撞检测模块,具体用于在平面上判断所述包围体与所述视锥体是否相交;当所述包围体与所述视锥体相交时,判断所述包围体与所述视锥体发生碰撞。进一步地,所述碰撞检测模块,进一步用于循环检测所述视锥体的六个平面与所述包围体的立体关系;当检测到所述包围体在所述视锥体的任一平面的负面时,判断所述包围体与所述视锥体未发生碰撞。综上所述,本专利技术通过将获取到的电子地图数据划分成多个子电子地图数据,以分别进行调用;然后计算每个子电子地图数据对应的包围体以及根据预设的投影矩阵计算每个子电子地图数据的视锥体;分别检测每个子电子地图数据对应的包围体和视锥体是否发生碰撞;若发生碰撞,则保存所述子电子地图数据,并对所述子电子地图数据进行渲染。由于将电子地图数据划分成多个子电子地图数据以及在检测到子电子地图数据对应的包围体和视锥体发生碰撞时,才对所述子电子地图数据进行渲染,因此能够有效提高加载电子地图的速度以及提高对电子地图进行渲染的效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本专利技术实施例提供的一种地图加载、渲染系统的应用场景示意图。图2示出了本专利技术实施例提供的一种地图加载、渲染方法的流程示意图。图3示出了本专利技术实施例提供的一种包围体和视锥体碰撞判断的示意图。图4示出了本专利技术实施例提供的一种本地终端的功能模块示意图。主要元件符号说明:地图加载、渲染系统100;服务器200;本地终端300;发送模块301;划分模块302;计算模块303;碰撞检测模块304;渲染模块305。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,是本专利技术实施例提供的一种地图加载、渲染系统100的应用场景示意图。其中,所述地图加载、渲染系统100可以包括服务器200和本地终端300。所述服务器200通过网络与所述本地终端300通信连接,以进行数据通信或交互。本实施例中,所述本地终端300用于加载、渲染电子地图。所述本地终端300可以是个人电脑(personalcomputer,PC)、平板电脑、智能手机以及个人数字助理(personaldigitalassistant,PDA)等。如图2所示,是本专利技术实施例提供的一种地图加载、渲染方法的流程示意图。其中,所述地图加载、渲染方法可以包括以下步骤:步骤S101:本地终端300在外部触发指令的作用下向所述服务器200发送获取电子地图的请求。本实施例中,所述本地终端300实时监测外部输入的信号,例如用户点击鼠标或滑动鼠标滚轮的动作等。在判断出所述信号为触发指令时,向所述服务器200发送获取电子地图的请求。另外,所述服务器200对接收到的所述获取电子地图的请求进行解析,并发送对应的电子地图数据等。优选地,所述本地终端300根据所述服务器200发送的电子地图数据进行实时刷新和局部刷新,以减少HTTP请求,避免重定向的要求,从而使用户在浏览电子地图的本文档来自技高网...

【技术保护点】
1.一种地图加载、渲染方法,应用于地图加载、渲染系统,所述地图加载、渲染系统包括服务器和本地终端,所述服务器与所述本地终端通信连接,其特征在于,所述地图加载、渲染方法包括以下步骤:所述本地终端在外部触发指令的作用下向所述服务器发送获取电子地图的请求,以使所述服务器根据所述获取电子地图的请求下发对应的电子地图数据;将获取到的电子地图数据划分成多个子电子地图数据,所述子电子地图数据包括至少一个电子地图数据单元;计算每个子电子地图数据对应的包围体以及根据预设的投影矩阵计算每个子电子地图数据的视锥体;分别检测每个子电子地图数据对应的包围体和视锥体是否发生碰撞;若发生碰撞,则保存所述子电子地图数据,并对所述子电子地图数据进行渲染。

【技术特征摘要】
1.一种地图加载、渲染方法,应用于地图加载、渲染系统,所述地图加载、渲染系统包括服务器和本地终端,所述服务器与所述本地终端通信连接,其特征在于,所述地图加载、渲染方法包括以下步骤:所述本地终端在外部触发指令的作用下向所述服务器发送获取电子地图的请求,以使所述服务器根据所述获取电子地图的请求下发对应的电子地图数据;将获取到的电子地图数据划分成多个子电子地图数据,所述子电子地图数据包括至少一个电子地图数据单元;计算每个子电子地图数据对应的包围体以及根据预设的投影矩阵计算每个子电子地图数据的视锥体;分别检测每个子电子地图数据对应的包围体和视锥体是否发生碰撞;若发生碰撞,则保存所述子电子地图数据,并对所述子电子地图数据进行渲染。2.根据权利要求1所述的地图加载、渲染方法,其特征在于,所述计算每个子电子地图数据对应的包围体以及根据预设的投影矩阵计算每个子电子地图数据的视锥体的步骤还包括:计算每个子电子地图数据与镜头的距离,并按照所述与镜头的距离的大小关系对所述子电子地图数据进行排序,以对所述子电子地图数据进行渲染。3.根据权利要求1所述的地图加载、渲染方法,其特征在于,所述分别检测每个子电子地图数据对应的包围体和视锥体是否发生碰撞的步骤具体包括:在平面上判断所述包围体与所述视锥体是否相交;当所述包围体与所述视锥体相交时,判断所述包围体与所述视锥体发生碰撞。4.根据权利要求3所述的地图加载、渲染方法,其特征在于,所述分别检测每个子电子地图数据对应的包围体和视锥体是否发生碰撞的步骤进一步包括:循环检测所述视锥体的六个平面与所述包围体的立...

【专利技术属性】
技术研发人员:陈佩华张芒段尚
申请(专利权)人:成都北科维拓科技有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1