一种地图渲染方法及装置与流程

文档序号:11591707阅读:245来源:国知局

本发明涉及地理信息技术领域,更具体地说,涉及一种地图渲染方法及装置。



背景技术:

随着智能终端的普及,地图产品在人们的生活中起着越来越重要的作用。为了带给用户更加逼真直接的地图渲染效果,越来越多的地图产品开始采用三维地图渲染技术。

现有的三维地图渲染技术可以渲染出鸟瞰模式三维地图,图1所示为鸟瞰模式三维地图的地图渲染效果图。其中,图1中的箭头11指示智能终端的当前位置。由图1渲染效果可知,鸟瞰模式三维地图存在渲染结果对用户的代入感与用户的实际驾车体验之间存在一定差距的问题。

因此,提供一种地图渲染方法及装置,以缩小地图渲染结果对用户的代入感与用户的实际驾车体验之间的差距,是亟待解决的问题。



技术实现要素:

有鉴于此,本发明提供一种地图渲染方法及装置,以缩小地图渲染结果对用户的代入感与用户的实际驾车体验之间的差距。

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

一种地图渲染方法,包括:

获取地图渲染模式和地图渲染参数;

获取终端设备的当前位置;

根据所述地图渲染参数和所述终端设备的当前位置,获取与所述地图渲染模式对应的地图数据;

将获取到的所述地图数据按照所述地图渲染模式进行渲染。

优选的,所述获取地图渲染模式具体包括:

接收地图渲染请求,所述地图渲染请求中携带地图渲染模式;

或者,

读取预先设置的地图渲染模式。

优选的,所述地图渲染参数至少包括地图比例尺、终端设备屏幕的分辨率和像素密度,所述根据所述地图渲染参数和所述终端设备的当前位置,获取与所述地图渲染模式对应的地图数据具体包括:

根据所述地图比例尺、所述终端设备屏幕的分辨率和像素密度,获取所述终端设备屏幕显示的地图的地理参数;

根据所述地图的地理参数和所述终端设备的当前位置,获取与所述地图渲染模式对应的地图数据。

优选的,所述根据所述地图比例尺、所述终端设备屏幕的分辨率和像素密度,获取所述终端设备屏幕显示的地图的地理参数具体包括:

利用所述地图比例尺和所述终端设备屏幕的像素密度,得到比例尺系数;

根据所述终端设备屏幕的分辨率和所述比例尺系数,得到所述终端设备屏幕显示的地图的地理参数。

优选的,所述地图渲染模式为第一人称视角的三维地图渲染模式,所述根据所述终端设备屏幕的分辨率和所述比例尺系数,得到所述终端设备屏幕显示的地图的地理参数具体包括:

根据所述终端设备屏幕的分辨率中的水平像素值和所述比例尺系数,得到所述终端设备屏幕显示的地图的水平地理长度;

获取预先设置的所述终端设备屏幕显示的地图的垂直地理长度,所述水平地理长度和所述垂直地理长度为所述终端设备屏幕显示的地图的地理参数。

优选的,所述终端设备的当前位置包括经度坐标和纬度坐标,所述根据所述地图的地理参数和所述终端设备的当前位置,获取与所述地图渲染模式对应的地图数据具体包括:

根据所述终端设备的当前位置中的经度坐标和所述地图的水平地理长度,得到所述终端设备显示的地图在水平方向的最小经度坐标和最大经度坐标;

将所述终端设备的当前位置中的纬度坐标确定为所述终端设备显示的地图在垂直方向的最小纬度坐标;

将所述最小纬度坐标平移所述垂直地理长度,得到所述终端设备显示的地图在垂直方向的最大纬度坐标;

获取地理坐标位置落入由所述最大经度坐标、最大纬度坐标、最小经度坐标和最小纬度坐标构成的地理范围内的地图数据。

优选的,所述将获取到的所述地图数据按照所述地图渲染模式进行渲染具体包括:

根据比例尺系数及所述地图渲染模式对应的视角、地图旋转角度,将所述地图数据从经纬度坐标系变换为所述地图渲染模式下的惯性坐标系的地图数据,所述惯性坐标系的坐标原点为所述终端设备的当前位置;

