地图的渲染方法、装置、计算机设备和存储介质与流程

文档序号:20877952发布日期:2020-05-26 16:51阅读:233来源:国知局
地图的渲染方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,尤其涉及一种地图的渲染方法、装置、计算机设备和存储介质。



背景技术:

随着视觉媒体技术的发展,三维地图的展示方式越来越多样化。特别在车辆导航应用领域,人们不仅需要获取三维导航地图上的车道区域信息,还需要获取三维导航地图上的非车道区域信息,以便车辆在地图指示的地理位置上正常行驶。

目前,在对三维导航地图进行渲染时,通常会将三维导航地图上的车道区域信息进行渲染,例如,车道线、车道线上的导航点、车道线所在的车道区域等,以便之后绘制地图时,车道区域信息可以明显的标记在三维导航地图上,方便车辆用户行驶在车道区域上时使用。

但是,在现有的三维导航地图的渲染方法中,没有实现对非车道区域的渲染,导致难以将非车道区域在三维地图上标记出来,降低了三维导航地图的展示多样性。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够渲染非车道区域的地图的渲染方法、装置、计算机设备和存储介质。

第一方面,一种地图的渲染方法,所述方法包括:

获取目标地图中的非车道线和导航点;

将所述目标地图分成多个地图块;

根据各所述非车道线、各所述导航点、以及各所述地图块,生成各所述地图块中非车道区域边界对应的多边形;

根据各所述地图块中非车道区域边界对应的多边形渲染所述目标地图上的非车道区域。

在其中一个实施例中,所述根据各所述非车道线、各所述导航点、以及各所述地图块,生成各所述地图块中非车道区域边界对应的多边形,包括:

根据各所述非车道线、各所述导航点、以及各所述地图块,确定各所述地图块中的目标非车道线段;

将所述目标非车道线段进行连接,生成所述多边形。

在其中一个实施例中,所述根据各所述非车道线、各所述导航点、以及各所述地图块,确定各所述地图块中的目标非车道线段,包括:

根据各所述非车道线上预先标记的点中的相邻点与各所述地图块之间的位置关系,确定各所述地图块中包含的目标线段和第一点集合;所述第一点集合中包含所述相邻点连接得到的线段与各所述地图块边界线之间的第一交点;所述目标线段为所述相邻点与对应的第一交点之间的线段;

根据相邻的导航点与各所述地图块之间的位置关系,确定各所述地图块中包含的第二点集合;所述第二点集合中包含所述相邻的导航点连接得到的线段与各所述地图块边界线之间的第二交点;

根据各所述地图块、所述目标线段、所述第一点集合和所述第二点集合,确定各所述地图块中的目标非车道线段。

在其中一个实施例中,所述根据各所述非车道线上预先标记的点中的相邻点与各所述地图块之间的位置关系,确定各所述地图块中包含的目标线段和第一点集合,包括:

若所述非车道线上的两个相邻点分别属于相同的地图块,则将所述两个相邻点确定为所述第一点集合中的元素,以及将连接所述两个相邻点的线段确定为所述目标线段;

若所述非车道线上的两个相邻点分别属于不相同的地图块,则将所述两个相邻点,以及所述两个相邻点的线段与所述不相同的地图块之间相连边界线的第一交点确定为所述第一点集合中的元素,并且,将所述两个相邻点分别与所述第一交点连成的线段确定为所述目标线段。

在其中一个实施例中,所述根据相邻的导航点与各所述地图块之间的位置关系,确定各所述地图块中包含的第二点集合,包括:

若所述相邻的导航点中的各导航点分别属于不相同的地图块,则将所述相邻的导航点的线段与所述不相同的地图块之间相连边界线的第二交点确定为所述第二点集合中的元素。

在其中一个实施例中,所述根据各所述地图块、所述目标线段、所述第一点集合和所述第二点集合,确定各所述地图块中的目标非车道线段,包括:

根据各所述地图块的角点和所述第一点集合的第一交点,生成第三点集合;

