一种地图显示方法及装置与流程

文档序号:14909005发布日期:2018-07-10 22:52阅读:131来源:国知局

本发明涉及电子地图技术领域,更具体的说,是涉及一种地图显示方法及装置。



背景技术:

随着网络技术、卫星技术及各种测绘技术的发展,电子地图应运而生。

目前,电子地图主要是将地图元素以类似于传统纸质地图的平面格式显示给用户,其工作原理是依据虚拟相机的高度信息,确定出对应该高度信息的显示等级,进而计算该显示等级所对应的网格平面与虚拟相机的视景体的相交区域,并将该相交区域内网格块显示给用户。然而,现有的电子地图不包括地图元素的高程信息,进而无法直观体现出地图元素的三维地理实景,降低了电子地图的直观性和准确性。



技术实现要素:

有鉴于此,本发明提供了一种地图显示方法及装置,可以在增加了地图元素的高程信息的基础上,令电子地图准确地将地图元素的三维地理实景显示给用户,进而提高了电子地图的直观性和准确性。

为实现上述目的,本发明提供如下技术方案:

一种地图显示方法,包括:

在接收到地图场景变换指令时,获取虚拟相机的当前高度信息;

获取与所述虚拟相机的当前高度信息对应的显示等级;

依据所述显示等级,确定出对应所述显示等级的网格平面,所述网格平面由多个划分生成的网格块组成,所述网格平面与所述虚拟相机的视景体相交;

计算所述虚拟相机的视景体在所述网格平面上的投影区域;

加载所述投影区域包括的网格块所对应的地图数据,并显示。

优选地,网格平面划分生成网格块的过程包括:

确定出对应所述显示等级的网格平面中网格块的目标边长;

将所述网格平面上的经纬度原点作为坐标原点,确定出所述网格平面的横坐标轴和纵坐标轴;

将所述网格平面的坐标原点作为第一网格块的中心点,划分出边长等于所述目标边长的第一网格块;

将所述第一网格块作为所述网格平面的划分中心,分别沿着所述横坐标轴和所述纵坐标轴,划分出除所述第一网格块之外边长等于所述目标边长的其他网格块。

优选地,所述在将所述第一网格块作为所述网格平面的划分中心,分别沿着所述横坐标轴和所述纵坐标轴,划分出除所述第一网格块之外边长等于所述目标边长的其他网格块之后,还包括:

利用所述第一网格块的坐标值、坐标方向值、以及所述网格平面对应的显示等级进行等级编号,生成所述第一网格块的编号信息,所述第一网格块的坐标值和坐标方向值为所述第一网格块的中心点的坐标值和坐标方向值;

对除所述第一网格块之外的其他所述网格块的中心点进行坐标定位,获得除所述第一网格块之外的每一个所述网格块的坐标值和坐标方向值;

利用除所述第一网格块之外的每一个所述网格块的坐标值、坐标方向值、以及所述网格平面对应的显示等级进行等级编号,生成除所述第一网格块之外的每一个所述网格块的编号信息;

其中,所述坐标值包括横坐标值和纵坐标值,所述坐标方向值包括横坐标方向值和纵坐标方向值。

优选地,所述加载所述投影区域包括的网格块所对应的地图数据,并显示,包括:

确定出所述投影区域包括的每一个网格块的编号信息;

从目标服务器或目标外存区域加载确定出的每一个所述网格块的编号信息对应的地图数据;

将加载所得的所述地图数据进行渲染显示。

优选地,所述在计算所述虚拟相机的视景体在所述网格平面的投影区域之后,还包括:

判断所述投影区域包括的每一个网格块的包围盒是否可见;

若所述网格块的包围盒可见,加载所述网格块所对应的地图数据,并显示;

若所述网格块的包围盒不可见,将所述网格块替换为空白内容。

一种地图显示的装置,包括:

第一获取模块,用于在接收到地图场景变换指令时,获取虚拟相机的当前高度信息;

第二获取模块,用于获取与所述虚拟相机的当前高度信息对应的显示等级;

