地图中道路隔离带的生成方法、装置、设备及存储介质转让专利

申请号 : CN202311001392.9

文献号 : CN116721229B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖童星

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请实施例公开了一种地图中道路隔离带的生成方法、装置、设备及存储介质,属于地图技术领域。该方法包括:获取原始地图数据中的边线数据,所述边线数据包括道路边线数据以及路口面边线数据;依次遍历各个边线数据,通过对所述边线数据进行配对,得到边线数据对,所述边线数据对中包括第一边线数据以及第二边线数据,所述第一边线数据表征的第一边线与所述第二边线数据表征的第二边线在空间上呈相邻且反向平行关系;基于所述边线数据对,确定所述第一边线与所述第二边线之间的投影重叠区域;在所述投影重叠区域生成道路隔离带;采用本申请实施例提供的方案,能够提高地图中道路隔离带的生成效率。

权利要求 :

1.一种地图中道路隔离带的生成方法,其特征在于,所述方法包括:

获取原始地图数据中的边线数据,所述边线数据包括道路边线数据以及路口面边线数据,所述道路边线数据用于表征上下线分离道路在目标方向上的道路边线,所述路口面边线数据用于表征连接上下线分离道路的路口面边线;

依次遍历各个边线数据,通过对所述边线数据进行配对,得到边线数据对,所述边线数据对包括道路边线数据对、路口面边线数据对、道路与路口面边线数据对中的至少一种,所述边线数据对中包括第一边线数据以及第二边线数据,所述第一边线数据表征的第一边线与所述第二边线数据表征的第二边线在空间上呈相邻且反向平行关系;

基于所述边线数据对,确定所述第一边线与所述第二边线之间的投影重叠区域;

在所述投影重叠区域生成道路隔离带。

2.根据权利要求1所述的方法,其特征在于,所述第一边线数据包括所述第一边线对应的第一形状点集合,所述第二边线数据包括所述第二边线对应的第二形状点集合;

所述基于所述边线数据对,确定所述第一边线与所述第二边线之间的投影重叠区域,包括:基于预设宽度值,以所述第一形状点集合为中心,以所述预设宽度值为单侧宽度,生成第一缓冲面;

在所述第一缓冲面与所述第二形状点集合存在交集的情况下,确定第二形状点子集合;

以所述第二形状点子集合为中心,以所述预设宽度值为单侧宽度,生成第二缓冲面;

在所述第二缓冲面与所述第一形状点集合存在交集的情况下,确定第一形状点子集合;

基于所述第一形状点子集合以及所述第二形状点子集合,确定所述投影重叠区域。

3.根据权利要求2所述的方法,其特征在于,所述第一形状点集合中包括m个第一形状点,所述第二形状点集合中包括n个第二形状点;

所述基于预设宽度值,以所述第一形状点集合为中心,以所述预设宽度值为单侧宽度,生成第一缓冲面之前,所述方法还包括:依次遍历所述第一形状点集合以及所述第二形状点集合,从所述第二形状点集合中确定出各个第一形状点对应的相邻第二形状点;

确定各个第一形状点与对应的相邻第二形状点之间的高度差值;

所述基于预设宽度值,以所述第一形状点集合为中心,以所述预设宽度值为单侧宽度,生成第一缓冲面,包括:在所述高度差值小于高度差阈值的情况下,以所述第一形状点集合为中心,以所述预设宽度值为单侧宽度,生成所述第一缓冲面。

4.根据权利要求2所述的方法,其特征在于,所述基于所述第一形状点子集合以及所述第二形状点子集合,确定所述投影重叠区域之后,所述方法还包括:确定所述第一形状点子集合在所述第一形状点集合中对应的第一集合范围,所述第一集合范围中包括所述第一形状点子集合的首尾两个第一形状点在所述第一形状点集合内的第一形状点编号;

确定所述第二形状点子集合在所述第二形状点集合中对应的第二集合范围,所述第二集合范围中包括所述第二形状点子集合的首尾两个第二形状点在所述第二形状点集合内的第二形状点编号;

对所述第一集合范围以及所述第二集合范围进行存储。

5.根据权利要求4所述的方法,其特征在于,所述在所述投影重叠区域生成道路隔离带,包括:获取所述第一集合范围以及所述第二集合范围;

基于所述第一集合范围中的所述第一形状点编号,从所述第一形状点集合中确定出所述第一形状点子集合;

基于所述第二集合范围中的所述第二形状点编号,从所述第二形状点集合中确定出所述第二形状点子集合;

基于所述第一形状点子集合、所述第二形状点子集合以及所述投影重叠区域,生成所述道路隔离带。

6.根据权利要求1所述的方法,其特征在于,所述依次遍历各个边线数据,通过对所述边线数据进行配对,得到边线数据对,包括:基于各个边线数据,构建空间索引,所述空间索引中包括各个边线数据对应的索引编号;

基于各个边线数据对应的索引编号,依次遍历所述边线数据,对各个边线数据所表征的边线之间的相邻关系进行判断;

将具有相邻且反向平行关系的一组边线对应的一组边线数据,确定为所述边线数据对。

7.根据权利要求6所述的方法,其特征在于,所述将具有相邻且反向平行关系的一组边线对应的一组边线数据,确定为所述边线数据对之前,所述方法还包括:在存在与所述第一边线具有相邻关系的所述第二边线的情况下,将所述第一边线对应的第一形状点集合中的各个第一形状点依次向所述第二边线对应的第二形状点集合进行投影处理,得到第一投影结果;

将所述第二边线对应的第二形状点集合中的各个第二形状点依次向所述第一边线对应的第一形状点集合进行投影处理,得到第二投影结果;

基于所述第一投影结果以及所述第二投影结果,对所述第一边线与所述第二边线之间的反向平行关系进行判断。

8.根据权利要求7所述的方法,其特征在于,所述第一形状点集合中包括m个第一形状点;所述将所述第一边线对应的第一形状点集合中的各个第一形状点依次向所述第二边线对应的第二形状点集合进行投影处理,得到第一投影结果,包括:将所述第一形状点集合中的第i第一形状点向所述第二形状点集合所构成的第二折线进行投影处理,得到第i第一投影点;

在所述第i第一投影点到所述第二折线的距离小于距离阈值的情况下,基于所述第i第一形状点以及相邻于第i第一形状点的第一目标形状点,生成第一边线向量;

在所述第一边线向量与所述第二折线对应的第二折线向量之间的第一向量夹角满足角度阈值的情况下,确实所述第i第一形状点为第一可投影形状点,并确定所述第i第一形状点对应的第一投影方位;

对所述第一可投影形状点进行累积计数,并根据各个第一可投影形状点对应的第一投影方位,确定所述第一投影结果。

9.根据权利要求7所述的方法,其特征在于,所述第二形状点集合中包括n个第二形状点;所述将所述第二边线对应的第二形状点集合中的各个第二形状点依次向所述第一边线对应的第一形状点集合进行投影处理,得到第二投影结果,包括:将所述第二形状点集合中的第i第二形状点向所述第一形状点集合所构成的第一折线进行投影处理,得到第i第二投影点;

在所述第i第二投影点到所述第一折线的距离小于距离阈值的情况下,基于所述第i第二形状点以及相邻于第i第二形状点的第二目标形状点,生成第二边线向量;

在所述第二边线向量与所述第一折线对应的第一折线向量之间的第二向量夹角满足角度阈值的情况下,确实所述第i第二形状点为第二可投影形状点,并确定所述第i第二形状点对应的第二投影方位;

对所述第二可投影形状点进行累积计数,并根据各个第二可投影形状点对应的第二投影方位,确定所述第二投影结果。

10.根据权利要求8或9所述的方法,其特征在于,所述基于所述第一投影结果以及所述第二投影结果,对所述第一边线与所述第二边线之间的反向平行关系进行判断,包括:在所述第一投影结果中各个第一可投影形状点对应的第一投影方位均一致,且所述第二投影结果中各个第二可投影形状点对应的第二投影方位均一致的情况下,确定所述第一边线与所述第二边线之间具有所述反向平行关系;

在所述第一投影结果中各个第一可投影形状点对应的第一投影方位不一致,且所述第二投影结果中各个第二可投影形状点对应的第二投影方位不一致的情况下,确定所述第一边线与所述第二边线之间不具有所述反向平行关系;

在所述第一投影结果中各个第一可投影形状点对应的第一投影方位均一致,且所述第二投影结果中不存在第二可投影形状点的情况下,确定所述第一边线与所述第二边线之间具有所述反向平行关系;

在所述第二投影结果中各个第二可投影形状点对应的第二投影方位均一致,且所述第一投影结果中不存在第一可投影形状点的情况下,确定所述第一边线与所述第二边线之间具有所述反向平行关系。

11.根据权利要求1所述的方法,其特征在于,所述在所述投影重叠区域生成道路隔离带,包括:基于所述第一边线数据以及所述第二边线数据,确定所述第一边线的第一边线属性,以及所述第二边线的第二边线属性,其中,边线属性包括道路边线和路口面边线中的一种;

在所述第一边线属性以及所述第二边线属性均为道路边线的情况下,在所述投影重叠区域生成具有第一显示属性的道路隔离带;

在所述第一边线属性以及所述第二边线属性均为路口面边线的情况下,在所述投影重叠区域生成具有第二显示属性的道路隔离带;

在所述第一边线属性与所述第二边线属性不一致的情况下,在所述投影重叠区域生成具有第三显示属性的道路隔离带,其中,所述第一显示属性、所述第二显示属性以及所述第三显示属性互不相同。

12.根据权利要求11所述的方法,其特征在于,所述在所述第一边线属性以及所述第二边线属性均为路口面边线的情况下,在所述投影重叠区域生成具有第二显示属性的道路隔离带,包括:在所述第一边线属性以及所述第二边线属性均为路口面边线,且所述第一边线与所述第二边线处于未连通状态的情况下,在所述投影重叠区域生成具有第二显示属性的道路隔离带;