若所述第三点集合中各相邻点之间的线段均未包含所述第二点集合中的第二交点,则将所述第三点集合中各相邻点之间的线段和所述目标线段确定为所述目标非车道线段。

在其中一个实施例中,所述将所述目标非车道线段进行连接,生成所述多边形,包括:

若所述目标非车道线段的始端点和末端点之间的距离小于预设阈值,则将所述始端点和末端点连接起来,生成所述多边形。

在其中一个实施例中,所述将所述目标非车道线段进行连接,生成所述多边形,包括:

若所述目标非车道线段的始端点和另一个所述目标非车道线段的末端点之间的距离小于预设阈值,则将所述目标非车道线段的始端点和另一个所述目标非车道线段的末端点连接起来,生成所述多边形。

在其中一个实施例中,所述将所述目标非车道线段进行连接,生成所述多边形之前,所述方法还包括:

根据所述目标非车道线段、与所述目标非车道线段距离最近的导航点之间的位置关系,确定所述目标非车道线段的方向;

根据所述目标非车道线段的方向确定所述目标非车道线段的始端点和末端点。

在其中一个实施例中,所述根据所述目标非车道线段,以及与所述目标非车道线段距离最近的导航点之间的位置关系,确定所述目标非车道线段的方向,包括:

若所述目标非车道线段在预设方向上的末端点,位于目标导航点与所述目标非车道线段在预设方向上的始端点之间的线段的左边,则将所述预设方向确定为所述目标非车道线段的方向;所述目标导航点为与所述目标非车道线段距离最近的导航点;

若所述目标非车道线段在所述预设方向上的末端点,位于所述目标导航点与所述目标非车道线段在预设方向上的始端点之间的线段的右边,则将所述预设方向的相反方向确定为所述目标非车道线段的方向。

在其中一个实施例中,所述根据各所述地图块中非车道区域边界对应的多边形渲染所述目标地图上的非车道区域,包括:

将各所述地图块中包含的所述多边形存放在各所述地图块对应的块文件中;

加载各所述块文件,以渲染所述目标地图上的非车道区域。

第二方面,一种地图的渲染装置,所述装置包括:

获取模块,用于获取目标地图中的非车道线和导航点;

拆分模块,用于将所述目标地图分成多个地图块;

生成模块,用于根据各所述非车道线、各所述导航点、以及各所述地图块,生成各所述地图块中非车道区域边界对应的多边形;

渲染模块,用于根据各所述地图块中非车道区域边界对应的多边形渲染所述目标地图上的非车道区域。

第三方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面任一实施例所述的地图的渲染方法。

第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一实施例所述的地图的渲染方法。

本申请提供的一种地图的渲染方法、装置、计算机设备和存储介质,包括:获取目标地图中的非车道线和导航点,再将目标地图分成多个地图块,并根据各非车道线、各导航点、以及各地图块,生成各地图块中非车道区域边界对应的多边形,然后根据各地图块中非车道区域边界对应的多边形渲染目标地图上的非车道区域。上述方法仅需借助目标地图中包含的非车道线和导航点即可计算出非车道区域边界对应的多边形,进而基于非车道区域边界对应的多边形即可实现渲染目标地图上的非车道区域,使后期绘制目标地图上的非车道区域变的更加容易。

附图说明

图1为一个实施例提供的一种计算机设备的内部结构示意图;

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

图2a为一个实施例提供的一种分割示意图;

图3为图2实施例中s103的一种实现方式的流程图;

图4为图3实施例中s201的一种实现方式的流程图;

图5为图4实施例中s301的一种实现方式的流程图;

图5a为一个实施例提供的一种确定目标线段的示意图;

图6为图4实施例中s303的一种实现方式的流程图;

图6a为一个实施例提供的一种确定目标非车道线段的示意图;

图7为图3实施例中s202的一种实现方式的流程图;

图8为图7实施例中s601的一种实现方式的流程图;

图8a为一个实施例提供的一种确定目标非车道线段方向的示意图;

图9为图2实施例中s104的一种实现方式的流程图;

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

图11为一个实施例提供的一种地图的渲染装置的结构示意图;

图12为一个实施例提供的一种地图的渲染装置的结构示意图;