第一确定模块,用于依据所述显示等级,确定出对应所述显示等级的网格平面,所述网格平面由多个划分生成的网格块组成,所述网格平面与所述虚拟相机的视景体相交;

计算模块,用于计算所述虚拟相机的视景体在所述网格平面上的投影区域;

第一显示模块,用于加载所述投影区域包括的网格块所对应的地图数据,并显示。

优选地,所述地图显示装置还包括:

第二确定模块,用于确定出对应所述显示等级的网格平面中网格块的目标边长;

第三确定模块,用于将所述网格平面上的经纬度原点作为坐标原点,确定出所述网格平面的横坐标轴和纵坐标轴;

第一划分模块,用于将所述网格平面的坐标原点作为第一网格块的中心点,划分出边长等于所述目标边长的第一网格块;

第二划分模块,用于将所述第一网格块作为所述网格平面的划分中心,分别沿着所述横坐标轴和所述纵坐标轴,划分出除所述第一网格块之外边长等于所述目标边长的其他网格块。

优选地,所述地图显示装置还包括:

第一编号模块,用于在所述第二划分模块将所述第一网格块作为所述网格平面的划分中心,分别沿着所述横坐标轴和所述纵坐标轴,划分出除所述第一网格块之外边长等于所述目标边长的其他网格块之后,利用所述第一网格块的坐标值、坐标方向值、以及所述网格平面对应的显示等级进行等级编号,生成所述第一网格块的编号信息,所述第一网格块的坐标值和坐标方向值为所述第一网格块的中心点的坐标值和坐标方向值;

坐标定位模块,用于对除所述第一网格块之外的其他所述网格块的中心点进行坐标定位,获得除所述第一网格块之外的每一个所述网格块的坐标值和坐标方向值;

第二编号模块,用于利用除所述第一网格块之外的每一个所述网格块的坐标值、坐标方向值、以及所述网格平面对应的显示等级进行等级编号,生成除所述第一网格块之外的每一个所述网格块的编号信息,其中,所述坐标值包括横坐标值和纵坐标值,所述坐标方向值包括横坐标方向值和纵坐标方向值。

优选地,所述第一显示模块包括:

确定单元,用于确定出所述投影区域包括的每一个网格块的编号信息;

加载单元,用于从目标服务器或目标外存区域加载确定出的每一个所述网格块的编号信息对应的地图数据;

渲染单元,用于将加载所得的所述地图数据进行渲染显示。

优选地,所述地图显示装置还包括:

判断模块,用于在所述计算模块计算所述虚拟相机的视景体在所述网格平面上的投影区域之后,判断所述投影区域包括的每一个网格块的包围盒是否可见;

第二显示模块,用于若所述网格块的包围盒可见,加载所述网格块所对应的地图数据,并显示;

替换模块,用于若所述网格块的包围盒不可见,将所述网格块替换为空白内容。

经由上述的技术方案可知,与现有技术相比,本发明提供了一种地图显示方法及装置,通过依据显示等级确定出的网格平面,可以计算出与该网格平面相交的虚拟相机的视景体在该网格平面上的投影区域,进而在加载投影区域内的网格块对应的地图数据并进行显示时,可以确保包含有完整的高程信息的地图数据能够正确被显示,从而实现了将地图元素所对应的三维地理实景精确地在电子地图上展示给用户,提高了电子地图的直观性和准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种地图显示方法的方法流程图;

图2为本发明实施例提供的一种计算投影区域的场景示例图;

图3为本发明实施例提供的一种网格块的划分方法的方法流程图;

图4为本发明实施例提供的一种划分网格块的场景示例图;

图5为本发明实施例提供的另一种划分网格块的场景示例图;

图6为本发明实施例提供的一种网格块的编号方法的方法流程图;

图7为本发明实施例提供的一种网格块坐标定位的场景示例图;

图8为本发明实施例提供的一种地图数据的显示方法的方法流程图;

图9为本发明实施例提供的另一种地图显示方法的方法流程图;