以相机空间坐标系的任意一个坐标作为所述惯性坐标系新的坐标原点,将所述惯性坐标系下的地图数据平移到相机空间坐标系,得到相机空间坐标系下的地图数据;

将所述相机空间坐标系下的地图数据投影到所述相机空间坐标系代表相机屏幕的坐标面,得到二维屏幕坐标系下的地图数据;

通过光栅化过程对所述二维屏幕坐标系下的地图数据进行渲染。

优选的,所述根据比例尺系数及所述地图渲染模式对应的视角、地图旋转角度,将所述地图数据从经纬度坐标系变换为所述地图渲染模式下的惯性坐标系的地图数据具体包括:

利用预先设定的坐标变换矩阵m1将所述地图数据从经纬度坐标系变换为所述地图渲染模式下的惯性坐标系的地图数据;

其中,所述m1=mt*s1*r1;

其中,所述矩阵中左上角的3*3的矩阵是单位矩阵;(-x0,-y0,-z0)是平移坐标,指示所述终端设备的当前位置,x0代表水平方向的平移分量,y0代表垂直方向的平移分量,z0代表竖直方向的平移分量;

其中,所述矩阵中左上角的3*3矩阵是缩放矩阵,代表三维空间中各轴的放大系数,sx1为所述地图比例尺在水平方向的比例尺系数;sy1为所述地图比例尺在垂直方向的比例尺系数;sz1为所述地图比例尺在竖直方向的比例尺系数;

其中,所述矩阵中左上角的3*3矩阵代表旋转矩阵,(rxx1,rxy1,rxz1)代表所述视角,(ryx1,ryy1,ryz1)代表所述地图旋转角度,(rzx1,rzy1,rzz1)代表地面转角度。

优选的,所述以相机空间坐标系的任意一个坐标作为所述惯性坐标系新的坐标原点,将所述惯性坐标系下的地图数据平移到相机空间坐标系,得到相机空间坐标系下的地图数据具体包括:

利用预先设置的平移坐标系m0将所述惯性坐标系下的地图数据平移到相机空间坐标系,得到相机空间坐标系下的地图数据;

其中,所述所述矩阵中左上角的3*3的矩阵是单位矩阵;(xp0,yp0,zp0)是所述相机空间坐标系的任意一个坐标,xp0代表水平方向的平移分量,yp0代表垂直方向的平移分量,zp0代表竖直方向的平移分量。

一种地图渲染装置,包括:

模式参数获取单元,用于获取地图渲染模式和地图渲染参数;

位置获取单元,用于获取终端设备的当前位置;

地图数据获取单元,用于根据所述地图渲染参数和所述终端设备的当前位置,获取与所述地图渲染模式对应的地图数据;

地图渲染单元,用于将获取到的所述地图数据按照所述地图渲染模式进行渲染。

优选的,所述地图渲染参数至少包括地图比例尺、终端设备屏幕的分辨率和像素密度,所述地图数据获取单元包括:

地理参数获取单元,用于根据所述地图比例尺、所述终端设备屏幕的分辨率和像素密度,获取所述终端设备屏幕显示的地图的地理参数;

地图数据获取子单元,用于根据所述地图的地理参数和所述终端设备的当前位置,获取与所述地图渲染模式对应的地图数据。

优选的,所述地理参数获取单元包括:

比例尺系数计算单元,用于利用所述地图比例尺和所述终端设备屏幕的像素密度,得到比例尺系数;

地理参数获取子单元,用于根据所述终端设备屏幕的分辨率和所述比例尺系数,得到所述终端设备屏幕显示的地图的地理参数。

优选的,所述地图渲染模式为第一人称视角的三维地图渲染模式,所述地理参数获取子单元包括:

水平地理长度计算单元,用于根据所述终端设备屏幕的分辨率中的水平像素值和所述比例尺系数,得到所述终端设备屏幕显示的地图的水平地理长度;

地理参数确定单元,用于获取预先设置的所述终端设备屏幕显示的地图的垂直地理长度,所述水平地理长度和所述垂直地理长度为所述终端设备屏幕显示的地图的地理参数。