图13为一个实施例提供的一种地图的渲染装置的结构示意图;

图14为一个实施例提供的一种地图的渲染装置的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请提供的地图的渲染方法,可以应用于如图1所示的计算机设备中。该计算机设备可以是服务器,也可以是终端,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种地图的渲染方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图2为一个实施例提供的一种地图的渲染方法的流程图,该方法的执行主体为图1中的计算机设备,该方法涉及的是计算机设备对获取到的目标地图上的非车道区域进行渲染的具体过程。如图2所示,该方法具体包括以下步骤:

s101、获取目标地图中的非车道线和导航点。

其中,目标地图可以包括二维地图、三维地图、语义地图等各种类型的地图,且该目标地图可以是导航使用的地图,也可以是游戏、动画、或其它应用领域等使用的地图,对此本实施例不做限定。非车道线也称curb线,通常表示地图上代表非车道区域的若干线段。导航点表示地图上用于指示车道路线方向的坐标点。本实施例中,当计算机设备需要渲染目标地图时,可以先获取目标地图上包含的所有信息,再从所有信息中提取出该目标地图上所有的非车道线和导航点,以便之后使用。

s102、将目标地图分成多个地图块。

当计算机设备获取到目标地图时,可以进一步的将该目标地图分割成多个地图块,方便后期以地图块为单位进行计算,以减少计算时间和计算量。具体的分割数量和分割地图块的大小可以根据实际应用需求确定,对此本实施例不做限定。

可选地,本申请提供了一种具体的分割方法,如下:

假设分割后的每个地图块的大小为,sblock×sblock,目标地图的大小为,widthmap×heightmap,那么经过分割处理后,将目标地图分割的块数为,上述sblock表示每个地图块的长或宽,widthmap表示目标地图的宽,heightmap表示目标地图的长。使用该方法分割的目标地图可以参见如图2a所示的分割示意图。

s103、根据各非车道线、各导航点、以及各地图块,生成各地图块中非车道区域边界对应的多边形。

当计算机设备将目标地图进行分块,且得到目标地图上的所有非车道线和导航点时,可以进一步的利用各地图块与非车道线之间的位置关系、各地图块与导航点之间的位置关系、以及各导航点与非车道线之间的位置关系,计算出各地图块中代表非车道区域边界的若干线段,再进一步的将各地图块中代表非车道区域边界的若干线段连接起来,即可形成各地图块中非车道区域边界对应的多边形。

s104、根据各地图块中非车道区域边界对应的多边形渲染目标地图上的非车道区域。

当计算机设备计算得到各地图块中非车道区域边界对应的多边形时,将所有地图块中包含的多边形加起来,即可得到目标地图上全部非车道区域边界对应的多边形,之后即可采用相应的渲染色彩对该多边形进行渲染。需要说明的是,在渲染的过程中,计算机设备可以依次对各地图块中的非车道区域边界对应的多边形进行渲染,可选的,计算机设备也可以对整个目标地图中的非车道区域边界对应的多边形进行渲染,对此本实施例不做限定。

本实施例提供的一种地图的渲染方法,包括:获取目标地图中包含的所有的非车道线和导航点,再将目标地图分成多个地图块,并根据各非车道线、各导航点、以及各地图块,生成各地图块中非车道区域边界对应的多边形,然后根据各地图块中非车道区域边界对应的多边形渲染目标地图上的非车道区域。上述方法仅需借助目标地图中包含的非车道线和导航点即可计算出非车道区域边界对应的多边形,进而基于非车道区域边界对应的多边形即可实现渲染目标地图上的非车道区域,使后期绘制目标地图上的非车道区域变的更加容易。

图3为图2实施例中s103的一种实现方式的流程图,如图3所示,上述s103“根据各非车道线、各导航点、以及各地图块,生成各地图块中非车道区域边界对应的多边形”,包括:

s201、根据各非车道线、各导航点、以及各地图块,确定各地图块中的目标非车道线段。