图10为本发明实施例提供的一种地图显示装置的结构示意图;

图11为本发明实施例提供的一种网格块的划分装置的结构示意图;

图12为本发明实施例提供的一种网格块的编号装置的结构示意图;

图13为本发明实施例提供的一种地图数据的显示装置的结构示意图;

图14为本发明实施例提供的另一种地图显示装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种地图显示方法,请参见附图1,所述方法具体包括以下步骤:

S101:在接收到地图场景变换指令时,获取虚拟相机的当前高度信息;

具体的,地图场景变换指令可以是因电子地图的位置信息发生改变而自动生成的。其中,电子地图的位置信息可以包括电子地图的地域信息和比例尺信息。举例说明,当用户点击电子地图当前显示部分之外的区域时,由于电子地图的地域信息发生改变而自动生成地图场景变换指令,进而执行获取虚拟相机的当前高度信息这一操作。又如,当用户对电子地图进行缩放操作时,由于电子地图的比例尺信息发生改变而自动生成地图场景变换指令,进而执行获取虚拟相机的当前高度信息这一操作。

S102:获取与所述虚拟相机的当前高度信息对应的显示等级;

具体的,显示等级可以预先建立,且与虚拟相机的当前高度信息之间存在对应关系,从而在S101中获取到虚拟相机的当前高度信息之后,可以快速匹配出与之存在对应关系的显示等级。其中,显示等级的个数可以为多个,每一个显示等级可以与虚拟相机的高度信息库内的一个高度信息对应,还可以是每一个显示等级与虚拟相机的高度信息库内的一组高度信息对应。

下面针对一个显示等级与虚拟相机的高度信息库内的一个高度信息对应进行举例说明,电子地图中预置的显示等级包括“一级”、“二级”和“三级”,与之存在对应关系的虚拟相机的高度信息分别为“20米”、“50米”和“70米”。

下面针对一个显示等级与虚拟相机的高度信息库内的一组高度信息对应进行举例说明,电子地图中预置的显示等级包括“一级”、“二级”和“三级”,与之存在对应关系的虚拟相机的高度信息分别为“0米-50米”、“51米-100米”和“101米-150米”。

S103:依据所述显示等级,确定出对应所述显示等级的网格平面,所述网格平面由多个划分生成的网格块组成,所述网格平面与所述虚拟相机的视景体相交;

具体的,网格平面与显示等级之间存在一一对应关系,从而能够依据获取到的显示等级,快速确定出与之存在对应关系的网格平面。其中,该网格平面由多个大小相同的网格块组成,同时,该网格平面还与虚拟相机的视景体相交。

其次,显示等级的不同,会导致与之对应的网格平面的大小发生改变,进而改变网格平面内每一个网格块的大小。

S104:计算所述虚拟相机的视景体在所述网格平面上的投影区域;

具体的,由于网格平面与虚拟相机的视景体相交,因此可以计算出该虚拟相机的视景体在网格平面上所产生的投影区域,进而在后续将计算出的投影区域所包含的全部网格块对应的地图数据加载显示时,能够确保这些包含有完整高程信息的地图数据被正确呈现,以实现将地图元素的地理实景在电子地图上准确显示给用户的目的,提高了地图显示内容的直观性,方便用户辨认。

下面结合实例对计算虚拟相机的视景体在网格平面的投影区域进行举例说明,如图2所示,依据显示等级确定出的网格平面202与虚拟相机的视景体201相交,计算虚拟相机的视景体201投影到该网格平面202上的投影区域,即为相交点204到相交点205之间的区域,此时,能够确保计算出来的投影区域中包含的网格块所对应的地图数据即使存在较大的高程信息,如高建筑物203,也可以被完整地加载显示给用户,同时保证了显示结果的正确性。

S105:加载所述投影区域包括的网格块所对应的地图数据,并显示;

具体的,由于电子地图的地图数据数量庞大,因此为了降低电子地图的内存资源占用率,提高运行速率,可以令电子地图中的网格平面内的网格块不包含对应的地图数据,只有在计算出投影区域后,利用投影区域的网格块与地图数据之间存在的一一对应关系,快速加载与之存在对应关系的地图数据,并显示。