优选的,所述终端设备的当前位置包括经度坐标和纬度坐标,所述地图数据获取子单元包括:

计算单元,用于根据所述终端设备的当前位置中的经度坐标和所述地图的水平地理长度,得到所述终端设备显示的地图在水平方向的最小经度坐标和最大经度坐标;

确定单元,用于将所述终端设备的当前位置中的纬度坐标确定为所述终端设备显示的地图在垂直方向的最小纬度坐标;

平移单元,用于将所述最小纬度坐标平移所述垂直地理长度,得到所述终端设备显示的地图在垂直方向的最大纬度坐标;

获取单元,用于获取地理坐标位置落入由所述最大经度坐标、最大纬度坐标、最小经度坐标和最小纬度坐标构成的地理范围内的地图数据。

优选的,所述地图渲染单元包括:

坐标系变换单元,用于根据比例尺系数及所述地图渲染模式对应的视角、地图旋转角度,将所述地图数据从经纬度坐标系变换为所述地图渲染模式下的惯性坐标系的地图数据,所述惯性坐标系的坐标原点为所述终端设备的当前位置;

坐标系平移单元,用于以相机空间坐标系的任意一个坐标作为所述惯性坐标系新的坐标原点,将所述惯性坐标系下的地图数据平移到相机空间坐标系,得到相机空间坐标系下的地图数据;

投影单元,用于将所述相机空间坐标系下的地图数据投影到所述相机空间坐标系代表相机屏幕的坐标面,得到二维屏幕坐标系下的地图数据;

光栅单元,用于通过光栅化过程对所述二维屏幕坐标系下的地图数据进行渲染。

本申请提供一种地图渲染方法及装置,通过获取地图渲染模式和地图渲染参数;获取终端设备的当前位置;并根据地图渲染参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据;进而将获取到的地图数据按照地图渲染模式进行渲染的方式,保证地图渲染结果按照用户需要的地图渲染模式进行渲染,以缩小地图渲染结果对用户的代入感与用户的实际驾车体验之间的差距。

附图说明

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

图1为本申请实施例提供的一种鸟瞰模式三维地图的地图渲染效果图;

图2为本申请实施例提供的一种地图渲染方法流程图;

图3为本申请实施例提供的一种根据地图渲染参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据的方法流程图;

图4为本申请实施例提供的一种根据地图比例尺、终端设备屏幕的分辨率和像素密度,获取终端设备屏幕显示的地图的地理参数的方法流程图;

图5为本申请实施例提供的一种根据终端设备屏幕的分辨率和比例尺系数,得到终端设备屏幕显示的地图的地理参数的方法流程图;

图6为本申请实施例提供的一种根据地图的地理参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据的方法流程图;

图7为本申请实施例提供的一种根据地图的地理参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据的坐标原理图;

图8为本申请实施例提供的一种将获取到的地图数据按照地图渲染模式进行渲染的方法流程图;

图9为本申请实施例提供的一种第一人称视角模式三维地图的地图渲染效果图;

图10为本申请实施例提供的一种地图渲染装置的结构示意图;

图11为本申请实施例提供的一种地图数据获取单元的详细结构示意图;

图12为本申请实施例提供的一种地理参数获取单元的详细结构示意图;

图13为本申请实施例提供的一种地理参数获取子单元的详细结构示意图;

图14为本申请实施例提供的一种地图数据获取子单元的详细结构示意图;

图15为本申请实施例提供的一种地图渲染单元的详细结构示意图。

具体实施方式

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

图2为本申请实施例提供的一种地图渲染方法流程图。

如图2所示,该方法包括:

s201、获取地图渲染模式和地图渲染参数;

在实际应用中,获取地图渲染模式的方法包括:

接收地图渲染请求,地图渲染请求中携带地图渲染模式;或者,读取预先设置的地图渲染模式。通常情况下,电子地图软件可以提供给用户多种地图渲染模式进行选择,比如,2d视角模式、3d视角模式,其中3d视角模式具体可以是鸟瞰模式或第一人称视角模式,地图渲染请求中携带的地图渲染模式或者预先设置的地图渲染模式,是用户从电子地图软件提供给用户的多种地图渲染模式中选择的一种,比如第一人称视角模式。