其中,目标非车道线段为组成非车道区域边界对应的多边形的线段。本实施例中,当计算机设备将目标地图进行分块,且得到目标地图上的所有非车道线和导航点时,可以进一步的利用各地图块与非车道线之间的位置关系、各地图块与导航点之间的位置关系、以及各导航点与非车道线之间的位置关系,计算出各地图块中组成非车道区域边界对应的多边形的线段,即目标非车道线段,以便之后使用目标非车道线段生成非车道区域边界对应的多边形。

s202、将目标非车道线段进行连接,生成多边形。

在计算机设备得到各地图块中的若干目标非车道线段时,可以进一步的按照预设的连接条件,从若干目标非车道线段中搜索出需要连接的线段进行连接,使搜索出的线段可以连接成闭合的多边形,该闭合的多边形即为非车道区域边界对应的多边形。上述具体的搜索方法可以采用现有的搜索算法等实现,对此本实施例不做限定,只要符合本实施例预设的连接条件即可。而上述预设的连接条件可以具体根据实际应用情况确定,对此本实施例不做限定。

可选地,本申请提供了上述s201的一种具体实现方式,如图4所示,上述s201“根据各非车道线、各导航点、以及各地图块,确定各地图块中的目标非车道线段”,包括:

s301、根据各非车道线上预先标记的点中的相邻点与各地图块之间的位置关系,确定各地图块中包含的目标线段和第一点集合;第一点集合中包含相邻点连接得到的线段与各地图块边界线之间的第一交点;目标线段为相邻点与对应的第一交点之间的线段。

其中,非车道线上预先由计算机设备标记有若干点。本实施例中,当计算机设备将目标地图进行分块,且得到目标地图上的所有非车道线时,可以进一步的利用各地图块与非车道线上预先标记的点中的相邻点之间的位置关系,确定各非车道线分别属于哪一个地图块、各非车道线上预先标记的点分别属于哪一个地图块、以及各非车道线与各地图块的边界线的交点分别属于哪一个地图块。本实施例的实质是将目标地图上包含的所有非车道线和非车道线上的点进行分割,以将各非车道线和各非车道线上的点正确的放入对应的地图块中,以便之后计算非车道区域边界的多边形时,以每个地图块为单位进行计算。通过上述方法,各地图块中最终包含的线段即为目标线段,包含的所有线段上的点、或非车道线上的点,以及非车道线与各地图块边界的交点即为第一点集合中的元素。

s302、根据相邻的导航点与各地图块之间的位置关系,确定各地图块中包含的第二点集合;第二点集合中包含相邻的导航点连接得到的线段与各地图块边界线之间的第二交点。

本实施例中,当计算机设备将目标地图进行分块,且得到目标地图上的所有导航点时,可以进一步的利用导航点中两两相邻的导航点与各地图块之间的位置关系,确定相邻的导航点连接得到的线段与各地图块边界线之间的交点,根据所有相邻的导航点确定出的交点组成第二点集合,然后将该第二点集合放入对应的地图块中,以便之后根据该第二点集合确定各地图块中包含的非车道区域边界的多边形。

s303、根据各地图块、目标线段、第一点集合和第二点集合,确定各地图块中的目标非车道线段。

当计算机设备将目标地图进行分块得到多个地图块,以及得到各地图块中包含的目标线段、第一点集合和第二点集合时,可以先根据各地图块的角点、或边界点等,以及结合第一点集合和第二点集合确定各地图块中可能新增的代表非车道区域边界的线段,再在新增的线段的基础上将目标线段加起来,得到各地图块中的目标非车道线段。

可选地,如图5所示,上述s301“根据各非车道线上预先标记的点中的相邻点与各地图块之间的位置关系,确定各地图块中包含的目标线段和第一点集合”的另一种方法具体可以包括:

s401、若非车道线上的两个相邻点分别属于相同的地图块,则将两个相邻点确定为第一点集合中的元素,以及将连接两个相邻点的线段确定为目标线段。