本发明提供了一种地图显示方法,通过依据显示等级确定出的网格平面,可以计算出与该网格平面相交的虚拟相机的视景体在该网格平面上的投影区域,进而在加载投影区域内的网格块对应的地图数据并进行显示时,可以确保包含有完整的高程信息的地图数据能够正确被显示,以提高显示结果的正确性,同时,实现了将地图元素所对应的三维地理实景精确地在电子地图上展示给用户,提高了电子地图的直观性和准确性。

在获取到与虚拟相机的当前高度信息所对应的显示等级之后,依据该显示等级确定出由多个网格块组成的网格平面,是对于后续准确计算出投影区域比较重要的一步;而网格平面内经过划分生成的多个网格块则是后续加载地图数据是否准确的关键。因此,如何将网格平面划分生成多个网格块也是本方案所关注的一个重点。

故针对S103,如图3所示,本发明实施例公开了一种网格块的划分方法,所述方法具体包括以下步骤:

S301:确定出对应所述显示等级的网格平面中网格块的目标边长;

具体的,网格块的目标边长可以是一个网格块四条边长的数值,如网格块的目标边长为“5km”,则该网格块为一个边长数值为“5km”的正方形。其中,组成网格平面的网格块的目标边长的大小可以随显示等级的不同而发生数值改变,例如若显示等级为“一级”,则确定出的网格平面内网格块的目标边长为“10km”,若显示等级为“三级”,则确定出的网格平面内网格块的目标边长为“40km”,从而有效提高地图显示尺度的合理性,提升用户体验。

S302:将所述网格平面上的经纬度原点作为坐标原点,确定出所述网格平面的横坐标轴和纵坐标轴;

具体的,由于网格块是在二维电子地图的基础上生成的,因此,只需要从网格平面上确定出坐标原点、横坐标轴和纵坐标轴,就可以构建出一个二维平面坐标系。其中,横坐标轴和纵坐标轴以坐标原点为中心,垂直相交。

S303:将所述网格平面的坐标原点作为第一网格块的中心点,划分出边长等于所述目标边长的第一网格块;

具体的,在划分第一网格块的过程中,可以利用构建出的二维平面坐标系,将坐标原点(0,0)作为该第一网格块的中心点,分别沿着X轴正方向、X轴负方向、Y轴正方向和Y轴负方向,扩展网格块的目标边长的一半长度值,之后,将扩展后在X轴正方向、X轴负方向、Y轴正方向和Y轴负方向上的边界点相连,则划分得到四条边长的数值均为目标边长的第一网格块。

举例说明,如图4所示,在X-Y的二维平面坐标系中,第一网格块“a”的中心点为S302中确定出的坐标原点(0,0),而该第一网格块“a”的四条边长的数值为S301中确定出的网格块的目标边长。

S304:将所述第一网格块作为所述网格平面的划分中心,分别沿着所述横坐标轴和所述纵坐标轴,划分出除所述第一网格块之外边长等于所述目标边长的其他网格块;

具体的,在划分出第一网格块后,可以将该第一网格块作为划分网格平面的一个中心,分别沿着X轴正方向、X轴负方向、Y轴正方向和Y轴负方向,依次划分出其他网格块。

举例说明,如图5所示,网格块的目标边长为“1km”,将划分出来的第一网格块“a”的右侧边长作为划分第二网格块“b”的起点,沿着X轴正方向扩展出边长为“1km”的第二网格块“b”。其中,将第一网格块作为划分中心,沿着X轴正方向、X轴负方向、Y轴正方向和Y轴负方向中任意一个方向进行划分的先后顺序本方案并不限定。