上述获取地图渲染模式的具体应用场景可以是,电子地图软件启动时,读取预先设置的地图渲染模式;使用电子地图软件的过程中,如果用户切换了地图渲染模式,则接收地图渲染请求,该地图渲染请求中携带了切换后的地图渲染模式。比如,使用电子地图软件的过程中,用户将地图渲染模式从鸟瞰模式切换到第一人称视角模式,则接收的地图渲染请求,该地图渲染请求携带的地图渲染模式为第一人称视角模式。

以上举例仅为更清楚地对本申请实施例进行说明,本领域技术人员可根据产品需求,选择获取地图渲染模式的方法以及相应方法的具体应用场景,以上举例不应视为对本发明实施方式的限制。

s202、获取终端设备的当前位置;

在实际应用中,终端设备为手机、平板电脑等。

以上举例仅为更清楚地对本申请实施例进行说明,本领域技术人员可根据产品需求,选择本申请实施例提供的一种地图渲染方法具体应用的终端设备的表现形式,以上举例不应视为对本发明实施方式的限制。

s203、根据地图渲染参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据;

在本申请实施例中,优选的,根据地图渲染参数和终端设备的当前位置,获取到的与地图渲染模式对应的地图数据即为待被渲染的地图数据。

s204、将获取到的地图数据按照地图渲染模式进行渲染。

在本申请实施例中,优选的,当获取到与地图渲染模式对应的地图数据后,需根据地图渲染模式对获取到的地图数据进行渲染,以得到地图渲染结果,该地图渲染结果也就是终端设备屏幕展示的电子地图。

为了更加清楚的对本申请实施例提供的一种地图渲染方法进行阐述,现对本申请实施例提供的一种地图渲染方法中的根据地图渲染参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据的过程进行详细介绍。

图3为本申请实施例提供的一种根据地图渲染参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据的方法流程图,在该实施例中,地图渲染参数包括地图比例尺、终端设备屏幕的分辨率和/或终端设备屏幕的像素密度,该方法包括:

s301、根据地图比例尺、终端设备屏幕的分辨率和像素密度,获取终端设备屏幕显示的地图的地理参数;

s302、根据地图的地理参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据。

图3所示获取与地图渲染模式对应的地图数据的方法,仅为本申请提供的一种优选实施例,任何在上述方法基础上的变形,比如增加地图渲染参数的种类或者减少地图渲染参数种类等,应视为本申请公开技术方案已给出相应技术启示。

现对本申请实施例提供的一种地图渲染方法中的根据地图比例尺、终端设备屏幕的分辨率和像素密度,获取终端设备屏幕显示的地图的地理参数的过程进行详细介绍。

图4为本申请实施例提供的一种根据地图比例尺、终端设备屏幕的分辨率和像素密度,获取终端设备屏幕显示的地图的地理参数的方法流程图。

如图4所示,该方法包括:

s401、利用地图比例尺和终端设备屏幕的像素密度,得到比例尺系数;

在本申请实施例中,优选的,用地图比例尺的倒数除以终端设备屏幕的像素密度,得到终端设备屏幕的比例尺系数,即,将地图比例尺的倒数作为除数,以及,将终端设备屏幕的像素密度作为被除数,做除法运算,得到终端设备屏幕的比例尺系数。

以地图比例尺为1:1km,终端设备屏幕的像素密度为25d/cm为例进行说明。其中,地图比例尺为1:1km,表示的是显示屏1cm(厘米)的长度等于实际1km,即1千米的实地距离,终端设备屏幕的像素密度为25d/cm表示 显示屏上1cm等于25d(像素),那么,显示屏每像素能显示的实地距离为1000m/25d=40m/d(米/像素),即比例尺系数为40。也因此,在本申请实施例中,比例尺系数为40表示的是终端设备屏幕的每像素对应40m的实地距离。

s402、根据终端设备屏幕的分辨率和比例尺系数,得到终端设备屏幕显示的地图的地理参数。