本实施例涉及非车道线上的两个相邻点分别属于相同的地图块的应用场景,在该种应用下,计算机设备在利用各非车道线上预先标记的点中的相邻点与各地图块之间的位置关系,确定各地图块中包含的目标线段和第一点集合时,一方面,可以直接将这两个相邻点均放入该相邻点对应的地图块中,再结合之前放入的两个相邻点,成为该地图块中包含的第一点集合中的元素;另一方面,可以将连接这两个相邻点的线段放入该相邻点对应的地图块中,成为该地图块中包含的目标线段。

s402、若非车道线上的两个相邻点分别属于不相同的地图块,则将两个相邻点,以及两个相邻点的线段与不相同的地图块之间相连边界线的第一交点确定为第一点集合中的元素,并且,将两个相邻点分别与第一交点连成的线段确定为目标线段。

本实施例涉及非车道线上的两个相邻点分别属于不相同的地图块的应用场景,在该种应用下,计算机设备在利用各非车道线上预先标记的点中的相邻点与各地图块之间的位置关系,确定各地图块中包含的目标线段和第一点集合时,一方面,可以将连接两个相邻点的线段与不相同的地图块之间相连边界线的第一交点分别放入不同的地图块中,成为各地图块中包含的第一点集合中的元素,以便之后计算不同地图块中的非车道线区域边界对应的多边形时使用;另一方面,可以将两个相邻点分别与第一交点连成的线段分别放入不同的地图块中,成为各地图块中包含的目标线段,以便之后计算不同地图块中的非车道线区域边界对应的多边形时使用。

例如,如图5a所示,假设一条非车道线l跨越了两个地图块#1和#2,a点和b点为该非车道线l上的两个相邻点,且a点和b点分别属于不相同的地图块,连接a点和b点的线段ab与两个地图块#1和#2的相连边界线相交,得到交点c,则上述a点和c点即可成为地图块#1中包含的第一点集合中的元素,上述线段ac即可成为地图块#1中包含的目标线段,上述b点和c点即可成为地图块#2中包含的第一点集合中的元素,上述线段bc即可成为地图块#2中包含的目标线段。

可选地,上述s302“根据相邻的导航点与各地图块之间的位置关系,确定各地图块中包含的第二点集合”的另一种方法具体可以包括:若相邻的导航点中的各导航点分别属于不相同的地图块,则将相邻的导航点的线段与不相同的地图块之间相连边界线的第二交点确定为第二点集合中的元素。

本实施例涉及相邻的导航点分别属于不相同的地图块的应用场景,在该种应用下,计算机设备在利用邻的导航点与各地图块之间的位置关系,确定各地图块中包含的第二点集合时,可以将连接两个相邻的导航点的线段与不相同的地图块之间相连边界线的第二交点分别放入不同的地图块中,成为各地图块中包含的第二点集合中的元素,以便之后计算不同地图块中的非车道线区域边界对应的多边形时使用。

可选地,如图6所示,上述s303“根据各地图块、目标线段、第一点集合和第二点集合,确定各地图块中的目标非车道线段”的另一种方法具体可以包括:

s501、根据各地图块的角点和第一点集合的第一交点,生成第三点集合。

当计算机设备需要根据各地图块、目标线段、第一点集合和第二点集合,确定各地图块中的目标非车道线段时,可以先获取各地图块的角点(一般为四个角点),再从各地图块中包含的第一点集合中提取出第一交点,然后根据各地图块包含的所有角点和第一交点,生成新的点集合,即第三点集合。

s502、若第三点集合中各相邻点之间的线段均未包含第二点集合中的第二交点,则将第三点集合中各相邻点之间的线段和目标线段确定为目标非车道线段。

当计算机设备获取到第三点集合时,可以先确定该第三点集合中包含的相邻点,之后,可以判断各相邻点之间的线段是否包含第二点集合中的第二交点,若有的相邻点之间的线段未包含第二点集合中的第二交点,则连接该相邻点,得到相邻点的线段,并将该相邻点的线段确定为目标非车道线段。若有的相邻点之间的线段包含第二点集合中的第二交点,则不连接该相邻点。