所述方法还包括:

在所述第一边线属性以及所述第二边线属性均为路口面边线,且所述第一边线与所述第二边线处于连通状态的情况下,在所述投影重叠区域不生成具有第二显示属性的道路隔离带。

13.一种地图中道路隔离带的生成装置,其特征在于,所述装置包括:获取模块,用于获取原始地图数据中的边线数据,所述边线数据包括道路边线数据以及路口面边线数据,所述道路边线数据用于表征上下线分离道路在目标方向上的道路边线,所述路口面边线数据用于表征连接上下线分离道路的路口面边线;

配对模块,用于依次遍历各个边线数据,通过对所述边线数据进行配对,得到边线数据对,所述边线数据对包括道路边线数据对、路口面边线数据对、道路与路口面边线数据对中的至少一种,所述边线数据对中包括第一边线数据以及第二边线数据,所述第一边线数据表征的第一边线与所述第二边线数据表征的第二边线在空间上呈相邻且反向平行关系;

区域确定模块,用于基于所述边线数据对,确定所述第一边线与所述第二边线之间的投影重叠区域;

隔离带生成模块,用于在所述投影重叠区域生成道路隔离带。

14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如权利要求1至12任一所述的地图中道路隔离带的生成方法。

15.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至12任一所述的地图中道路隔离带的生成方法。

说明书 :

地图中道路隔离带的生成方法、装置、设备及存储介质

技术领域

[0001] 本申请实施例涉及地图技术领域,特别涉及一种地图中道路隔离带的生成方法、装置、设备及存储介质。

背景技术

[0002] 隔离带是道路的重要组成要素。在地图导航的过程中,通过隔离带的渲染能够提高道路渲染和导航引导的效果,进而提高用户体验。
[0003] 相关技术中,在离线数据编译阶段仅能识别出需要生成隔离带的具体道路对,具体生成隔离带的过程则需要在显示地图导航的过程中,通过实时渲染的方式实现,而实时渲染生成隔离带却需要较大计算量,导致隔离带生成效率低、成本较高。

发明内容

[0004] 本申请实施例提供了一种地图中道路隔离带的生成方法、装置、设备及存储介质,能够提高地图中道路隔离带的生成效率。所述技术方案如下。
[0005] 一方面,本申请实施例提供了一种地图中道路隔离带的生成方法,所述方法包括:
[0006] 获取原始地图数据中的边线数据,所述边线数据包括道路边线数据以及路口面边线数据,所述道路边线数据用于表征上下线分离道路在目标方向上的道路边线,所述路口面边线数据用于表征连接上下线分离道路的路口面边线;
[0007] 依次遍历各个边线数据,通过对所述边线数据进行配对,得到边线数据对,所述边线数据对包括道路边线数据对、路口面边线数据对、道路与路口面边线数据对中的至少一种,所述边线数据对中包括第一边线数据以及第二边线数据,所述第一边线数据表征的第一边线与所述第二边线数据表征的第二边线在空间上呈相邻且反向平行关系;
[0008] 基于所述边线数据对,确定所述第一边线与所述第二边线之间的投影重叠区域;
[0009] 在所述投影重叠区域生成道路隔离带。
[0010] 另一方面,本申请实施例提供了一种地图中道路隔离带的生成装置,所述装置包括:
[0011] 获取模块,用于获取原始地图数据中的边线数据,所述边线数据包括道路边线数据以及路口面边线数据,所述道路边线数据用于表征上下线分离道路在目标方向上的道路边线,所述路口面边线数据用于表征连接上下线分离道路的路口面边线;
[0012] 配对模块,用于依次遍历各个边线数据,通过对所述边线数据进行配对,得到边线数据对,所述边线数据对包括道路边线数据对、路口面边线数据对、道路与路口面边线数据对中的至少一种,所述边线数据对中包括第一边线数据以及第二边线数据,所述第一边线数据表征的第一边线与所述第二边线数据表征的第二边线在空间上呈相邻且反向平行关系;
[0013] 区域确定模块,用于基于所述边线数据对,确定所述第一边线与所述第二边线之间的投影重叠区域;
[0014] 隔离带生成模块,用于在所述投影重叠区域生成道路隔离带。
[0015] 另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的地图中道路隔离带的生成方法。
[0016] 另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上述方面所述的地图中道路隔离带的生成方法。
[0017] 另一方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的地图中道路隔离带的生成方法。
[0018] 本申请实施例中,通过从原始地图数据中获取边线数据,该边线数据包括道路边线数据以及路口面边线数据,进而通过对各个边线数据进行遍历并配对,可以得到多组边线数据对,每组边线数据对中都包括第一边线数据以及第二边线数据,且第一边线数据表征的第一边线与第二边线数据表征的第二边线在空间上呈相邻且反向平行关系,进而可以根据边线数据对,确定出第一边线和第二边线之间的投影重叠区域,并在投影重叠区域生成道路隔离带;采用本申请实施例提供的方案,通过直接从原始地图数据中确定出边线数据对,并根据边线数据对生成道路隔离带,提高了地图中道路隔离带的生成效率。

附图说明

[0019] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020] 图1示出了本申请一个示例性实施例提供的实施环境的示意图;
[0021] 图2示出了本申请一个示例性实施例提供的地图中道路隔离带的生成方法的流程图;
[0022] 图3示出了本申请一个示例性实施例提供的道路和路口面示意图;
[0023] 图4示出了本申请一个示例性实施例提供的生成道路隔离带的示意图;
[0024] 图5示出了本申请另一个示例性实施例提供的地图中道路隔离带的生成方法的流程图;
[0025] 图6示出了本申请一个示例性实施例提供的确定形状点子集合的示意图;
[0026] 图7示出了本申请一个示例性实施例提供的道路隔离带效果图;
[0027] 图8示出了本申请又一个示例性实施例提供的地图中道路隔离带的生成方法的流程图;
[0028] 图9示出了本申请一个示例性实施例提供的边线投影示意图;
[0029] 图10示出了本申请一个示例性实施例提供的道路隔离带的生成方法的总流程图;
[0030] 图11示出了本申请一个示例性实施例提供的进行边线数据配对的流程图;
[0031] 图12示出了本申请一个示例性实施例提供的判断反向平行关系的流程图;
[0032] 图13示出了本申请一个示例性实施例提供的确定投影结果的流程图;
[0033] 图14示出了本申请一个示例性实施例提供的确定投影重叠区域的流程图;
[0034] 图15示出了本申请一个示例性实施例提供的地图中道路隔离带的生成装置的结构框图;
[0035] 图16示出了本申请一个示例性实施例提供的计算机设备的结构示意图。

具体实施方式