本发明实施例所公开的一种网格块的划分方法,通过确定出与显示等级所对应的网格平面中网格块的目标边长,以及网格平面的横坐标轴和纵坐标轴,可以快速划分出以网格平面的坐标原点为中心点,以目标边长为四条边的长度值的第一网格块,进而再将第一网格块作为划分中心,分别沿着横坐标轴和纵坐标轴依次划分出边长均等于目标边长的其他网格块,进而在网格平面所含网格块大小与显示等级之间相匹配的基础上,实现了对网格平面的精准划分,确保了电子地图将地图数据以最合适的比例呈现给用户查看。

由于电子地图中会包括对应不同显示等级的不同网格平面,而每一个网格平面内又包括多个网格块,因此为了准确区分属于不同网格平面的网格块,可以在对每一个网格平面划分生成网格块之后,再对划分生成的每一个网格块进行等级编号。

故在上述附图3所对应的实施例中的S304之后,本发明实施例公开了一种网格块的编号方法,请参见附图6,所述方法具体包括以下步骤:

S401:利用所述第一网格块的坐标值、坐标方向值、以及所述网格平面对应的显示等级进行等级编号,生成所述第一网格块的编号信息,所述第一网格块的坐标值和坐标方向值为所述第一网格块的中心点的坐标值和坐标方向值;

具体的,将第一网格块的坐标值、坐标方向值、以及网格平面对应的显示等级均作为编号信息的组成部分执行等级编号操作,可以有效提高网格块的识别程度,以降低依据显示等级确定出不对应的网格平面的问题发生概率,间接提高了地图显示的准确性。由于第一网格块的中心点为网格平面的坐标原点,因此其坐标值为(0,0),其坐标方向值为(0,0),其中,坐标方向值内的第一个数值为横坐标方向值,第二个数值为纵坐标方向值。

生成的第一网格块的编号信息可以是由64位无符号正数所组成,第一网格块的编号信息的具体包含内容如表1所示:

表1第一网格块编号组成

其中,最高8位(63-56)为显示等级的对应编号,可以支持0-255共256个等级;

第55位为横坐标方向值的对应编号,方向为正或为坐标原点时,第55位为0,方向为负时,第55位为1;

第54-28位为横坐标值的对应编号,可以支持227-1个坐标值;

第27位为纵坐标方向值的对应编号,方向为正或为坐标原点时,第27位为0,方向为负时,第27位为1;

第26-0位为纵坐标值的对应编号,可以支持227-1个坐标值。

S402:对除所述第一网格块之外的其他所述网格块的中心点进行坐标定位,获得除所述第一网格块之外的每一个所述网格块的坐标值和坐标方向值;

具体的,坐标定位主要用于对除第一网格块之外的每一个网格块的中心点在该网格平面对应的二维平面坐标系上所处的位置和方向进行坐标值定义;也就是说,定义出除第一网格块之外的每一个网格块的中心点的坐标值和坐标方向值。

举例说明,如附图7所示,第一网格块“a”的中心点为坐标原点,故其坐标值为(0,0),标方向值为(0,0);位于该第一网格块“a”右侧的第二网格块“b”的坐标值为(1,0),标方向值为(0,0);位于该第二网格块“b”下侧的第三网格块“c”的坐标值为(1,-1),标方向值为(0,1),其中,网格块的目标边长为“1km”。

S403:利用除所述第一网格块之外的每一个所述网格块的坐标值、坐标方向值、以及所述网格平面对应的显示等级进行等级编号,生成除所述第一网格块之外的每一个所述网格块的编号信息;其中,所述坐标值包括横坐标值和纵坐标值,所述坐标方向值包括横坐标方向值和纵坐标方向值。

具体的,其他网格块的等级编号执行过程与第一网格块的等级编号执行过程一致,且生成的其他网格块的编号信息也与第一网格块的编号信息一致。其中,其他网格块的编号信息的具体内容请参见表1所示,在此不再赘述。

本发明实施例所公开的一种网格块的编号方法,通过利用每一个网格块的坐标值、坐标方向值、以及网格平面对应的显示等级进行等级编号,可以生成每一个网格块的编号信息,更易区分属于不同网格平面的网格块,进而提高了依据显示等级获取对应网格平面的速度和准确度,间接提高了地图的显示效率。