例如,如图6a所示的示意图,其中,对于地图块#2,p1、p2、p3、p4为地图块#2的角点,f和g为相邻的导航点,a和b为非车道线l1上的相邻点,e和f为非车道线l2上的相邻点,c1、c2、c3、c4为第一交点,d为eg线段与地图块#2和地图块#1相连边界线之间的交点,即为第二点集合中的第二交点。则p1、p2、p3、p4、c1、c2、c3、c4为第三点集合中的点,应用该图确定地图块#2中包含的目标非车道线段时,第三点集合中的相邻点p1和c1之间的线段上未包含第二交点d,则将p1点和c1点连接起来,形成地图块#2中新的非车道线p1c1,相邻点c1和c2之间的线段上包含了第二交点d,则将p1点和c1点不进行连接,依次类推,通过上述方法可以得到地图块#2中新的非车道线包括:线段p1c1、线段p1c3、线段c3p2、线段p2p3、线段p3c4、线段c4p4、线段p4c2。将上述这些新的车道线与地图块中存放的目标线段c1b、bc3、c2f、fc4加起来确定为目标非车道线段。

可选地,在一种应用中,即当上述目标非车道线段为一条线段时,上述s202“将目标非车道线段进行连接,生成多边形”的一种方法具体可以包括:若目标非车道线段的始端点和末端点之间的距离小于预设阈值,则将始端点和末端点连接起来,生成多边形。

当计算机设备获取到各地图块中包含的目标非车道线段时,对于其中的每条目标非车道线段,若存在有的目标非车道线段的始端点和末端点之间的距离小于预设阈值时,则可以将该目标非车道线段的始端点和末端点连接起来,生成一个由该目标非车道线段围成的多边形。上述预设阈值可以由计算机设备预先根据实际应用需求确定,对此本实施例不做限定。上述目标非车道线段的始端点和末端点可以由计算机设备预先根据目标非车道线段的方向确定,关于目标非车道线段方向的确定方法,下述实施例将涉及到。

可选地,在另一种应用中,即当上述目标非车道线段包括多条线段时,上述s202“将目标非车道线段进行连接,生成多边形”的另一种方法具体可以包括:若目标非车道线段的始端点和另一个目标非车道线段的末端点之间的距离小于预设阈值,则将目标非车道线段的始端点和另一个目标非车道线段的末端点连接起来,生成多边形。

当计算机设备获取到各地图块中包含的目标非车道线段时,对于其中的多条目标非车道线段,计算机设备可以进一步的进行深度优先搜索,搜索过程中,对于每条目标非车道线段的末端点,寻找其它目标非车道线段的始端点,若两点间的距离小于预设阈值,那么将这两点连起来,依次类推,若经过深度优先搜索,找到一个闭合的环后,将该闭合的环进行首尾相连,便可得到由多条目标非车道线段围成的多边形。

在一个实施例中,本申请还提供了确定上述目标非车道线段的始端点和末端点的方法,即在上述s202“将目标非车道线段进行连接,生成多边形”之前,如图7所示,所述方法还包括:

s601、根据目标非车道线段、与目标非车道线段距离最近的导航点之间的位置关系,确定目标非车道线段的方向。

当计算机设备获取到目标非车道线段时,可以根据该目标非车道线段找到与该目标非车道线段距离最近的导航点,再利用与该目标非车道线段距离最近的导航点,和目标非车道线段之间的相对位置,确定目标非车道线段的方向,以便之后根据目标非车道线段的方向确定目标非车道线段的始端点和末端点。可选的,计算机设备也可以在获取到目标地图,以及目标地图上包含的所有非车道线和导航点时,根据各非车道线和与各非车道线距离最近的导航点之间的相对位置关系,确定各非车道线的方向。之后,当计算机设备获取到目标非车道线段时,可以根据该目标非车道线段本来所在的非车道线的方向确定该目标非车道线段的方向。

s602、根据目标非车道线段的方向确定目标非车道线段的始端点和末端点。

当计算机设备确定目标非车道线段的方向后,即可确定目标非车道线段的始端点和末端点。

可选地,如图8所示,上述s601“根据目标非车道线段、与目标非车道线段距离最近的导航点之间的位置关系,确定目标非车道线段的方向”的另一种方法具体可以包括:

s701、若目标非车道线段在预设方向上的末端点,位于目标导航点与目标非车道线段在预设方向上的始端点之间的线段的左边,则将预设方向确定为目标非车道线段的方向;目标导航点为与目标非车道线段距离最近的导航点。

当计算机设备确定目标非车道线段的方向时,可以预先假设一个预设方向为该目标非车道线段的方向,再根据该预设方向确定该目标非车道线段的末端点和始端点,以及从该地图块中包含的导航点中找到与该目标非车道线段距离最近的导航点。之后,将找到的导航点与目标非车道线段的始端点连接起来,形成中间线段,然后计算机设备判断上述目标非车道线段的末端点与中间线段的相对位置,若该目标非车道线段的末端点位于该中间线段的左边,则将上述预先假设的预设方向确定为该目标非车道线段真实的方向,即使目标线段的方向为顺时针方向。

s702、若目标非车道线段在预设方向上的末端点,位于目标导航点与目标非车道线段在预设方向上的始端点之间的线段的右边,则将预设方向的相反方向确定为目标非车道线段的方向。

基于上述实施例,本实施例涉及目标非车道线段的末端点位于上述中间线段的右边的场景,在该场景下,计算机设备将上述预先假设的预设方向的相反方向确定为该目标非车道线段真实的方向,即使目标线段的方向始终为顺时针方向。

示例性说明上述实施例所述确定目标非车道线段方向的过程,例如,如图8a所示,该图中,目标非车道线段l,预设方向为a至b的方向,则其上的点a为预设方向上的始端点,点b为预设方向上的末端点,w点为距离目标非车道线段l最近的导航点,该图中的末端点b位于线段wa的右边,则将a至b的相反方向,即将b至a的方向确定为该目标非车道线段的方向。

图9为图2实施例中s104的一种实现方式的流程图,如图9所示,上述s104“根据各地图块中非车道区域边界对应的多边形渲染目标地图上的非车道区域”,包括:

s801、将各地图块中包含的多边形存放在各地图块对应的块文件中。

当计算机设备计算出各地图块中包含的多边形时,可以进一步的将各地图块中包含的多边形存放在各地图块对应的块文件中,相当于将计算出的各地图块中包含的非车道区域边界对应的多边形放置在不同的文件中,以便之后渲染地图时使用。

s802、加载各块文件,以渲染目标地图上的非车道区域。

当计算机设备得到各地图块对应的块文件,进而需要渲染绘制目标地图上的非车道区域时,可以直接加载上述块文件,能够高效的渲染绘制出目标地图上的非车道区域。其中加载的过程中,可以依次加载各地图块对应的块文件,可选的,也可以将各块文件进行融合,形成一个整的文件,然后再加载该整的文件,实现对整个目标地图上的非车道区域进行渲染绘制。

应该理解的是,虽然图2-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行。

在一个实施例中,如图10所示,提供了一种地图的渲染装置,包括:

获取模块11,用于获取目标地图中的非车道线和导航点;

拆分模块12,用于将所述目标地图分成多个地图块;

生成模块13,用于根据各所述非车道线、各所述导航点、以及各所述地图块,生成各所述地图块中非车道区域边界对应的多边形;

渲染模块14,用于根据各所述地图块中非车道区域边界对应的多边形渲染所述目标地图上的非车道区域。

在一个实施例中,如图11所示,上述生成模块13,包括:

第一确定单元131,用于根据各所述非车道线、各所述导航点、以及各所述地图块,确定各所述地图块中的目标非车道线段;

生成单元132,用于将所述目标非车道线段进行连接,生成所述多边形。

在一个实施例中,上述第一确定单元131,如图12所示,包括:

第一确定子单元1311,用于根据各所述非车道线上预先标记的点中的相邻点与各所述地图块之间的位置关系,确定各所述地图块中包含的目标线段和第一点集合;所述第一点集合中包含所述相邻点连接得到的线段与各所述地图块边界线之间的第一交点;所述目标线段为所述相邻点与对应的第一交点之间的线段;