在本申请实施例中,优选的,当地图渲染模式为第一人称视角的三维地图渲染模式时,本申请实施例中,优选的,比例尺系数包括三个分量,分别为竖直方向的分量、垂直方向的分量、水平方向的分量,且这三个分量的大小相同。本申请实施例提供的一种根据终端设备屏幕的分辨率和比例尺系数,得到终端设备屏幕显示的地图的地理参数的方法请参见图5,如图5所示,该方法包括:

s501、根据终端设备屏幕的分辨率中的水平像素值和比例尺系数,得到终端设备屏幕显示的地图的水平地理长度;

在本申请实施例中,优选的,终端设备屏幕的分辨率中包括终端设备屏幕的水平像素值。

以上仅仅是本申请实施例的优选方式,发明人可根据自己的需求任意设置终端设备屏幕的分辨率中包括的内容,如终端设备屏幕的分辨率中包括终端设备屏幕的水平像素值和竖直像素值,在此不做限定。

在本申请实施例中,优选的,当终端设备屏幕的分辨率中包括水平像素值时,利用该水平像素值和比例尺系数可得到终端设备屏幕显示的地图的水平地理长度。

在本申请实施例中,优选的,根据终端设备屏幕的分辨率中的水平像素值和比例尺系数,得到终端设备屏幕显示的地图的水平地理长度的过程包括:利用终端设备屏幕的分辨率中的水平像素值乘以比例尺系数,进而将乘积结果作为终端设备屏幕显示的地图的水平地理长度。

在本申请实施例中,优选的,利用终端设备屏幕的分辨率中的水平像素值乘以比例尺系数,将乘积结果作为终端设备屏幕显示的地图的水平地理长度的过程包括:获取比例尺系数在水平方向的分量的水平分量值,利用终端 设备屏幕的分辨率中的水平像素值乘以获取到的水平分量值,将乘积结果作为终端设备屏幕显示的地图的水平地理长度。

s502、获取预先设置的终端设备屏幕显示的地图的垂直地理长度,水平地理长度和垂直地理长度为终端设备屏幕显示的地图的地理参数。

在本申请实施例中,优选的,预先设置有终端设备屏幕显示的地图的垂直地理长度。当在根据终端设备屏幕的分辨率和比例尺系数,得到终端设备屏幕显示的地图的地理参数的过程中,计算得到的终端设备屏幕显示的地图的水平地理长度后,则直接获取该预先设置的终端设备屏幕显示的地图的垂直地理长度,进而将计算得到的水平地理长度和获取到的垂直地理长度作为终端设备屏幕显示的地图的地理参数。

在本申请实施例中,优选的,发明人可根据自己的需求任意设置预先设置的垂直地理长度的具体数值,在此不做限定。

进一步的,为了更加清楚的对本申请实施例提供的一种地图渲染方法进行阐述,现对本申请实施例提供的一种地图渲染方法中的根据地图的地理参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据的过程进行详细介绍。

图6为本申请实施例提供的一种根据地图的地理参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据的方法流程图,图7为本申请实施例提供的一种根据地图的地理参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据的坐标原理图。在该实施例中,终端设备的当前位置包括经度坐标和纬度坐标,结合图6和图7可知,该方法包括:

s601、根据终端设备的当前位置中的经度坐标和地图的水平地理长度,得到终端设备显示的地图在水平方向的最小经度坐标和最大经度坐标;

在本申请实施例中,优选的,当终端设备的当前位置包括终端设备的当前位置的经度坐标和纬度坐标时,本申请实施例提供的一种根据地图的地理参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据的方法,首先需要根据终端设备的当前位置中的经度坐标和地图的水平地理长度,得到终端设备显示的地图在水平方向的最小经度坐标和最大经度坐标。

参见图7,其中,71表示终端设备的当前位置,72表示终端设备屏幕空间,73中的平行四边形表示地图的地理参数,平行四边形的一边l表示预先设置的终端设备屏幕显示的地图的垂直地理长度,平行四边形的另一边w表示终端设备屏幕显示的地图的水平地理长度。