在上述图6所对应实施例的基础上,针对附图1中S105的加载所述投影区域包括的网格块所对应的地图数据,并显示,本发明实施例公开了一种地图数据的显示方法,请参见附图8,所述方法具体包括以下步骤:

S501:确定出所述投影区域包括的每一个网格块的编号信息;

具体的,由于网格块的编号信息可以作为代表网格块所属网格平面的唯一依据,因此,可以在计算出投影区域后,优先获取其内所含的每一个网格块的编号信息,用于后续快速加载对应的地图数据。

S502:从目标服务器或目标外存区域加载确定出的每一个所述网格块的编号信息对应的地图数据;

具体的,存储在目标服务器或目标外存区域的地图数据与投影区域内的网格块的编号信息之间存在关联关系,从而能够依据S501确定出来的网格块的编号信息,快速从目标服务器或目标外存区域中一次性加载与之具有关联关系的地图数据,既减少了IO操作次数,提高加载效率,又降低了电子地图的内存资源占用率。

本发明实施例所涉及到的目标外存区域可以是电子地图安装设备的存储区域,其中,电子地图安装设备可以包括但不限于智能手机、计算机、笔记本电脑、智能穿戴设备等电子设备。例如,当电子地图安装设备为“计算机”,则目标外存区域为“计算机存储硬盘或磁盘”;当电子地图安装设备为“智能手机”,则目标外存区域为“手机闪存”。

S503:将加载所得的所述地图数据进行渲染显示;

具体的,将从目标服务器或目标外存区域加载到电子地图内存中的地图数据进行渲染操作,有助于将地图数据转换为用户易识别的画面,以便用户进行查看。

对地图数据进行渲染的方式本方案并不限定,可以是利用渲染软件如CG软件来完成。

本发明实施例所公开的一种地图数据的显示方法,通过在计算出虚拟相机的视景体在网格平面上的投影区域之后,依据确定出的投影区域包括的每一个网格块的编号信息,直接从目标服务器或目标外存区域中一次性加载与网格块的编号信息所对应的地图数据,可以有效提高加载效率和加载准确度,,而对加载获得的全部地图数据进行渲染显示,可以将地图数据转换为用户易识别的画面,增强了地图的可读性,间接提高了用户的使用体验度。

在上述图1所对应实施例的基础上,本发明实施例公开了另一种地图显示方法,请参见附图9,所述方法具体包括以下步骤:

S601:在接收到地图场景变换指令时,获取虚拟相机的当前高度信息。

S602:获取与所述虚拟相机的当前高度信息对应的显示等级;

S603:依据所述显示等级,确定出对应所述显示等级的网格平面,所述网格平面由多个划分生成的网格块组成,所述网格平面与所述虚拟相机的视景体相交。

S604:计算所述虚拟相机的视景体在所述网格平面上的投影区域。

S605:判断所述投影区域包括的每一个网格块的包围盒是否可见,若是,则执行S606,若否,则执行S607;

具体的,在计算出投影区域后,可以对该投影区域所包括的全部网格块进行可见性的判断,从而避免了对不可见的网格块进行加载、显示操作,缩减了地图显示过程所需的时间,进而加快了运行速度。

对每一个网格块进行可见性的判断的具体过程为:对每一个网格块的包围盒是否可见进行判断。其中,包围盒主要用于包围投影区域内的网格块,以便通过判断包围盒是否可见来判断出其所包围的网格块是否可见;也就是说,投影区域内包含的每一个网格块均有其所对应的一个包围盒。而在执行S605的判断投影区域包括的每一个网格块的包围盒是否可见这一操作时,每一个网格块的包围盒均可以从网络服务器或是电子地图安装设备的存储区域中获取,从而有效避免占用电子地图自身内存资源的问题发生。

对包围盒判断是否可见的方式本方案并不限定,可以是采用AABB包围盒(Axis-aligned bounding box)、包围球(Sphere)、方向包围盒OBB(Oriented bounding box)以及固定方向凸包FDH等其中的任意一种包围盒算法。