第二确定子单元1312,用于根据相邻的导航点与各所述地图块之间的位置关系,确定各所述地图块中包含的第二点集合;所述第二点集合中包含所述相邻的导航点连接得到的线段与各所述地图块边界线之间的第二交点;

第三确定子单元1313,用于根据各所述地图块、所述目标线段、所述第一点集合和所述第二点集合,确定各所述地图块中的目标非车道线段。

在一个实施例中,上述第一确定子单元1311具体用于在所述非车道线上的两个相邻点分别属于相同的地图块时,将所述两个相邻点确定为所述第一点集合中的元素,以及将连接所述两个相邻点的线段确定为所述目标线段,以及在所述非车道线上的两个相邻点分别属于不相同的地图块时,将所述两个相邻点,以及所述两个相邻点的线段与所述不相同的地图块之间相连边界线的第一交点确定为所述第一点集合中的元素,并且,将所述两个相邻点分别与所述第一交点连成的线段确定为所述目标线段。

在一个实施例中,上述第二确定子单元1312具体用于在所述相邻的导航点中的各导航点分别属于不相同的地图块时,将所述相邻的导航点的线段与所述不相同的地图块之间相连边界线的第二交点确定为所述第二点集合中的元素。

在一个实施例中,上述第三确定子单元1313具体用于根据各所述地图块的角点和所述第一点集合的第一交点,生成第三点集合;若所述第三点集合中各相邻点之间的线段均未包含所述第二点集合中的第二交点,则将所述第三点集合中各相邻点之间的线段和所述目标线段确定为所述目标非车道线段。

在一个实施例中,上述生成单元132具体用于在所述目标非车道线段的始端点和末端点之间的距离小于预设阈值时,将所述始端点和末端点连接起来,生成所述多边形。

在一个实施例中,上述生成单元132还具体用于在所述目标非车道线段的始端点和另一个所述目标非车道线段的末端点之间的距离小于预设阈值时,将所述目标非车道线段的始端点和另一个所述目标非车道线段的末端点连接起来,生成所述多边形。

在一个实施例中,上述生成单元132之前,如图13所示,上述生成模块13还包括:

第二确定单元133,用于根据所述目标非车道线段、与所述目标非车道线段距离最近的导航点之间的位置关系,确定所述目标非车道线段的方向;

第三确定单元134,用于根据所述目标非车道线段的方向确定所述目标非车道线段的始端点和末端点。

在一个实施例中,上述第二确定单元133具体用于在所述目标非车道线段在预设方向上的末端点,位于目标导航点与所述目标非车道线段在预设方向上的始端点之间的线段的左边时,将所述预设方向确定为所述目标非车道线段的方向;所述目标导航点为与所述目标非车道线段距离最近的导航点;以及在所述目标非车道线段在所述预设方向上的末端点,位于所述目标导航点与所述目标非车道线段在预设方向上的始端点之间的线段的右边时,将所述预设方向的相反方向确定为所述目标非车道线段的方向。

在一个实施例中,上述渲染模块14,如图14所示,包括:

存放单元141,用于将各所述地图块中包含的所述多边形存放在各所述地图块对应的块文件中;

加载单元142,用于加载各所述块文件,以渲染所述目标地图上的非车道区域。

关于地图的渲染装置的具体限定可以参见上文中对于一种地图的渲染方法的限定,在此不再赘述。上述地图的渲染装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取目标地图中的非车道线和导航点;

将所述目标地图分成多个地图块;

根据各所述非车道线、各所述导航点、以及各所述地图块,生成各所述地图块中非车道区域边界对应的多边形;

根据各所述地图块中非车道区域边界对应的多边形渲染所述目标地图上的非车道区域。

上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时还实现以下步骤:

获取目标地图中的非车道线和导航点;

将所述目标地图分成多个地图块;

根据各所述非车道线、各所述导航点、以及各所述地图块,生成各所述地图块中非车道区域边界对应的多边形;

根据各所述地图块中非车道区域边界对应的多边形渲染所述目标地图上的非车道区域。

上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双倍数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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