结合图7可知,在本申请实施例中,优选的,根据终端设备的当前位置中的经度坐标和地图的水平地理长度,得到终端设备显示的地图在水平方向的最小经度坐标和最大经度坐标的方法包括:将终端设备的经度坐标作为边长w的中心点,将终端设备的经度坐标沿x轴方向平移w/2的水平地理长度,得到终端设备显示的地图在水平方向的最大经度坐标;将终端设备的经度坐标作为边长w的中心点,将终端设备的经度坐标沿x轴反方向平移w/2的水平地理长度,得到终端设备显示的地图在水平方向的最小经度坐标。

s602、将终端设备的当前位置中的纬度坐标确定为终端设备显示的地图在垂直方向的最小纬度坐标;

s603、将最小纬度坐标平移垂直地理长度,得到终端设备显示的地图在垂直方向的最大纬度坐标;

结合图7可知,步骤s602和步骤s603的具体实现过程包括:将终端设备的当前位置中的纬度坐标确定为终端设备显示的地图在垂直方向的最小纬度坐标,将终端设备的当前位置中的纬度坐标沿z轴方向平移l的水平地理长度,得到终端设备显示的地图在垂直方向的最大纬度坐标。

s604、获取地理坐标位置落入由最大经度坐标、最大纬度坐标、最小经度坐标和最小纬度坐标构成的地理范围内的地图数据。

在本申请实施例中,优选的,获取地理坐标位置落入由最大经度坐标、最大纬度坐标、最小经度坐标和最小纬度坐标构成的地理范围内的地图数据,该获取到的地图数据即为根据地图的地理参数和终端设备的当前位置,获取到的与地图渲染模式对应的地图数据。

进一步的,为了更加清楚的对本申请实施例提供的一种地图渲染方法进行阐述,现对本申请实施例提供的一种地图渲染方法中的将获取到的地图数据按照地图渲染模式进行渲染的过程进行详细介绍。

图8为本申请实施例提供的一种将获取到的地图数据按照地图渲染模式进行渲染的方法流程图。

如图8所示,该方法包括:

s801、根据比例尺系数及地图渲染模式对应的视角、地图旋转角度,将地图数据从经纬度坐标系变换为地图渲染模式下的惯性坐标系的地图数据,惯性坐标系的坐标原点为终端设备的当前位置;

在本申请实施例中,优选的,地图渲染模式对应的视角是由地图渲染模式预先设置的,其指示视线与水平面的夹角,也即俯仰角。

以上仅仅是本申请实施例的优选方式,发明人可根据自己的需求任意设置视角的设置方式,如实时设置与当前用户视线对应的视角作为本申请实施例中的视角等,在此不做限定。

在本申请实施例中,优选的,地图旋转角度为实时计算的,其指示当前视线与竖直面的夹角。

以上仅仅是本申请实施例的优选方式,发明人可根据自己的需求任意设置地图旋转角度的设置方式,如将地图旋转角度设置为预设值等,在此不做限定。

s802、以相机空间坐标系的任意一个坐标作为惯性坐标系新的坐标原点,将惯性坐标系下的地图数据平移到相机空间坐标系,得到相机空间坐标系下的地图数据;

在本申请实施例中,优选的,相机空间坐标系的任意一个坐标通常为相机空间坐标系的坐标原点,这个坐标原点一般指示以相机空间中相机镜头(屏幕)底部正中心为原点,如坐标点(0,0,0)。

以上仅仅是本申请实施例的优选方式,发明人可根据自己的需求任意设置作为新的坐标原点的具体坐标,在此不做限定。

s803、将相机空间坐标系下的地图数据投影到相机空间坐标系代表相机屏幕的坐标面,得到二维屏幕坐标系下的地图数据;

s804、通过光栅化过程对二维屏幕坐标系下的地图数据进行渲染。

进一步的,为了更加清楚的对本申请实施例提供的一种地图渲染方法进行阐述,现对本申请实施例提供的一种根据比例尺系数及地图渲染模式对应 的视角、地图旋转角度,将地图数据从经纬度坐标系变换为地图渲染模式下的惯性坐标系的地图数据的过程进行详细介绍。

在本申请实施例中,优选的,利用预先设定的坐标变换矩阵m1将地图数据从经纬度坐标系变换为地图渲染模式下的惯性坐标系的地图数据;

其中,m1=mt*s1*r1;