S606:加载所述网格块所对应的地图数据,并显示;

具体的,当判断出网格块的包围盒可见时,则可以确定出该网格块是可见的,进而通过统一加载并显示与这些包围盒可见的网格块所对应的地图数据,能够使用户在电子地图上查看到较为直观且准确的三维地图实景。

S607:将所述网格块替换为空白内容;

具体的,若判断出投影区域中存在不可见的包围盒时,则可以确定出投影区域中哪些网格块不可见,此时利用空白内容来代替这些包围盒不可见的网格块,以便用户及时获知电子地图这些位置上的数据无法成功被显示。

本发明实施例所公开的一种地图显示方法,通过在计算出虚拟相机的视景体在网格平面的投影区域之后,将网格块的包围盒作为判断网格块是否可见的判断依据,可以提高可见性计算的精确度,进而有效避免了对不能被成功显示在电子地图上的地图数据的加载操作,其次,由于包围盒所需的加载资源较小,还可以降低电子地图的内存资源占用率,从而加快地图显示速度。

本发明实施例公开了一种地图显示装置,请参见附图10,包括:

第一获取模块701,用于在接收到地图场景变换指令时,获取虚拟相机的当前高度信息;

第二获取模块702,用于获取与所述虚拟相机的当前高度信息对应的显示等级;

第一确定模块703,用于依据所述显示等级,确定出对应所述显示等级的网格平面,所述网格平面由多个划分生成的网格块组成,所述网格平面与所述虚拟相机的视景体相交;

计算模块704,用于计算所述虚拟相机的视景体在所述网格平面上的投影区域;

第一显示模块705,用于加载所述投影区域包括的网格块所对应的地图数据,并显示。

本发明提供了一种地图显示装置,通过计算模块704依据第一确定模块703确定出的与显示等级对应的网格平面,可以计算出与该网格平面相交的虚拟相机的视景体在该网格平面上的投影区域,进而在第一显示模块705加载投影区域内的网格块对应的地图数据并进行显示时,可以确保包含有完整的高程信息的地图数据能够正确被显示,从而实现了将地图元素所对应的三维地理实景精确地在电子地图上展示给用户,以提高电子地图的直观性和准确性。

本发明实施例提供的各个模块的工作过程,请参照附图1所对应的方法流程图,具体工作过程不再赘述。

在上述附图10所对应实施例的基础上,本发明实施例公开了一种网格块的划分装置,请参见附图11,包括:

第二确定模块801,用于确定出对应所述显示等级的网格平面中网格块的目标边长;

第三确定模块802,用于将所述网格平面上的经纬度原点作为坐标原点,确定出所述网格平面的横坐标轴和纵坐标轴;

第一划分模块803,用于将所述网格平面的坐标原点作为第一网格块的中心点,划分出边长等于所述目标边长的第一网格块;

第二划分模块804,用于将所述第一网格块作为所述网格平面的划分中心,分别沿着所述横坐标轴和所述纵坐标轴,划分出除所述第一网格块之外边长等于所述目标边长的其他网格块。

本发明实施例所公开的一种网格块的划分装置,通过第二确定模块801、第三确定模块802分别确定出与显示等级所对应的网格平面中网格块的目标边长,以及网格平面的横坐标轴和纵坐标轴,可由第一划分模块803快速划分出以网格平面的坐标原点为中心点,以目标边长为四条边的长度值的第一网格块,进而再由第二划分模块804将第一网格块作为划分中心,分别沿着横坐标轴和纵坐标轴依次划分出边长均等于目标边长的其他网格块,从而在网格平面所含网格块大小与显示等级之间相匹配的基础上,实现了对网格平面的精准划分,确保了电子地图将地图数据以最合适的比例呈现给用户查看。

本发明实施例提供的各个模块的工作过程,请参照附图3所对应的方法流程图,具体工作过程不再赘述。

在上述附图11所对应实施例的基础上,本发明实施例公开了一种网格块的编号装置,请参见附图12,包括:

第一编号模块901,用于在所述第二划分模块804将所述第一网格块作为所述网格平面的划分中心,分别沿着所述横坐标轴和所述纵坐标轴,划分出除所述第一网格块之外边长等于所述目标边长的其他网格块之后,利用所述第一网格块的坐标值、坐标方向值、以及所述网格平面对应的显示等级进行等级编号,生成所述第一网格块的编号信息,所述第一网格块的坐标值和坐标方向值为所述第一网格块的中心点的坐标值和坐标方向值;

坐标定位模块902,用于对除所述第一网格块之外的其他所述网格块的中心点进行坐标定位,获得除所述第一网格块之外的每一个所述网格块的坐标值和坐标方向值;

第二编号模块903,用于利用除所述第一网格块之外的每一个所述网格块的坐标值、坐标方向值、以及所述网格平面对应的显示等级进行等级编号,生成除所述第一网格块之外的每一个所述网格块的编号信息,其中,所述坐标值包括横坐标值和纵坐标值,所述坐标方向值包括横坐标方向值和纵坐标方向值。

本发明实施例所公开的一种网格块的编号装置,通过利用每一个网格块的坐标值、坐标方向值、以及网格平面对应的显示等级进行等级编号,可以由第一编号模块901和第二编号模块903生成投影区域内全部网格块的编号信息,更易区分属于不同网格平面的网格块,进而提高了依据显示等级获取对应网格平面的速度和准确度,间接提高了地图的显示效率。

本发明实施例提供的各个模块的工作过程,请参照附图6所对应的方法流程图,具体工作过程不再赘述。

请参见附图13,在上述附图12所对应实施例的基础上,附图1所对应实施例的中的第一显示模块705具体包括:

确定单元7051,用于确定出所述投影区域包括的每一个网格块的编号信息;

加载单元7052,用于从目标服务器或目标外存区域加载确定出的每一个所述网格块的编号信息对应的地图数据;

渲染单元7053,用于将加载所得的所述地图数据进行渲染显示。

本发明实施例所公开的一种地图数据的显示装置,通过在计算模块704计算出虚拟相机的视景体在网格平面上的投影区域之后,加载单元7052依据确定单元7051确定出的投影区域包括的每一个网格块的编号信息,直接从目标服务器或目标外存区域中一次性加载与网格块的编号信息所对应的地图数据,可以有效提高加载效率和加载准确度,而渲染单元7053对加载获得的全部地图数据进行渲染显示,可以将地图数据转换为用户易识别的画面,增强了地图的可读性,间接提高了用户的使用体验度。

本发明实施例提供的各个模块的工作过程,请参照附图8所对应的方法流程图,具体工作过程不再赘述。

在上述附图10所对应实施例的基础上,本发明实施例公开了另一种地图显示装置,请参见附图14,包括:

第一获取模块701,第二获取模块702,第一确定模块703,计算模块704,判断模块706,第二显示模块707,替换模块708;

其中,所述判断模块706,用于在所述计算模块704计算所述虚拟相机的视景体在所述网格平面上的投影区域之后,判断所述投影区域包括的每一个网格块的包围盒是否可见;

第二显示模块707,用于若所述网格块的包围盒可见,加载所述网格块所对应的地图数据,并显示;

替换模块708,用于若所述网格块的包围盒不可见,将所述网格块替换为空白内容。

本发明实施例所公开的一种地图显示装置,通过在计算模块704计算出虚拟相机的视景体在网格平面的投影区域之后,判断模块706将网格块的包围盒作为判断网格块是否可见的判断依据,可以提高可见性计算的精确度,进而使第二显示模块707只加载包围盒可见的网格块的地图数据,并显示,有效避免了对不能被成功显示在电子地图上的地图数据的加载操作,减少IO操作次数,降低了电子地图的内存资源占用率,从而加快了地图显示速度。

本发明实施例提供的各个模块的工作过程,请参照附图9所对应的方法流程图,具体工作过程不再赘述。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1