[0036] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0037] 本申请实施例提供的地图中道路隔离带的生成方法,可以应用于高精度虚拟地图、普通精度地图、城市道路模型等各种虚拟地图产品中,可以用于可视化呈现包括多个路口的道路区域。该地图中道路隔离带的生成方法,可以理解为是对地图原始数据的编译的过程,即作为一个承上启下的环节,对原始地图数据进行加工、处理,生成更紧凑、更易于使用的文件或数据,且编译得到的数据可以提供给上层(如地图导航、定位技术、地图渲染等)调用。示例性的,生成的道路隔离带数据,能够为导航引擎提供道路隔离带的底图数据,增强导航界面的可视化效果,并且还可以为自动驾驶在道路决策的情况下,或者使用电子地图进行行驶决策时的对象,如驾驶员等提供数据支持,防止车辆行驶超出道路面范围,从而降低道路中事故发生的概率,提升自动驾驶的安全性。
[0038] 本申请提供的地图中道路隔离带的生成方法,至少涉及以下的智能交通系统、云计算、计算机视觉技术等技术。示例性的,可以通过电子地图中的边线数据,确定边线之间的投影重叠区域,并生成道路隔离带。在一些示例中,也可以利用智能交通系统,以基于道路隔离带的位置信息、轮廓等为驾驶员等驾驶对象提供智能导航路线服务。或者,终端设备也可以利用计算机视觉技术等,以在导航应用页面或者地图页面中更加真实、清晰的展示道路隔离带对应的高精度三维图像。
[0039] 智能交通系统(Intelligent Traffic  System,ITS)又称智能运输系统(Intelligent Transportation System),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
[0040] 随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。其中,智慧交通、车联网、自动驾驶、无人驾驶等技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,目前有着广泛的应用前景。
[0041] 计算机视觉技术(Computer vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、踪迹追溯和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(Optical Character Recognition,OCR)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
[0042] 目前,车道级导航主要使用高精度地图数据,然而由于高精度地图的覆盖面积比较有限,比如有些城市五环外才有高精度地图数据,五环内是没有的。为了在没有高精度地图数据的地方获得近似于高精度地图的效果,需要用算法根据标准精度地图(即普通导航地图)生成一些道路元素,道路隔离带数据作为道路元素之一,需要通过原始的路网数据生成。
[0043] 需要进行说明的是,本申请在收集用户定位数据之前以及在收集用户的相关数据的过程中,都可以显示提示界面、弹窗或输出语音提示信息,该提示界面、弹窗或语音提示信息用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。换句话说,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等、用户对应的操作数据)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的用户定位数据等都是在充分授权的情况下获取的。
[0044] 请参考图1,其示出了本申请一个示例性实施例提供的实施环境的示意图。其中,终端110通过网络与服务器120进行通信,数据存储系统可以存储服务器120需要处理的数据,如原始地图数据,包括道路边线数据、路口面边线数据,道路边线数据可以包括道路等级、道路宽度、车道数量等信息,路口面边线数据可以包括路口面宽度、路口面连接道路特征等信息,数据存储系统可以集成在服务器120上,也可以放在云上或其他服务器上。
[0045] 终端110是安装并运行有支持地图服务的应用程序的电子设备。其中,该支持地图服务功能可以为终端中原生应用的功能,或者,第三方应用的功能;该应用程序可以是地图应用、导航应用、定位应用或者任一支持显示路口的应用程序,例如,交通出行应用、需要调用并显示道路路口的游戏应用等。该电子设备可以是智能手机、平板电脑、个人计算机、可穿戴式设备或车载终端等等,本实施例并不对此构成限定。
[0046] 服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。本申请实施例中,服务器120可以为支持地图服务的应用程序的后台服务器。
[0047] 在一种可能的实施方式中,终端110和服务器120之间通过网络进行通信。终端110从服务器120中获取原始地图数据中的边线数据,并依次遍历各个边线数据,通过对边线数据进行配对,得到边线数据对,进而根据边线数据对,确定出第一边线与第二边线之间的投影重叠区域,并在投影重叠区域生成道路隔离带。
[0048] 请参考图2,其示出了本申请一个示例性实施例提供的地图中道路隔离带的生成方法的流程图,本实施例以该方法用于计算机设备为例进行说明,该方法包括如下步骤。
[0049] 步骤201,获取原始地图数据中的边线数据,边线数据包括道路边线数据以及路口面边线数据,道路边线数据用于表征上下线分离道路在目标方向上的道路边线,路口面边线数据用于表征连接上下线分离道路的路口面边线。
[0050] 可选的,在普通地图数据中,道路一般用一条没有宽度的线段表示,在至少两条线段交汇的情况下,则会形成一个节点,即至少两条线段的端点,记为一个节点,该节点表示的是该至少两条线段所指示的道路的交汇所形成的路口。
[0051] 而考虑到在基于原始地图数据进行地图导航的过程中,为了能够更准确地向驾驶者指示当前行驶道路的道路情况,一般则需要将没有宽度的线段拓宽成具有一定宽度的道路面,可选的,拓宽的依据可以是该道路的道路信息,如道路等级、车道数量等等,车道等级例如是主干道路、次干道路、支干道路等,车道等级例如还可以是一级公路、二级公路、三级公路、四级公路等。不同道路信息的道路对应不同的拓宽宽度,计算机设备按该道路宽度将每条道路拓宽成相应的道路面。
[0052] 在一些实施例中,道路的道路信息可以直接包括相应的道路宽度,计算机设备按该道路宽度将每条道路拓宽成相应的道路面。在一些实施例中,每条道路的道路宽度也可以取相同的值。可以理解,每条道路被拓宽后形成的道路面,均包括道路面左侧边线与道路面右侧边线,用于拓宽道路的道路宽度,可以是一侧的道路宽度,也可以是左右两侧共同的道路宽度,两侧各自的道路宽度可以相同,也可以不同。
[0053] 可选的,路口面则是通过从单个路口沿着每条道路的道路面向外延伸一定的偏置距离得到与道路面的垂直线,并将每条道路的道路面上的垂直线连接起来,形成一个封闭形状,作为该单个路口的路口面。
[0054] 可选的,考虑到真实道路中为了避免交通拥挤、提高交通秩序,往往在具有上下线分离的道路之间设置有道路隔离带,因此为了提高原始地图数据的数据精度,计算机设备也可以在数据编译阶段预先确定各个边线之间的道路隔离带。
[0055] 在一种可能的实施方式中,为了能够在道路之间、路口之间或者道路与路口之间生成道路隔离带,计算机设备需要首先基于原始地图数据,获取边线数据,可选的,边线数据可以包括道路边线数据以及路口面边线数据。
[0056] 可选的,道路边线数据用于表征上下线分离道路在目标方向上的道路边线,其中,上下线分离道路是指前进方向相反的两条相邻道路,目标方向是基于被地图导航所在地的交通通行规则来确定的。例如,交通通行规则为靠左侧前进,则目标方向为左侧方向。
[0057] 示意性的,如图3所示,第一车道302和第二车道303即为前进方向相反的具有上下线分离性质的两条车道。
[0058] 可选的,路口面边线数据用于表征连接上下线分离道路的路口面边线,示意性的,路口面301即为连接上下线分离道路的一个路口面。
[0059] 步骤202,依次遍历各个边线数据,通过对边线数据进行配对,得到边线数据对,边线数据对包括道路边线数据对、路口面边线数据对、道路与路口面边线数据对中的至少一种,边线数据对中包括第一边线数据以及第二边线数据,第一边线数据表征的第一边线与第二边线数据表征的第二边线在空间上呈相邻且反向平行关系。
[0060] 在一种可能的实施方式中,根据道路隔离带的设计原理(划分具有上下线分离性质的两条道路),为了判断原始地图数据中的道路之间、路口之间、或者道路与路口之间能否生成道路隔离带,在获取边线数据之后,计算机设备还需要根据边线数据,确定各个边线数据之间的两两对应关系。
[0061] 可选的,道路隔离带可以设置在第一边线和第二边线之间,第一边线和第二边线在空间上呈相邻且反向平行关系。
[0062] 在一种可能的实施方式中,计算机设备可以通过依次遍历各个边线数据,通过对边线数据进行配对,得到多组边线数据对,可选的,边线数据对包括道路边线数据对、路口面边线数据对、道路与路口面边线数据对中的至少一种。
[0063] 可选的,边线数据对中包括第一边线数据以及第二边线数据,第一边线数据用于表征第一边线,第二边线数据用于表征第二边线,且第一边线和第二边线在空间上呈相邻且反向平行关系。
[0064] 示意性的,如图4所示,第一边线401和第二边线402在空间上呈相邻且反向平行关系。
[0065] 步骤203,基于边线数据对,确定第一边线与第二边线之间的投影重叠区域。
[0066] 在一种可能的实施方式中,在得到多组边线数据对之后,考虑到不同边线数据对的边线间隔距离、边线长度等等都存在差异,因此为了提高道路隔离带的生成效率和准确性,计算机设备还可以根据边线数据对,先确定出第一边线与第二边线之间的投影重叠区域。
[0067] 可选的,投影重叠区域是指具有反向平行关系的两条边线之间的道路区域。
[0068] 示意性的,如图4所示,计算机设备根据第一边线数据以及第二边线数据,可以确定出第一边线401和第二边线402之间的投影重叠区域403。
[0069] 步骤204,在投影重叠区域生成道路隔离带。
[0070] 进一步的,计算机设备在投影重叠区域生成道路隔离带。
[0071] 在一种可能的实施方式中,计算机设备可以根据投影重叠区域对应的第一边线以及第二边线,将第一边线以及第二边线作为道路隔离带的边线,在第一边线和第二边线之间生成道路隔离带。
[0072] 可选的,道路隔离带的显示属性可以包括绿化带、双黄线、单黄线、虚实线等等。在一种可能的实施方式中,计算机设备可以根据道路隔离带的宽度、长度等其他属性,确定道路隔离带的显示属性,本申请实施例对此不作限定。
[0073] 综上所述,本申请实施例中,通过从原始地图数据中获取边线数据,该边线数据包括道路边线数据以及路口面边线数据,进而通过对各个边线数据进行遍历并配对,可以得到多组边线数据对,每组边线数据对中都包括第一边线数据以及第二边线数据,且第一边线数据表征的第一边线与第二边线数据表征的第二边线在空间上呈相邻且反向平行关系,进而可以根据边线数据对,确定出第一边线和第二边线之间的投影重叠区域,并在投影重叠区域生成道路隔离带;采用本申请实施例提供的方案,通过直接从原始地图数据中确定出边线数据对,并根据边线数据对生成道路隔离带,提高了地图中道路隔离带的生成效率。
[0074] 在一种可能的实施方式中,考虑到边线数据对的多样性,第一边线以及第二边线的长度、间隔宽度等等都可能影响道路隔离带的生成,因此为了提高道路隔离带的生成准确性,计算机设备还可以根据边线数据对中第一边线数据和第二边线数据的具体对应关系,确定道路隔离带的投影重叠区域。
[0075] 在一种可能的实施方式中,在原始地图数据中,一般用多个离散的形状点表示一条道路边线,从而计算机设备获取得到的边线数据中,道路边线数据以及路口面边线数据都可以以形状点集合的形式表示。
[0076] 可选的,第一边线数据中即包括第一边线对应的第一形状点集合,第二边线数据中即包括第二边线对应的第二形状点集合。
[0077] 请参考图5,其示出了本申请一个示例性实施例提供的地图中道路隔离带的生成方法的流程图,本实施例以该方法用于计算机设备为例进行说明,该方法包括如下步骤。
[0078] 步骤501,获取原始地图数据中的边线数据。
[0079] 步骤502,依次遍历各个边线数据,通过对边线数据进行配对,得到边线数据对。
[0080] 步骤501 502的具体实施方式可以参考步骤201 202,本实施例在此不作赘述。~ ~
[0081] 步骤503,基于预设宽度值,以第一形状点集合为中心,以预设宽度值为单侧宽度,生成第一缓冲面。
[0082] 在一种可能的实施方式中,考虑到第一边线和第二边线的长度、边线间隔等特征不同,生成的道路隔离带的宽度、长度等也是不同的,因此为了提高生成道路隔离带的准确性,计算机设备可以针对每组边线数据对,分别确定其对应的投影重叠区域。
[0083] 在一种可能的实施方式中,考虑到第一边线和第二边线在空间上可能并不是完全长度相同且投影重叠的,即第一边线和第二边线可能为平行且错位的关系,导致道路隔离带两侧的边线可能仅仅是第一边线或者第二边线中的一部分,因此为了准确地得到道路隔离带两侧的边线,计算机设备可以通过分别根据第一边线和第二边线生成缓冲面的方式,分别确定道路隔离带在两侧的边线。
[0084] 在一种可能的实施方式中,计算机设备可以根据预设宽度值,首先以第一边线对应的第一形状点集合为中心,以预设宽度值为单侧宽度,生成第一缓冲面。
[0085] 示意性的,如图6所示,计算机设备以第一形状点集合601为中心,以预设宽度值为单侧宽度,生成第一缓冲面602。
[0086] 可选的,预设宽度值可以是人为预先设置的一个固定值,也可以是多个不同的值,由计算机设备根据不同的道路属性确定对应的预设宽度值,还可以是一个范围区间值,本申请实施例对此不作限定。
[0087] 可选的,计算机设备可以通过使用计算几何库,利用计算几何库由第一形状点集合构成的第一边线拓出第一缓冲面,也可以利用其他由点线拓出面的方法,本申请实施例对此不作限定。
[0088] 在一种可能的实施方式中,考虑到道路隔离带的生成是为了便于区分和间隔具有上下线分离的两条道路,而在两条道路具有明显上下高度差的情况下,道路隔离带的生成则不是必要的,因此在生成缓冲面之前,计算机设备还可以对第一边线和第二边线之间的高度差值进行确定。
[0089] 在一种可能的实施方式中,第一形状点集合中包括m个第一形状点,第二形状点集合中包括n个第二形状点,计算机设备可以通过依次遍历第一形状点集合以及第二形状点集合,从第二形状点集合中确定出各个第一形状点对应的相邻第二形状点,其中,第一形状点与对应的相邻第二形状点之间的距离小于第一形状点与其他第二形状点之间的距离,进而计算机设备确定各个第一形状点与对应的相邻第二形状点之间的高度差值,并在高度差值均小于高度差阈值的情况下,以第一形状点集合为中心,以预设宽度值为单侧宽度,生成第一缓冲面。
[0090] 可选的,高度差阈值可以是人为预先设置的一个固定值,也可以是多个不同的值,由计算机设备根据不同的道路属性确定对应的高度差阈值,还可以是一个范围区间值,本申请实施例对此不作限定。
[0091] 可选的,高度差阈值可以是正数值和负数值两个对应的值,也可以是一个正数值。在高度差阈值包括正数值和负数值两个值的情况下,计算机设备可以直接将高度差值与高度差阈值进行比较和判断;在高度差阈值为一个正数值的情况下,计算机设备则需要将高度差值的绝对值与高度差阈值进行比较和判断。
[0092] 步骤504,在第一缓冲面与第二形状点集合存在交集的情况下,确定第二形状点子集合。
[0093] 在一种可能的实施方式中,在得到以第一形状点集合为中心的第一缓冲面之后,计算机设备即可以对第一缓冲面与第二形状点集合是否存在交集进行判断。可选的,判断结果一般包括两种情况,第一种情况是第一边线和第二边线之间的距离大于预设宽度值,导致第一缓冲面与第二形状点集合之间不存在交集;第二种情况是第一边线和第二边线之间的距离小于预设宽度值,第一缓冲面与第二形状点集合之间存在交集。
[0094] 在一种可能的实施方式中,在第一缓冲面与第二形状点集合存在交集的情况下,计算机设备即可以根据第一缓冲面与第二形状点集合的相交情况,确定出第二形状点子集合,其中,第二形状点子集合中的各个第二形状点均与第一缓冲面相交,第二形状点集合中的其他第二形状点均不与第一缓冲面相交。
[0095] 示意性的,如图6所示,在第一缓冲面602与第二形状点集合存在交集的情况下,计算机设备确定出第二形状点子集合603。
[0096] 步骤505,以第二形状点子集合为中心,以预设宽度值为单侧宽度,生成第二缓冲面。
[0097] 在一种可能的实施方式中,在确定出第二形状点子集合之后,与生成第一缓冲面的过程相同,计算机设备即可以以第二形状点子集合为中心,以预设宽度值为单侧宽度,生成第二缓冲面。
[0098] 示意性的,如图6所示,计算机设备以第二形状点子集合603为中心,以预设宽度值为单侧宽度,生成第二缓冲面604。
[0099] 步骤506,在第二缓冲面与第一形状点集合存在交集的情况下,确定第一形状点子集合。
[0100] 在一种可能的实施方式中,在生成以第二形状点子集合为中心的第二缓冲面之后,计算机设备即可以对第二缓冲面与第一形状点集合是否存在交集进行判断。
[0101] 在一种可能的实施方式中,在第二缓冲面与第一形状点集合存在交集的情况下,计算机设备即可以根据第二缓冲面与第一形状点集合的相交情况,确定出第一形状点子集合,其中,第一形状点子集合中的各个第一形状点均与第二缓冲面相交,第一形状点集合中的其他第一形状点均不与第二缓冲面相交。
[0102] 示意性的,如图6所示,在第二缓冲面604与第一形状点集合存在交集的情况下,计算机设备确定出第一形状点子集合605。
[0103] 步骤507,基于第一形状点子集合以及第二形状点子集合,确定投影重叠区域。
[0104] 进一步的,在确定出第一形状点子集合和第二形状点子集合之后,计算机设备即可以根据第一形状点子集合以及第二形状点子集合,确定出投影重叠区域,其中,投影重叠区域的两侧边线即为第一形状点子集合和第二形状点子集合构成的两条边线。
[0105] 示意性的,如图6所示,计算机设备基于第一形状点子集合605以及第二形状点子集合603,即可以确定投影重叠区域。
[0106] 步骤508,确定第一形状点子集合在第一形状点集合中对应的第一集合范围,第一集合范围中包括第一形状点子集合的首尾两个第一形状点在第一形状点集合内的第一形状点编号。
[0107] 在一种可能的实施方式中,在通过对原始地图数据进行处理计算确定出各个边线数据对对应的投影重叠区域之后,计算机设备则需要对各个投影重叠区域进行存储,考虑到各个投影重叠区域的边线均可以直接对应第一形状点子集合以及第二形状点子集合,因此为了降低数据存储量,提高数据处理效率,计算机设备可以根据第一形状点子集合在第一形状点集合的范围区域,对第一形状点子集合进行存储。
[0108] 可选的,为了提高地图数据存储效率,计算机设备可以对各个边线对应的形状点集合进行编号,并对各个形状点集合中的各个形状点进行编号,从而每个形状点集合均可以表示为一个范围区间,进而在确定形状点子集合之后,计算机设备即可以确定出形状点子集合对应的范围子区间,该范围子区间的开始值即为形状点子集合中的第一个形状点编号,结束值即为形状点子集合中的最后一个形状点编号。
[0109] 在一种可能的实施方式中,计算机设备可以确定第一形状点子集合在第一形状点集合中对应的第一集合范围,其中,第一集合范围中包括第一形状点子集合的首尾两个第一形状点在第一形状点集合内的第一形状点编号。
[0110] 步骤509,确定第二形状点子集合在第二形状点集合中对应的第二集合范围,第二集合范围中包括第二形状点子集合的首尾两个第二形状点在第二形状点集合内的第二形状点编号。
[0111] 在一种可能的实施方式中,与确定第一集合范围相同,计算机设备同样可以根据第二形状点子集合的第一个第二形状点编号以及最后一个第二形状点编号,确定出第二形状点子集合在第二形状点集合中对应的第二集合范围。
[0112] 步骤510,对第一集合范围以及第二集合范围进行存储。
[0113] 进而,计算机设备即可以直接对第一集合范围以及第二集合范围进行存储,而不需要对第一形状点子集合以及第二形状点子集合中的各个形状点进行存储,从而提高数据存储效率。
[0114] 步骤511,在投影重叠区域生成道路隔离带。
[0115] 在一种可能的实施方式中,在通过存储第一集合范围以及第二集合范围的方式,对第一形状点子集合以及第二形状点子集合进行存储之后,在基于投影重叠区域生成道路隔离带的过程中,计算机设备即可以直接获取第一集合范围以及第二集合范围,并根据第一集合范围中的第一形状点编号,从第一形状点集合中确定出第一形状点子集合;根据第二集合范围中的第二形状点编号,从第二形状点集合中确定出第二形状点子集合,从而根据第一形状点子集合、第二形状点子集合以及投影重叠区域,生成道路隔离带。
[0116] 示意性的,图7示出了地图中生成道路隔离带的示意图,其中,第一道路隔离带701为道路之间的隔离带,第二道路隔离带702为道路与路口之间的隔离带,第三道路隔离带703为路口之间的隔离带。
[0117] 上述实施例中,通过以第一形状点集合为中心拓出第一缓冲面,并根据第一缓冲面与第二形状点集合的交集,确定出第二形状点子集合,进而同样地,以第二形状点子集合为中心拓出第二缓冲面,并根据第二缓冲面与第一形状点集合的交集,确定出第一形状点子集合,从而确定出第一边线与第二边线之间的投影重叠区域,提高了对投影重叠区域确定的准确性,进而提高了道路隔离带生成的准确性。
[0118] 此外,在确定第一形状点子集合以及第二形状点子集合之后,通过进一步确定第一集合范围以及第二集合范围,直接对第一集合范围以及第二集合范围进行存储,而不是对第一形状点子集合以及第二形状点子集合中的各个形状点进行重复存储,优化了数据存储效率。
[0119] 在一种可能的实施方式中,为了判断第一边线和第二边线之间是否具有相邻且反向平行关系,计算机设备可以通过对第一边线以及第二边线进行双向投影,并根据双向投影结果进行判断,以提高边线数据对的配对准确性。
[0120] 请参考图8,其示出了本申请另一个示例性实施例提供的地图中道路隔离带的生成方法的流程图,本实施例以该方法用于计算机设备为例进行说明,该方法包括如下步骤。
[0121] 步骤801,获取原始地图数据中的边线数据。
[0122] 步骤801的具体实施方式可以参考步骤201,本实施例在此不作赘述。
[0123] 步骤802,基于各个边线数据,构建空间索引,空间索引中包括各个边线数据对应的索引编号。
[0124] 可选的,考虑到地图数据中存在大量的边线数据,在确定各个边线数据之间的相邻关系之前,计算机设备可以对各个边线数据进行编号。
[0125] 在一种可能的实施方式中,计算机设备可以通过构建空间索引(RTree),对各个边线数据进行编号,空间索引中即包括各个边线数据对应的索引编号。
[0126] 在一种可能的实施方式中,考虑到在进行边线数据配对的过程中,既涉及到道路边线数据,还涉及到路口面边线数据,因此为了提高数据处理效率,计算机设备可以各个道路边线数据以及路口面边线数据进行统一封装,得到统一的边线数据,从而边线数据中可以包括索引编号、目标方向上的形状点集合以及全部形状点集合。
[0127] 示意性的,道路边线数据中可以包括索引编号、左侧方向上的形状点集合以及全部形状点集合,而由于在生成道路隔离带的过程中仅涉及道路左侧方向上的形状点集合,因此道路边线数据中的全部形状点集合也即左侧方向上的形状点集合。
[0128] 示意性的,路口面边线数据中可以包括索引编号、路口面中连接两个上下线分离道路的裁剪点之间的形状点集合以及路口面边线上的全部形状点集合。
[0129] 步骤803,基于各个边线数据对应的索引编号,依次遍历边线数据,对各个边线数据所表征的边线之间的相邻关系进行判断。
[0130] 在一种可能的实施方式中,在确定各个边线数据对应的索引编号之后,计算机设备即可以根据索引编号的顺序,对边线数据进行依次遍历,并结合空间索引,对各个边线数据所表征的边线之间的相邻关系进行判断,通过空间索引,计算机设备可以快速确定每个边线数据附近的其他边线数据。
[0131] 步骤804,在存在与第一边线具有相邻关系的第二边线的情况下,将第一边线对应的第一形状点集合中的各个第一形状点依次向第二边线对应的第二形状点集合进行投影处理,得到第一投影结果。
[0132] 在一种可能的实施方式中,在确定出与第一边线具有相邻关系的第二边线的情况下,计算机设备即可以进一步对第一边线和第二边线之间在空间上是否存在反向平行关系进行判断。
[0133] 在一种可能的实施方式中,计算机设备可以通过对第一边线以及第二边线进行双向投影,根据投影结果对第一边线和第二边线之间在空间上是否存在反向平行关系进行判断。
[0134] 在一种可能的实施方式中,在存在与第一边线具有相邻关系的第二边线的情况下,计算机设备即可以通过将第一边线对应的第一形状点集合中的各个第一形状点依次向第二边线对应的第二形状点集合进行投影处理,得到第一边线向第二边线进行投影的第一投影结果。
[0135] 在一种可能的实施方式中,第一形状点集合中包括m个第一形状点,计算机设备将第一形状点集合中的第i第一形状点向第二形状点集合所构成的第二折线进行投影处理,得到第i第一投影点,其中,第i第一投影点可以是第i第一形状点基于第二折线的垂足,进而在第i第一投影点到第二折线的距离小于距离阈值的情况下,即第i第一投影点落在第二折线上,计算机设备即可以进一步根据第i第一形状点以及相邻于第i第一形状点的第一目标形状点,确定第一边线向量。
[0136] 可选的,在第i第一形状点不是第一形状点集合中的最后一个形状点的情况下,相邻于第i第一形状点的第一目标形状点可以是第i+1第一形状点;在第i第一形状点是第一形状点集合中的最后一个形状点的情况下,相邻于第i第一形状点的第一目标形状点可以是第i‑1第一形状点。
[0137] 进一步的,在得到第一边线向量后,计算机设备即可以确定第一边线向量与第二折线对应的第二折线向量之间的第一向量夹角,并在第一向量夹角满足角度阈值的情况下,将第i第一形状点确定为第一可投影形状点,并得到第i第一形状点对应的第一投影方位。
[0138] 可选的,角度阈值可以为一个角度范围,比如一百五十度到一百八十度,即当第一向量夹角在该角度范围内,即表示第一边线向量与第二折线向量之间满足反向平行关系。
[0139] 可选的,第一投影方位用于指示第i第一形状点和第二折线之间的侧边方位关系,即第一投影方位可以指示第i第一形状点位于第二折线的目标方向上,也可以指示第i第一形状点不位于第二折线的目标方向上。
[0140] 示意性的,如图9所示,计算机设备将第一形状点A2向第二折线B1B2投影,其中,第一形状点A2可以投影到第二折线上,进而计算机设备确定出第一边线向量 ,以及第二折线向量 ,并得到第一边线向量 与第二折线向量 之间的第一向量夹角901,其中,第一向量夹角901满足角度阈值,从而第一形状点A2为第一可投影形状点。
[0141] 在一种可能的实施方式中,计算机设备对第一形状点集合中各个第一形状点的投影情况进行统计,包括对第一可投影形状点进行累积计数,以及确定各个第一可投影形状点对应的第一投影方位,从而得到第一边线向第二边线投影的第一投影结果。
[0142] 可选的,在各个第一可投影形状点对应的第一投影方位均一致,都为目标方向的情况下,计算机设备可以将第一投影结果确定为计数结果以及目标方向;在存在与其他第一可投影形状点对应的第一投影方位不一致的情况下,计算机设备可以将第一投影结果即为计数结果以及空(NONE)。
[0143] 步骤805,将第二边线对应的第二形状点集合中的各个第二形状点依次向第一边线对应的第一形状点集合进行投影处理,得到第二投影结果。
[0144] 在一种可能的实施方式中,与第一边线向第二边线投影过程相同,计算机设备按照同样的过程,将第二边线向第一边线进行投影,即将第二边线对应的第二形状点集合中的各个第二形状点依次向第一边线对应的第一形状点集合进行投影处理,得到第二投影结果。
[0145] 在一种可能的实施方式中,第二形状点集合中包括n个第二形状点,计算机设备将第二形状点集合中的第i第二形状点向第一形状点集合所构成的第一折线进行投影处理,得到第i第二投影点,其中,第i第二投影点可以是第i第二形状点基于第一折线的垂足,进而在第i第二投影点到第一折线的距离小于距离阈值的情况下,即第i第二投影点落在第一折线上,计算机设备即可以进一步根据第i第二形状点以及相邻于第i第二形状点的第二目标形状点,确定第二边线向量。
[0146] 可选的,在第i第二形状点不是第二形状点集合中的最后一个形状点的情况下,相邻于第i第二形状点的第二目标形状点可以是第i+1第二形状点;在第i第二形状点是第二形状点集合中的最后一个形状点的情况下,相邻于第i第二形状点的第二目标形状点可以是第i‑1第二形状点。
[0147] 进一步的,在得到第二边线向量后,计算机设备即可以确定第二边线向量与第一折线对应的第一折线向量之间的第二向量夹角,并在第二向量夹角满足角度阈值的情况下,将第i第二形状点确定为第二可投影形状点,并得到第i第二形状点对应的第二投影方位。
[0148] 可选的,角度阈值可以为一个角度范围,比如一百五十度到一百八十度,即当第二向量夹角在该角度范围内,即表示第二边线向量与第一折线向量之间满足反向平行关系。
[0149] 可选的,第二投影方位用于指示第i第二形状点和第一折线之间的侧边方位关系,即第二投影方位可以指示第i第二形状点位于第一折线的目标方向上,也可以指示第i第二形状点不位于第一折线的目标方向上。
[0150] 在一种可能的实施方式中,计算机设备对第二形状点集合中各个第二形状点的投影情况进行统计,包括对第二可投影形状点进行累积计数,以及确定各个第二可投影形状点对应的第二投影方位,从而得到第二边线向第一边线投影的第二投影结果。
[0151] 可选的,在各个第二可投影形状点对应的第二投影方位均一致,都为目标方向的情况下,计算机设备可以将第二投影结果确定为计数结果以及目标方向;在存在与其他第二可投影形状点对应的第二投影方位不一致的情况下,计算机设备可以将第二投影结果即为计数结果以及空。
[0152] 步骤806,基于第一投影结果以及第二投影结果,对第一边线与第二边线之间的反向平行关系进行判断。
[0153] 在一种可能的实施方式中,在得到第一边线向第二边线投影的第一投影结果,以及第二边线向第一边线投影的第二投影结果之后,计算机设备即可以根据第一投影结果以及第二投影结果,对第一边线与第二边线之间的反向平行关系进行判断。
[0154] 在一种可能的实施方式中,在第一投影结果中各个第一可投影形状点对应的第一投影方位均一致,且第二投影结果中各个第二可投影形状点对应的第二投影方位均一致的情况下,计算机设备即可以确定第一边线与第二边线之间具有反向平行关系。
[0155] 在一种可能的实施方式中,在第一投影结果中各个第一可投影形状点对应的第一投影方位不一致,且第二投影结果中各个第二可投影形状点对应的第二投影方位不一致的情况下,即第一投影结果和第二投影结果中都存在与其他可投影形状点对应的投影方位不一致的可投影形状点的情况下,计算机设备即可以确定第一边线与第二边线之间不具有反向平行关系。
[0156] 在一种可能的实施方式中,在第一投影结果中各个第一可投影形状点对应的第一投影方位均一致,且第二投影结果中不存在第二可投影形状点的情况下,即第二投影结果对应的计数结果为0的情况下,计算机设备即可以确定第一边线与第二边线之间具有反向平行关系。
[0157] 在一种可能的实施方式中,在第二投影结果中各个第二可投影形状点对应的第二投影方位均一致,且第一投影结果中不存在第一可投影形状点的情况下,即第一投影结果对应的计数结果为0的情况下,计算机设备即可以确定第一边线与第二边线之间具有反向平行关系。
[0158] 步骤807,将具有相邻且反向平行关系的一组边线对应的一组边线数据,确定为边线数据对。
[0159] 进一步的,在对各个边线数据对应的边线之间进行反向平行关系判断之后,计算机设备即可以将具有相邻且反向平行关系的一组边线对应的一组边线数据,确定为边线数据对。
[0160] 步骤808,基于边线数据对,确定第一边线与第二边线之间的投影重叠区域。
[0161] 步骤809,在投影重叠区域生成道路隔离带。
[0162] 步骤808 809的具体实施方式可以参考步骤203 204,本实施例在此不作赘述。~ ~
[0163] 上述实施例中,考虑到原始地图数据中往往存在大量的边线数据,通过构建空间索引,为各个边线数据确定对应的索引编号,进而基于索引编号对各个边线数据进行遍历,提高了数据处理效率。
[0164] 此外,通过在具有相邻关系的第一边线和第二边线之间,基于第一形状点集合以及第二形状点集合进行双向投影,得到第一投影结果以及第二投影结果,并根据第一投影结果以及第二投影结果确定第一边线与第二边线之间的反向平行关系,从而得到多组边线数据对,提高了对边线之间反向平行关系判断的准确性,提高了边线数据对的配对效率。
[0165] 在一种可能的实施方式中,考虑到边线数据对可以包括道路边线数据对、路口面边线数据对以及道路与路口面边线数据对三种可能的情况,因此为了在地图导航过程中使得驾驶人员便于区分不同类型的边线数据对对应的道路隔离带,计算机设备还可以对不同类型边线数据对对应的道路隔离带的显示属性进行确定。
[0166] 在一种可能的实施方式中,计算机设备可以根据第一边线数据以及第二边线数据,先分别确定第一边线的第一边线属性,以及第二边线的第二边线属性,其中,边线属性包括道路边线和路口面边线中的一种。
[0167] 进而,在第一边线属性以及第二边线属性均为道路边线的情况下,计算机设备即可以在投影重叠区域生成具有第一显示属性的道路隔离带;在第一边线属性以及第二边线属性均为路口面边线的情况下,计算机设备即可以在投影重叠区域生成具有第二显示属性的道路隔离带;在第一边线属性与第二边线属性不一致的情况下,计算机设备即可以在投影重叠区域生成具有第三显示属性的道路隔离带。
[0168] 其中,第一显示属性、第二显示属性以及第三显示属性互不相同,比如,第一显示属性可以为绿化带,第二显示属性可以为虚实线,第三显示属性可以为双黄线,可选的,第一显示属性、第二显示属性以及第三显示属性可以根据道路实际情况具体设置,本申请实施例对此不作限定。
[0169] 在一种可能的实施方式中,对于第一边线属性以及第二边线属性均为路口面边线的情况,考虑到在实际道路中,对于处于连通状态的路口,往往不另外设置隔离标识,因此为了进一步优化道路隔离带数据,在第一边线属性以及第二边线属性均为路口面边线的情况下,计算机设备可以对第一边线与第二边线的连通状态进行判断。
[0170] 比如,连接单行道路与上下线分离道路的路口面之间可能为未连通状态,而十字路口的路口面即为连通状态。
[0171] 在一种可能的实施方式中,在第一边线属性以及第二边线属性均为路口面边线,且第一边线与第二边线处于未连通状态的情况下,计算机设备可以在投影重叠区域生成具有第二显示属性的道路隔离带;在第一边线属性以及第二边线属性均为路口面边线,且第一边线与第二边线处于连通状态的情况下,计算机设备即可以在投影重叠区域不生成具有第二显示属性的道路隔离带。
[0172] 上述实施例中,考虑到边线数据对中可能包括道路边线数据对、路口面边线数据对以及道路与路口面边线数据对三种不同的情况,而根据实际道路设计情况,不同边线数据对之间道路隔离带的设计方式也往往不同,因此通过设置不同显示属性的道路隔离带,优化了道路隔离带的显示效果,提高了地图显示效率。
[0173] 请参考图10,其示出了本申请一个示例性实施例提供的道路隔离带的生成方法的总流程图。
[0174] 步骤1001,开始。
[0175] 步骤1002,获取原始地图数据中的道路边线数据以及路口面边线数据。
[0176] 计算机设备从原始地图数据中获取道路边线数据以及路口面边线数据。
[0177] 步骤1003,对道路边线数据以及路口面边线数据进行统一处理,得到边线数据。
[0178] 为了同时确定道路之间、路口面之间以及道路与路口面之间的边线配对关系,计算机设备对道路边线数据以及路口面边线数据进行统一处理,包括设置索引编号,获取目标方向上的形状点集合,以及全部形状点集合,进而将道路边线数据以及路口面边线数据统一为边线数据。
[0179] 步骤1004,依次遍历各个边线数据,通过对边线数据进行配对,得到边线数据对。
[0180] 计算机设备通过对各个边线数据进行遍历和配对,将具有相邻且反向平行关系的边线数据组成边线数据对。
[0181] 步骤1005,基于边线数据对,确定第一边线与第二边线之间的投影重叠区域。
[0182] 计算机设备根据边线数据对中的第一边线数据以及第二边线数据,确定第一边线和第二边线之间的投影重叠区域。
[0183] 步骤1006,在投影重叠区域生成道路隔离带。
[0184] 计算机设备基于第一边线数据以及第二边线数据,在投影重叠区域生成道路隔离带。
[0185] 步骤1007,结束。
[0186] 请参考图11,其示出了本申请一个示例性实施例提供的进行边线数据配对的流程图。
[0187] 步骤1101,开始。
[0188] 步骤1102,创建初始边线数据对集合。
[0189] 为了对边线数据对进行统一管理,计算机设备首先创建初始边线数据对集合。
[0190] 步骤1103,获取边线数据。
[0191] 计算机设备从原始地图数据中获取边线数据。
[0192] 步骤1104,构建空间索引。
[0193] 为了提高配对效率,计算机设备基于各个边线数据,创建空间索引。
[0194] 步骤1105,基于索引编号,遍历边线数据。
[0195] 计算机设备基于索引编号,依次遍历边线数据。
[0196] 步骤1106,确定当前边线数据对应的第一索引编号。
[0197] 步骤1107,基于空间索引,确定与当前边线数据具有相邻关系的相邻边线数据。
[0198] 考虑到道路隔离带仅在具有相邻关系的边线之间生成,计算机设备基于空间索引,确定与当前边线数据具有相邻关系的相邻边线数据。
[0199] 步骤1108,遍历相邻边线数据。
[0200] 步骤1109,确定相邻边线数据的第二索引编号。
[0201] 步骤1110,判断第一索引编号是否小于第二索引编号。
[0202] 为了避免重复配对,计算机设备判断当前边线数据对应的第一索引编号是否小于第二索引编号,如果第一索引编号大于第二索引编号,则表明在对第二索引编号对应的边线数据进行遍历配对的过程中,已经配对过该对边线数据。
[0203] 步骤1111,判断边线数据与相邻边线数据是否具有反向平行关系。
[0204] 计算机设备对边线数据与相邻边线数据是否具有反向平行关系,若存在反向平行关系,则进入步骤1112。
[0205] 步骤1112,组成一组边线数据对。
[0206] 计算机设备将具有相邻且反向平行关系的一组边线数据确定为一组边线数据对。
[0207] 步骤1113,将边线数据对添加到边线数据对集合中。
[0208] 步骤1114,返回边线数据对集合。
[0209] 步骤1115,结束。
[0210] 请参考图12,其示出了本申请一个示例性实施例提供的判断反向平行关系的流程图。
[0211] 步骤1201,开始。
[0212] 步骤1202,确定第一边线向第二边线投影的第一投影结果。
[0213] 步骤1203,确定第二边线向第一边线投影的第二投影结果。
[0214] 步骤1204,第一投影结果和第二投影结果是否均为NONE。
[0215] 计算机设备判断第一投影结果和第二投影结果是否均为NONE,在第一投影结果和第二投影结果均为NONE的情况下,进入步骤1205;在第一投影结果和第二投影结果不均为NONE的情况下,进入步骤1206。
[0216] 步骤1205,第一边线与第二边线不具有反向平行关系。
[0217] 在第一投影结果和第二投影结果均为NONE的情况下,即第一投影结果中各个第一可投影形状点对应的第一投影方位不一致,且第二投影结果中各个第二可投影形状点对应的第二投影方位不一致,则确定第一边线与第二边线不具有反向平行关系。
[0218] 步骤1206,第一投影结果是否为NONE。
[0219] 计算机设备对第一投影结果是否为NONE进行判断,在第一投影结果为NONE的情况下,进入步骤1207;在第一投影结果不为NONE的情况下,进入步骤1210。
[0220] 步骤1207,第一计数结果是否为0。
[0221] 计算机设备对第一计数结果进行判断,在第一计数结果为0的情况下,进入步骤1208;在第一计数结果不为0的情况下,进入步骤1209。
[0222] 步骤1208,确定第一边线与第二边线具有反向平行关系。
[0223] 在第一计数结果为0的情况下,即第二投影结果中各个第二可投影形状点对应的第二投影方位均一致,且第一投影结果中不存在第一可投影形状点,则确定第一边线与第二边线具有反向平行关系。
[0224] 步骤1209,确定第一边线与第二边线不具有反向平行关系。
[0225] 在第一计数结果不为0的情况下,即第二投影结果中各个第二可投影形状点对应的第二投影方位均一致,但第一投影结果中存在第一可投影形状点,则确定第一边线与第二边线不具有反向平行关系。
[0226] 在第二计数结果不为0的情况下,即第一投影结果中各个第一可投影形状点对应的第一投影方位均一致,但第二投影结果中存在第二可投影形状点,则确定第一边线与第二边线不具有反向平行关系。
[0227] 步骤1210,第二投影结果是否为NONE。
[0228] 计算机设备对第二投影结果是否为NONE进行判断,在第二投影结果为NONE的情况下,进入步骤1211;在第二投影结果不为NONE的情况下,进入步骤1212。
[0229] 步骤1211,第二计数结果是否为0。
[0230] 在第二投影结果为NONE的情况下,计算机设备对第二计数结果进行判断,在第二计数结果为0的情况下,进入步骤1212;在第二计数结果不为0的情况下,进入步骤1209。
[0231] 步骤1212,确定第一边线与第二边线具有反向平行关系。
[0232] 在第二投影结果不为NONE的情况下,即第一投影结果中各个第一可投影形状点对应的第一投影方位均一致,且第二投影结果中各个第二可投影形状点对应的第二投影方位均一致,则确定第一边线与第二边线具有反向平行关系。
[0233] 在第二计数结果为0的情况下,即第一投影结果中各个第一可投影形状点对应的第一投影方位均一致,且第二投影结果中不存在第二可投影形状点,则确定第一边线与第二边线具有反向平行关系。
[0234] 步骤1213,结束。
[0235] 请参考图13,其示出了本申请一个示例性实施例提供的确定投影结果的流程图。
[0236] 步骤1301,开始。
[0237] 步骤1302,投影成功计数count=0,投影次数i=1。
[0238] 计算机设备首先将投影成功计数count设置为0,并从第一形状点集合中的第一个第一形状点开始进行投影处理。
[0239] 步骤1303,i是否小于第一形状点集合的长度。
[0240] 步骤1304,将第i第一形状点作为目标点。
[0241] 步骤1305,目标点是否可以投影在第二形状点集合中相邻的两个点之间。
[0242] 计算机设备判断目标点是否可以投影在第二形状点集合中相邻的两个点之间,在目标点可以投影在第二形状点集合中相邻的两个点之间的情况下,进入步骤1306;在目标点不可以投影在第二形状点集合中相邻的两个点之间的情况下,进入步骤1320。
[0243] 步骤1306,计算两点的坐标P1和P2,P1指向P2为第二形状点集合的前进方向。
[0244] 步骤1307,计算目标点到P1和P2所在直线的垂直距离d。
[0245] 步骤1308,d是否小于距离阈值。
[0246] 计算机设备对目标点到P1和P2所在直线的垂直距离进行判断,在垂直距离小于距离阈值的情况下,进入步骤1309;在垂直距离大于距离阈值的情况下,进入步骤1321。
[0247] 步骤1309,计算P1到P2的第二折线向量。
[0248] 步骤1310,目标点是否是第一形状点集合中的最后一个点。
[0249] 计算机设备对目标点是否是第一形状点集合中的最后一个点进行判断,在目标点是第一形状点集合中的最后一个点的情况下,进入步骤1311;在目标点不是第一形状点集合中的最后一个点的情况下,进入步骤1312。
[0250] 步骤1311,计算第一形状点集合中目标点的前一个点到目标点的第一边线向量。
[0251] 在目标点是第一形状点集合中的最后一个点的情况下,计算机设备计算第一形状点集合中目标点的前一个点到目标点的第一边线向量。
[0252] 步骤1312,计算第一形状点集合中目标点到目标点的后一个点的第一边线向量。
[0253] 在目标点不是第一形状点集合中的最后一个点的情况下,计算机设备计算第一形状点集合中目标点到目标点的后一个点的第一边线向量。
[0254] 步骤1313,确定第一边线向量与第二折线向量之间的第一向量夹角b。
[0255] 步骤1314,b是否满足角度阈值。
[0256] 计算机设备对第一向量夹角是否满足角度阈值进行判断,在第一向量夹角满足角度阈值的情况下,进入步骤1315;在第一向量夹角不满足角度阈值的情况下,进入步骤1321。
[0257] 步骤1315,投影成功计数count+1。
[0258] 在第一向量夹角满足角度阈值的情况下,即表示目标点为第一可投影形状点。
[0259] 步骤1316,确定第一投影方位。
[0260] 步骤1317,Count=1。
[0261] 计算机设备对投影成功计数count是否等于1进行判断,在投影成功计数count等于1的情况下,则表示目标点为第一个投影成功的点,则进入步骤1318;在投影成功计数count不等于1的情况下,则表示目标点不是第一个投影成功的点,则进入步骤1319。
[0262] 步骤1318,记录第一投影方位。
[0263] 在投影成功计数count等于1的情况下,则表示目标点为第一个投影成功的点,计算机设备记录当前目标点对应的第一投影方位。
[0264] 步骤1319,当前第一投影方位是否与前一个一致。
[0265] 在投影成功计数count不等于1的情况下,则表示目标点不是第一个投影成功的点,计算机设备则需要判断当前目标点对应的第一投影方位是否与前一个形状点对应的第一投影方位一致。
[0266] 步骤1320,i加一。
[0267] 在当前目标点对应的第一投影方位与前一个形状点对应的第一投影方位一致的情况下,i加一,计算机设备开始对下一个第一形状点进行投影处理。
[0268] 步骤1321,确定第一边线和第二边线不具有反向平行关系。
[0269] 步骤1322,返回第一投影结果。
[0270] 步骤1323,结束。
[0271] 请参考图14,其示出了本申请一个示例性实施例提供的确定投影重叠区域的流程图。
[0272] 步骤1401,开始。
[0273] 步骤1402,创建投影重叠区域数据集合。
[0274] 为了对投影重叠区域数据进行统一管理,计算机设备首先创建投影重叠区域数据集合。
[0275] 步骤1403,获取边线数据对。
[0276] 步骤1404,遍历边线数据对。
[0277] 步骤1405,获取预设宽度值。
[0278] 步骤1406,当前边线数据对记为第一边线和第二边线。
[0279] 步骤1407,第一边线与第二边线是否满足高度条件。
[0280] 计算机设备对第一边线与第二边线是否满足高度条件进行判断,在第一边线与第二边线满足高度条件的情况下,进入步骤1408;在第一边线与第二边线不满足高度条件的情况下,返回步骤1404。
[0281] 步骤1408,获取第一形状点集合以及第二形状点集合。
[0282] 步骤1409,以第一形状点集合为中心,生成第一缓冲面。
[0283] 步骤1410,第一缓冲面是否与第二形状点集合存在交集。
[0284] 计算机设备对第一缓冲面是否与第二形状点集合存在交集进行判断,在第一缓冲面与第二形状点集合存在交集的情况下,进入步骤1411;在第一缓冲面与第二形状点集合不存在交集的情况下,返回步骤1404。
[0285] 步骤1411,确定第二形状点子集合。
[0286] 步骤1412,以第二形状点子集合为中心,生成第二缓冲面。
[0287] 步骤1413,第二缓冲面是否与第一形状点集合存在交集。
[0288] 计算机设备对第二缓冲面是否与第一形状点集合存在交集进行判断,在第二缓冲面与第一形状点集合存在交集的情况下,进入步骤1414;在第二缓冲面与第一形状点集合不存在交集的情况下,返回步骤1404。
[0289] 步骤1414,确定第一形状点子集合。
[0290] 步骤1415,确定第一集合范围以及第二集合范围。
[0291] 为了提高数据存储效率,计算机设备确定第一集合范围以及第二集合范围。
[0292] 步骤1416,将第一集合范围以及第二集合范围存储至投影重叠区域数据集合中。
[0293] 步骤1417,返回投影重叠区域数据集合。
[0294] 步骤1418,结束。
[0295] 请参考图15,其示出了本申请一个示例性实施例提供的地图中道路隔离带的生成装置的结构框图,该装置包括。
[0296] 获取模块1501,用于获取原始地图数据中的边线数据,所述边线数据包括道路边线数据以及路口面边线数据,所述道路边线数据用于表征上下线分离道路在目标方向上的道路边线,所述路口面边线数据用于表征连接上下线分离道路的路口面边线;
[0297] 配对模块1502,用于依次遍历各个边线数据,通过对所述边线数据进行配对,得到边线数据对,所述边线数据对包括道路边线数据对、路口面边线数据对、道路与路口面边线数据对中的至少一种,所述边线数据对中包括第一边线数据以及第二边线数据,所述第一边线数据表征的第一边线与所述第二边线数据表征的第二边线在空间上呈相邻且反向平行关系;
[0298] 区域确定模块1503,用于基于所述边线数据对,确定所述第一边线与所述第二边线之间的投影重叠区域;
[0299] 隔离带生成模块1504,用于在所述投影重叠区域生成道路隔离带。
[0300] 可选的,所述第一边线数据包括所述第一边线对应的第一形状点集合,所述第二边线数据包括所述第二边线对应的第二形状点集合;
[0301] 所述区域确定模块1503,用于:
[0302] 基于预设宽度值,以所述第一形状点集合为中心,以所述预设宽度值为单侧宽度,生成第一缓冲面;
[0303] 在所述第一缓冲面与所述第二形状点集合存在交集的情况下,确定第二形状点子集合;
[0304] 以所述第二形状点子集合为中心,以所述预设宽度值为单侧宽度,生成第二缓冲面;
[0305] 在所述第二缓冲面与所述第一形状点集合存在交集的情况下,确定第一形状点子集合;
[0306] 基于所述第一形状点子集合以及所述第二形状点子集合,确定所述投影重叠区域。
[0307] 可选的,所述第一形状点集合中包括m个第一形状点,所述第二形状点集合中包括n个第二形状点;
[0308] 所述基于预设宽度值,以所述第一形状点集合为中心,以所述预设宽度值为单侧宽度,生成第一缓冲面之前,所述装置还包括:
[0309] 形状点确定模块,用于依次遍历所述第一形状点集合以及所述第二形状点集合,从所述第二形状点集合中确定出各个第一形状点对应的相邻第二形状点;
[0310] 差值确定模块,用于确定各个第一形状点与对应的相邻第二形状点之间的高度差值;
[0311] 所述区域确定模块1503,还用于:
[0312] 在所述高度差值小于高度差阈值的情况下,以所述第一形状点集合为中心,以所述预设宽度值为单侧宽度,生成所述第一缓冲面。
[0313] 可选的,所述基于所述第一形状点子集合以及所述第二形状点子集合,确定所述投影重叠区域之后,所述装置还包括:
[0314] 第一范围确定模块,用于确定所述第一形状点子集合在所述第一形状点集合中对应的第一集合范围,所述第一集合范围中包括所述第一形状点子集合的首尾两个第一形状点在所述第一形状点集合内的第一形状点编号;
[0315] 第二范围确定模块,用于确定所述第二形状点子集合在所述第二形状点集合中对应的第二集合范围,所述第二集合范围中包括所述第二形状点子集合的首尾两个第二形状点在所述第二形状点集合内的第二形状点编号;
[0316] 存储模块,用于对所述第一集合范围以及所述第二集合范围进行存储。
[0317] 可选的,所述隔离带生成模块1504,用于:
[0318] 获取所述第一集合范围以及所述第二集合范围;
[0319] 基于所述第一集合范围中的所述第一形状点编号,从所述第一形状点集合中确定出所述第一形状点子集合;
[0320] 基于所述第二集合范围中的所述第二形状点编号,从所述第二形状点集合中确定出所述第二形状点子集合;
[0321] 基于所述第一形状点子集合、所述第二形状点子集合以及所述投影重叠区域,生成所述道路隔离带。
[0322] 可选的,所述配对模块1502,用于:
[0323] 基于各个边线数据,构建空间索引,所述空间索引中包括各个边线数据对应的索引编号;
[0324] 基于各个边线数据对应的索引编号,依次遍历所述边线数据,对各个边线数据所表征的边线之间的相邻关系进行判断;
[0325] 将具有相邻且反向平行关系的一组边线对应的一组边线数据,确定为所述边线数据对。
[0326] 可选的,所述将具有相邻且反向平行关系的一组边线对应的一组边线数据,确定为所述边线数据对之前,所述装置还包括:
[0327] 第一投影模块,用于在存在与所述第一边线具有相邻关系的所述第二边线的情况下,将所述第一边线对应的第一形状点集合中的各个第一形状点依次向所述第二边线对应的第二形状点集合进行投影处理,得到第一投影结果;
[0328] 第二投影模块,用于将所述第二边线对应的第二形状点集合中的各个第二形状点依次向所述第一边线对应的第一形状点集合进行投影处理,得到第二投影结果;
[0329] 关系判断模块,用于基于所述第一投影结果以及所述第二投影结果,对所述第一边线与所述第二边线之间的反向平行关系进行判断。
[0330] 可选的,所述第一形状点集合中包括m个第一形状点;所述第一投影模块,用于:
[0331] 将所述第一形状点集合中的第i第一形状点向所述第二形状点集合所构成的第二折线进行投影处理,得到第i第一投影点;
[0332] 在所述第i第一投影点到所述第二折线的距离小于距离阈值的情况下,基于所述第i第一形状点以及相邻于第i第一形状点的第一目标形状点,生成第一边线向量;
[0333] 在所述第一边线向量与所述第二折线对应的第二折线向量之间的第一向量夹角满足角度阈值的情况下,确实所述第i第一形状点为第一可投影形状点,并确定所述第i第一形状点对应的第一投影方位;
[0334] 对所述第一可投影形状点进行累积计数,并根据各个第一可投影形状点对应的第一投影方位,确定所述第一投影结果。
[0335] 可选的,所述第二形状点集合中包括n个第二形状点;所述第二投影模块,用于:
[0336] 将所述第二形状点集合中的第i第二形状点向所述第一形状点集合所构成的第一折线进行投影处理,得到第i第二投影点;
[0337] 在所述第i第二投影点到所述第一折线的距离小于距离阈值的情况下,基于所述第i第二形状点以及相邻于第i第二形状点的第二目标形状点,生成第二边线向量;
[0338] 在所述第二边线向量与所述第一折线对应的第一折线向量之间的第二向量夹角满足角度阈值的情况下,确实所述第i第二形状点为第二可投影形状点,并确定所述第i第二形状点对应的第二投影方位;
[0339] 对所述第二可投影形状点进行累积计数,并根据各个第二可投影形状点对应的第二投影方位,确定所述第二投影结果。
[0340] 可选的,所述关系判断模块,用于:
[0341] 在所述第一投影结果中各个第一可投影形状点对应的第一投影方位均一致,且所述第二投影结果中各个第二可投影形状点对应的第二投影方位均一致的情况下,确定所述第一边线与所述第二边线之间具有所述反向平行关系;
[0342] 在所述第一投影结果中各个第一可投影形状点对应的第一投影方位不一致,且所述第二投影结果中各个第二可投影形状点对应的第二投影方位不一致的情况下,确定所述第一边线与所述第二边线之间不具有所述反向平行关系;
[0343] 在所述第一投影结果中各个第一可投影形状点对应的第一投影方位均一致,且所述第二投影结果中不存在第二可投影形状点的情况下,确定所述第一边线与所述第二边线之间具有所述反向平行关系;
[0344] 在所述第二投影结果中各个第二可投影形状点对应的第二投影方位均一致,且所述第一投影结果中不存在第一可投影形状点的情况下,确定所述第一边线与所述第二边线之间具有所述反向平行关系。
[0345] 可选的,所述隔离带生成模块1504,用于:
[0346] 基于所述第一边线数据以及所述第二边线数据,确定所述第一边线的第一边线属性,以及所述第二边线的第二边线属性,其中,边线属性包括道路边线和路口面边线中的一种;
[0347] 在所述第一边线属性以及所述第二边线属性均为道路边线的情况下,在所述投影重叠区域生成具有第一显示属性的道路隔离带;
[0348] 在所述第一边线属性以及所述第二边线属性均为路口面边线的情况下,在所述投影重叠区域生成具有第二显示属性的道路隔离带;
[0349] 在所述第一边线属性与所述第二边线属性不一致的情况下,在所述投影重叠区域生成具有第三显示属性的道路隔离带,其中,所述第一显示属性、所述第二显示属性以及所述第三显示属性互不相同。
[0350] 可选的,所述隔离带生成模块1504,还用于:
[0351] 在所述第一边线属性以及所述第二边线属性均为路口面边线,且所述第一边线与所述第二边线处于未连通状态的情况下,在所述投影重叠区域生成具有第二显示属性的道路隔离带;
[0352] 在所述第一边线属性以及所述第二边线属性均为路口面边线,且所述第一边线与所述第二边线处于连通状态的情况下,在所述投影重叠区域不生成具有第二显示属性的道路隔离带。
[0353] 综上所述,本申请实施例中,通过从原始地图数据中获取边线数据,该边线数据包括道路边线数据以及路口面边线数据,进而通过对各个边线数据进行遍历并配对,可以得到多组边线数据对,每组边线数据对中都包括第一边线数据以及第二边线数据,且第一边线数据表征的第一边线与第二边线数据表征的第二边线在空间上呈相邻且反向平行关系,进而可以根据边线数据对,确定出第一边线和第二边线之间的投影重叠区域,并在投影重叠区域生成道路隔离带;采用本申请实施例提供的方案,通过直接从原始地图数据中确定出边线数据对,并根据边线数据对生成道路隔离带,提高了地图中道路隔离带的生成效率。
[0354] 需要说明的是:上述实施例提供的装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其实现过程详见方法实施例,这里不再赘述。
[0355] 请参考图16,其示出了本申请一个示例性实施例提供的计算机设备的结构示意图。具体来讲:所述计算机设备1600包括中央处理单元(Central Processing Unit,CPU)1601、包括随机存取存储器1602和只读存储器1603的系统存储器1604,以及连接系统存储器1604和中央处理单元1601的系统总线1605。所述计算机设备1600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1606,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。
[0356] 所述基本输入/输出系统1606包括有用于显示信息的显示器1608和用于用户输入信息的诸如鼠标、键盘之类的输入设备1609。其中所述显示器1608和输入设备1609都通过连接到系统总线1605的输入输出控制器1610连接到中央处理单元1601。所述基本输入/输出系统1606还可以包括输入输出控制器1610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1610还提供输出到显示屏、打印机或其他类型的输出设备。
[0357] 所述大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。所述大容量存储设备1607及其相关联的计算机可读介质为计算机设备1600提供非易失性存储。也就是说,所述大容量存储设备1607可以包括诸如硬盘或者驱动器之类的计算机可读介质(未示出)。
[0358] 不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括随机存取记忆体(RAM,Random Access Memory)、只读存储器(ROM,Read Only Memory)、闪存或其他固态存储其技术,只读光盘(Compact Disc Read‑Only Memory,CD‑ROM)、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1604和大容量存储设备1607可以统称为存储器。
[0359] 存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1601执行,一个或多个程序包含用于实现上述方法的指令,中央处理单元1601执行该一个或多个程序实现上述各个方法实施例提供的方法。
[0360] 根据本申请的各种实施例,所述计算机设备1600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1600可以通过连接在所述系统总线1605上的网络接口单元1612连接到网络1611,或者说,也可以使用网络接口单元1612来连接到其他类型的网络或远程计算机系统(未示出)。
[0361] 本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述实施例所述的地图中道路隔离带的生成方法。
[0362] 可选地,该计算机可读存储介质可以包括:ROM、RAM、固态硬盘(SSD,Solid State Drives)或光盘等。其中,RAM可以包括电阻式随机存取记忆体(ReRAM,Resistance Random Access Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。
[0363] 本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例所述的地图中道路隔离带的生成方法。
[0364] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0365] 以上所述仅为本申请的可选的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。