其中,矩阵中左上角的3*3的矩阵是单位矩阵;(-x0,-y0,-z0)是平移坐标,指示终端设备的当前位置,x0代表水平方向的平移分量,y0代表垂直方向的平移分量,z0代表竖直方向的平移分量;

其中,矩阵中左上角的3*3矩阵是缩放矩阵,代表三维空间中各轴的放大系数,sx1为地图比例尺在水平方向的比例尺系数;sy1为地图比例尺在垂直方向的比例尺系数;sz1为地图比例尺在竖直方向的比例尺系数;

其中,矩阵中左上角的3*3矩阵代表旋转矩阵,(rxx1,rxy1,rxz1)代表视角,(ryx1,ryy1,ryz1)代表地图旋转角度,(rzx1,rzy1,rzz1)代表地面转角度。

在本申请实施例中,优选的,(rzx1,rzy1,rzz1)通常等于(0,0,0,),以指示地面没有旋转。

以上仅仅是本申请实施例的优选方式,发明人可根据自己的需求任意设置(rzx1,rzy1,rzz1)的具体数值,在此不做限定。

进一步的,为了更加清楚的对本申请实施例提供的一种地图渲染方法进行阐述,现对本申请实施例提供的一种以相机空间坐标系的任意一个坐标作为惯性坐标系新的坐标原点,将惯性坐标系下的地图数据平移到相机空间坐标系,得到相机空间坐标系下的地图数据的过程进行详细介绍。

在本申请实施例中,优选的,利用预先设置的平移坐标系m0将惯性坐标系下的地图数据平移到相机空间坐标系,得到相机空间坐标系下的地图数据;

其中,矩阵中左上角的3*3的矩阵是单位矩阵;(xp0,yp0,zp0)是相机空间坐标系的任意一个坐标,xp0代表水平方向的平移分量,yp0代表垂直方向的平移分量,zp0代表竖直方向的平移分量。

在本申请实施例中,优选的,相机空间坐标系的任意一个坐标通常为相机空间坐标系的坐标原点,这个坐标原点一般指示以相机空间中相机镜头(屏幕)底部正中心为原点,如坐标点(0,0,0)。

在本申请实施例中,优选的,当相机空间坐标系的任意一个坐标为相机空间坐标系的坐标原点(0,0,0)时,

进一步的,为了更加清楚的对本申请实施例提供的一种地图渲染方法进行阐述,现对本申请实施例提供的一种将相机空间坐标系下的地图数据投影到相机空间坐标系代表相机屏幕的坐标面,得到二维屏幕坐标系下的地图数据的过程进行详细介绍。

在本申请实施例中,优选的,利用预先设置的透视投影矩阵projection将相机空间坐标系下的地图数据投影到相机空间坐标系代表相机屏幕的坐标面,得到二维屏幕坐标系下的地图数据,其中,

其中,透视投影矩阵projection的最后一行的-1代表的是奇次空间坐标系的规格化后的系数。

具体的,透视投影矩阵projection为现有技术,有关对透视投影矩阵projection的描述请参见现有技术,在此不做赘述。

参见图1和图9,其中,图1为本申请实施例提供的一种鸟瞰模式三维地图的地图渲染效果图(图1中的箭头11指示智能终端的当前位置);图9为本申请实施例提供的一种第一人称视角模式三维地图的地图渲染效果图(箭头91指示智能终端的当前位置)。

结合图1和图9可明确得知,本申请实施例提供的一种地图渲染方法在地图渲染模式为第一人称视角的三维地图渲染模式时的渲染结果对用户的代入感与用户的实际驾车体验之间的差距明显小于,当地图渲染模式为鸟瞰三维地图渲染模式时的渲染结果对用户的代入感与用户的实际驾车体验之间的差距。

本申请提供一种地图渲染方法,通过获取地图渲染模式和地图渲染参数;获取终端设备的当前位置;并根据地图渲染参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据;进而将获取到的地图数据按照地图渲染模式进行渲染的方式,保证地图渲染结果按照用户需要的地图渲染模式进行渲染,以缩小地图渲染结果对用户的代入感与用户的实际驾车体验之间的差距。

图10为本申请实施例提供的一种地图渲染装置的结构示意图。

如图10所示,该装置包括:

模式参数获取单元101,用于获取地图渲染模式和地图渲染参数;

位置获取单元102,用于获取终端设备的当前位置;

地图数据获取单元103,用于根据地图渲染参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据;

地图渲染单元104,用于将获取到的地图数据按照地图渲染模式进行渲染。

在本申请实施例中,优选的,模式参数获取单元101接收地图渲染请求,地图渲染请求中携带地图渲染模式;或者,读取预先设置的地图渲染模式。

图11为本申请实施例提供的一种地图数据获取单元的详细结构示意图。

在本申请实施例中,优选的,地图渲染参数至少包括地图比例尺、终端设备屏幕的分辨率和像素密度。如图11所示,地图数据获取单元包括:

地理参数获取单元111,用于根据地图比例尺、终端设备屏幕的分辨率和像素密度,获取终端设备屏幕显示的地图的地理参数;

地图数据获取子单元112,用于根据地图的地理参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据。

图12为本申请实施例提供的一种地理参数获取单元的详细结构示意图。

如图12所示,地理参数获取单元包括:

比例尺系数计算单元121,用于利用地图比例尺和终端设备屏幕的像素密度,得到比例尺系数;

地理参数获取子单元122,用于根据终端设备屏幕的分辨率和比例尺系数,得到终端设备屏幕显示的地图的地理参数。

图13为本申请实施例提供的一种地理参数获取子单元的详细结构示意图。

在本申请实施例中,优选的,地图渲染模式为第一人称视角的三维地图渲染模式。如图13所示,地理参数获取子单元包括:

水平地理长度计算单元131,用于根据终端设备屏幕的分辨率中的水平像素值和比例尺系数,得到终端设备屏幕显示的地图的水平地理长度;

地理参数确定单元132,用于获取预先设置的终端设备屏幕显示的地图的垂直地理长度,水平地理长度和垂直地理长度为终端设备屏幕显示的地图的地理参数。

图14为本申请实施例提供的一种地图数据获取子单元的详细结构示意图。

在本申请实施例中,优选的,终端设备的当前位置包括经度坐标和纬度坐标。如图14所示,地图数据获取子单元包括:

计算单元141,用于根据终端设备的当前位置中的经度坐标和地图的水平地理长度,得到终端设备显示的地图在水平方向的最小经度坐标和最大经度坐标;

确定单元142,用于将终端设备的当前位置中的纬度坐标确定为终端设备显示的地图在垂直方向的最小纬度坐标;

平移单元143,用于将最小纬度坐标平移垂直地理长度,得到终端设备显示的地图在垂直方向的最大纬度坐标;

获取单元144,用于获取地理坐标位置落入由最大经度坐标、最大纬度坐标、最小经度坐标和最小纬度坐标构成的地理范围内的地图数据。

图15为本申请实施例提供的一种地图渲染单元的详细结构示意图。

如图15所示,地图渲染单元包括:

坐标系变换单元151,用于根据比例尺系数及地图渲染模式对应的视角、地图旋转角度,将地图数据从经纬度坐标系变换为地图渲染模式下的惯性坐标系的地图数据,惯性坐标系的坐标原点为终端设备的当前位置;

坐标系平移单元152,用于以相机空间坐标系的任意一个坐标作为惯性坐标系新的坐标原点,将惯性坐标系下的地图数据平移到相机空间坐标系,得到相机空间坐标系下的地图数据;

投影单元153,用于将相机空间坐标系下的地图数据投影到相机空间坐标系代表相机屏幕的坐标面,得到二维屏幕坐标系下的地图数据;

光栅单元154,用于通过光栅化过程对二维屏幕坐标系下的地图数据进行渲染。

本申请提供一种地图渲染装置,通过获取地图渲染模式和地图渲染参数;获取终端设备的当前位置;并根据地图渲染参数和终端设备的当前位置,获取与地图渲染模式对应的地图数据;进而将获取到的地图数据按照地图渲染模式进行渲染的方式,保证地图渲染结果按照用户需要的地图渲染模式进行渲染,以缩小地图渲染结果对用户的代入感与用户的实际驾车体验之间的差距。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种三维导航地图渲染方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

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