路网数据生成方法、装置、计算设备和存储介质与流程

文档序号:27926501发布日期:2021-12-11 11:49阅读:207来源:国知局
路网数据生成方法、装置、计算设备和存储介质与流程

1.本公开涉及计算机技术领域,更具体地,涉及一种路网数据生成方法、路网数据生成装置、计算设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.随着计算机技术的不断发展,在交通系统中,借由计算设备来实现导航、路况监控等功能已经逐渐成为一种常见选择。例如,诸如行人、司机等的交通参与者可以通过计算设备来查看导航路线以及路线是否通畅,诸如交警、市政工作人员等的交通管理者可以通过计算设备来监控各条道路的实时或历史路况,等等。这些借由计算设备实现的上层应用可以为人们提供诸多便利,但是,其功能的实现和优化离不开完备、准确、稳定且适于计算的下层路网数据的支撑。因此,如何便捷地生成这种完备、准确、稳定且适于计算的路网数据是本领域中的一项值得关注的问题。


技术实现要素:

3.有鉴于此,本公开提供了一种用于生成路网数据的方法、装置、计算设备、计算机可读存储介质及计算机程序产品,有助于解决上述问题。
4.根据本公开的一方面,提供了一种路网数据生成方法,包括:获取初始地图数据,初始地图数据包括关于多条路链的路链信息和关于多个节点的节点信息,多个节点中的每个节点为至少两条路链的交点;基于节点信息,确定关于多个路口的路口信息;基于路口信息和路链信息,确定关于多条路段的路段信息和关于至少一条道路的道路信息,多条路段中每条路段表示相邻两个路口之间的一条或多条路链的集合,至少一条道路中的每条道路表示依次首尾相接的多条路段的集合;基于路口信息、路段信息和道路信息中的至少一个,生成路网数据。
5.在一些实施例中,节点信息包括节点类型标识符和节点编码,路口信息包括第一路口标识,并且基于节点信息,确定关于多个路口的路口信息包括:基于多个节点的节点类型标识符,从多个节点中确定多个路口节点;基于多个路口节点中每一个路口节点的节点类型标识符和节点编码,确定多个路口节点中每一个路口节点对应的路口的第一路口标识。
6.在一些实施例中,基于多个节点的节点类型标识符,从多个节点中确定多个路口节点包括:针对多个节点中的每个节点,响应于该节点的类型标识符不等于第一预设值,将该节点确定为路口节点。
7.在一些实施例中,基于多个路口节点中每一个路口节点的节点类型标识符和节点编码,确定多个路口节点中每一个路口节点对应的路口的第一路口标识包括针对多个路口节点中的每个路口节点,执行下述步骤:响应于该路口节点的节点类型标识符等于第二预设值,将该路口节点对应的简单路口的第一路口标识确定为包括该路口节点的节点编码,其中第二预设值不等于第一预设值;响应于该路口节点的类型标识符等于第三预设值,将
该路口节点对应的复合路口的第一路口标识确定为包括该路口节点的节点编码,其中第三预设值不等于第二预设值和第一预设值。
8.在一些实施例中,路口信息进一步包括第二路口标识,且基于节点信息,确定关于多个路口的路口信息进一步包括:针对多个路口中每一个路口,至少基于与对应于该路口的路口节点相关的至少两条路链的路链标识,确定该路口的第二路口标识。
9.在一些实施例中,针对多个路口中每一个路口,至少基于与对应于该路口的路口节点相关的至少两条路链的路链标识,确定该路口的第二路口标识包括:将至少两条路链划分为多个路链组,每组中的一条或多条路链具有相同路链标识;针对每个路链组,基于一个或多个路链所具有的相同路链标识确定统一路链标识;根据第一预设评价维度,从所确定的多个统一路链标识中确定至少两个目标统一路链标识,其中,所述第一预设评价维度包括统一路链标识对应的路链的道路等级、车道数量、道路类型中的一项或多项,道路类型包括主路或辅路;基于所确定的至少两个目标统一路链标识,确定该路口的第二路口标识。
10.在一些实施例中,针对多个路口中每一个路口,至少基于与对应于该路口的路口节点相关的至少两条路链的路链标识,确定该路口的第二路口标识包括:针对多个路口中每一个路口,基于至少两条路链的路链标识以及邻近该路口的地标标识,确定该路口的第二路口标识。
11.在一些实施例中,路段信息包括第一路口标识,并且基于路口信息和路链信息,确定关于多条路段的路段信息和关于至少一条道路的道路信息包括:针对多条路段中的每一条路段,至少基于与该路段相关的路口的第一路口标识,确定该路段的第一路段标识,或者针对多条路段中的每一条路段,至少基于与该路段相关的路口节点的节点编码,确定该路段的第一路段标识。
12.在一些实施例中,至少基于与该路段相关的路口的第一路口标识,确定该路段的第一路段标识包括:基于与该路段相关的路口的第一路口标识以及根据第一预设规则生成的附加编码,确定该路段的第一路段标识。
13.在一些实施例中,路段信息包括第二路段标识,并且基于路口信息和路链信息,确定关于多条路段的路段信息和关于至少一条道路的道路信息包括:针对所述多条路段中的每条路段,基于该路段所包含的所有路链的路链标识,确定该路段的第二路段标识;将多条路段划分为多个路段组,每个路段组中的一条或多条路段具有至少部分相同的第二路段标识;基于所划分的多个路段组,确定道路信息。
14.在一些实施例中,基于该路段所包含的所有路链的路链标识,确定该路段的第二路段标识包括:从该路段所包含的所有路链的路链标识中,根据第二预设评价维度,确定最优路链标识,其中,第二预设评价维度包括路链标识排序、路链标识出现次数中的一项或多项;至少基于该路段的所述最优路链标识,确定该路段的第二路段标识。
15.在一些实施例中,每个路口具有第二路口标识,并且其中,至少基于该路段的最优路链标识,确定该路段的第二路段标识包括:基于该路段的所述最优路链标识和与该路段相关的路口的第二路口标识,确定该路段的第二路段标识。
16.在一些实施例中,道路信息包括第一道路标识,并且基于路口信息和路链信息,确定关于多条路段的路段信息和关于至少一条道路的道路信息还包括:针对至少一条道路中的每条道路,至少基于与该道路相关的路口的第一路口标识,确定该道路的第一道路标识;
或者针对至少一条道路中的每条道路,至少基于与该道路相关的节点的节点编码,确定该道路的第一道路标识。
17.在一些实施例中,至少基于与该道路相关的路口的第一路口标识,确定该道路的第一道路标识包括:基于与该道路相关的路口的第一路口标识以及根据第二预设规则生成的附加编码,确定该道路的第一道路标识。
18.在一些实施例中,基于所划分的多个路段组,确定道路信息包括针对每个路段组依次执行以下步骤:起始路段确定步骤:在该路段组中,根据第三预设评价维度,将评价结果最优的路段确定为起始路段,并作为当前路段,第三预设评价维度包括道路等级、车道数量、路段长度、道路类型、特殊道路属性中的一个或多个,道路类型包括主路或辅路;连通路段查找步骤:在该路段组中,查找可沿与当前路段连通的路段;跳转判断步骤:响应于在该路段组中查找到至少一个可与当前路段连通的路段,将所查找到的至少一个路段之一作为新的当前路段,并且跳转执行连通路段查找步骤;否则,执行道路确定步骤;道路确定步骤:基于起始路段和所查找到的各路段,确定相应的道路。
19.在一些实施例中,响应于在该路段组中查找到至少一个可与当前路段连通的路段,将所查找到的至少一个路段之一作为新的当前路段包括:当可与当前路段连通的路段的数量大于或等于二时,将与当前路段的延伸方向的夹角最小和/或与当前路段的评价结果最接近的路段作为新的当前路段。
20.在一些实施例中,道路信息包括第二道路标识,并且基于所划分的多个路段组,确定所述道路信息包括:基于该路段组中的一条或多条路段所具有的至少部分相同的第二路段标识,确定对应道路的第二道路标识。
21.在一些实施例中,初始地图数据进一步包括关于多条路链的路链属性和/或等级,并且该方法还包括:在基于节点信息确定关于多个路口的路口信息之前,根据预设的路链属性和/或等级和关于多条路链的路链属性和/或等级,对路链信息和节点信息进行更新。
22.根据本公开的另一实施例,提供了一种路网数据生成装置,包括:获取模块,被配置为获取初始地图数据,初始地图数据包括关于多条路链的路链信息和关于多个节点的节点信息,多个节点中的每个节点为至少两条路链的交点;第一确定模块,被配置为基于节点信息,确定关于多个路口的路口信息;第二确定模块,被配置为基于路口信息和路链信息,确定关于多条路段的路段信息和关于至少一条道路的道路信息,多条路段中每条路段表示相邻两个路口之间的一条或多条路链的集合,道路表示依次首尾相接的多条路段的集合;生成模块,被配置为基于路口信息、路段信息和道路信息中的至少一个,生成路网数据。
23.根据本公开的又一实施例,提供了一种计算设备,包括:存储器,其被配置成存储计算机可执行指令;处理器,其被配置成当计算机可执行指令被处理器执行时执行根据前述方面所提供的方法。
24.根据本公开的又一实施例,提供了一种计算机可读存储介质,其存储有计算机可执行指令,当所述计算机可执行指令被执行时,执行根据前述方面所提供的方法。
25.根据本公开的又一实施例,提供了一种计算机程序产品,包括计算机指令,所述计算机指令在被处理器执行时实现根据前述方面所提供的方法的步骤。
26.根据本公开提供的路网数据生成方法,可以基于初始地图数据,由节点信息确定路口信息,进而可以由路口信息和初始地图数据中的路链信息依次确定路段信息和道路信
息,并最终生成路网数据。由此,可以便捷地基于初始地图数据来生成可供上层应用使用(例如用于计算与路况、导航等相关的各种指标)的路网数据。由于所生成的路网数据中的路口、路段和/或道路屏蔽了底层的节点及路链信息,路口之间的内部节点和/或路链信息的变动一般不会影响所生成的路网数据,同时,在现实世界中,路口通常是较为稳定且不易变更的,因此本方案有助于保证路网数据的稳定性,并且,相较于底层的数量繁多且长度较短的路链,所确定的路段和/或道路更加适合参与算法模型或上层应用中的各种计算过程。此外,由于本公开所提供的方案是依照从路口到路段、再到道路的由小及大的顺序执行的,因此,不易出现路口、路段和/或道路的遗漏问题,从而有助于保证路网数据的完备性和准确性。
27.根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
28.在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:图1示意性示出了可以应用本公开所提供的路网数据生成方法的示例场景;图2示意性示出了可以应用本公开所提供的路网数据生成方法的示例层次化场景;图3示意性示出了根据本公开的一些实施例的示例上层应用的示例界面图;图4a示意性示出了根据本公开的一些实施例的路网数据生成方法的示例流程图;图4b示意性示出了根据本公开的一些实施例的路网数据生成过程的示例;图5a和5b分别示出了根据本公开的一些实施例的简单路口和复合路口的示意图;图6示出了根据本公开的一些实施例的确定路段的第一路段标识的示意图;图7示出了根据本公开的一些实施例的确定路段的第二路段标识的示意图;图8示出了根据本公开的一些实施例的描述节点变化的影响的示意图;图9a和9b分别示意性示出了根据相关技术和本公开提供的路网数据生成方法生成的路网数据的示例;图10示意性示出了根据本公开的一些实施例的路网数据生成装置的示例框图;图11示意性示出了根据本公开的一些实施例的计算设备的示例框图。
具体实施方式
29.下面将参照附图更详细地描述本公开的若干个实施例以便使得本领域技术人员能够实现本公开。本公开可以体现为许多不同的形式和目的并且不应局限于本文所阐述的实施例。提供这些实施例以使得本公开全面且完整,并充分地向本领域技术人员传达本公开的范围。所述实施例并不限定本公开。
30.除非另有定义,本文中使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员所通常理解的相同含义。将进一步理解的是,诸如那些在通常使用的字典中定义的之类的术语应当被解释为具有与其在相关领域和/或本说明书上下文中的含义相一致的含义,并且将不在理想化或过于正式的意义上进行解释,除非本文中明确
地如此定义。
31.智能交通系统(intelligent traffic system,its)又称智能运输系统(intelligent transportation system),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
32.在详细介绍本公开的实施例之前,首先对一些相关的概念进行解释。
33.在本公开的描述中,路链(link)可以指用于表达道路的几何信息的最小几何单元。示例性地,路链可能是人工手动标定的,或者也可能是通过图像分析手段自动生成的。一般而言,路链可以由两个端点来限定,例如可以被表示为从起点指向终点的有向线段。应理解,路链的方向可以是人为规定的方向,而不对应于行车方向等实际方向。此外,可选地,路链可以具有诸如所属道路的道路标识、道路等级、车道数量等其他描述信息。
34.在本公开的描述中,节点(node)可以指各个路链的端点,其可以是两条或更多条路链的交叉点,也可以是单条路链的起点或终点。类似地,节点也可以是人工手动标定的,或者通过图像分析手段自动生成的。一般而言,节点可以通过编码或坐标来描述,并且可选地可以具有诸如节点类型等其他描述信息。
35.在本公开的描述中,路段可以指由一条或多条收尾相接的路链形成的连通的道路段,例如两个路口之间的连通的道路段、路口与分合流点之间的道路段等。道路可以指真实场景中的一条完整道路。路口可以指两条或更多条道路的交叉处。
36.图1示意性示出了可以应用本公开所提供的路网数据生成方法的示例场景100。
37.如图1所示,场景100包括服务器110。本公开所提供的路网数据生成方案可以部署于服务器110,并用于基于初始地图数据来生成路网数据。服务器110可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。此外,可选地,服务器110仅作为示例被示出,实际也可以替代地使用其他具有计算能力及存储能力的设备或设备的组合来提供相应的服务。在服务器110上生成的路网数据可以被本地存储,也可以被存储在外部设备上。并且,在服务器110上生成的路网数据可以被本地部署的其他程序或应用使用,或者经由有线或无线网络被部署在其他设备上的程序或应用使用。
38.可选地,服务器110可以与外部数据库120相链接,以便例如从数据库120获取初始地图数据和/或将所生成的路网数据存放至数据库120等。示例性地,数据库120可以是独立的数据存储设备或设备群,或者也可以是与其他在线服务(诸如导航、路况监控等功能的在线服务)相关的后端数据存储设备或设备群。
39.可选地,用户140可以通过终端设备130经由网络150访问服务器110,以便获取服务器110所提供的服务。例如,用户140可以通过终端设备130提供的用户接口来输入指令,以便启动部署于服务器110上的路网数据生成方案、获取所生成的路网数据等。示例性地,终端设备130包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等。
40.此外,在本公开中,网络150可以是经由诸如电缆、光纤等连接的有线网络,也可以是诸如2g、3g、4g、5g、wi

fi、蓝牙、zigbee、li

fi等的无线网络。
41.图2示意性示出了可以应用本公开所提供的路网数据生成方法的示例层次化场景200。如图所示,根据本公开的实施例,路网数据220可以基于初始地图数据210来生成,并可供相关算法模型或上层应用230使用。示例性地,初始地图数据210可以存储于图1所示的场景100中的数据库120中,路网数据220可以由部署于服务器110上的路网数据生成应用生成,上层应用230可以部署于与路网数据生成应用相同或不同的服务器上,并可经由网络150为终端用户提供服务,或者,上层应用230也可以直接部署于用户的终端设备上,并为用户提供在线或离线服务。在一些实施例中,上层应用230可以包括基于路网数据提供导航服务、路况监控服务、交通研判分析服务和/或其他服务的各种在线或离线应用。例如,上层应用230可以为saas(software as a service,软件即服务)应用,其可以被部署于服务提供方的服务器上,并经由网络为各个用户提供软件服务,或者上层应用230也可以为其他类型的应用,本公开在此方面不作任何限制。
42.图3示意性示出了根据本公开的一些实施例的示例上层应用的示例界面300。图3所示出的示例上层应用是一种交通态势感知与研判分析平台,其可以基于根据本公开提供的技术方案生成的路网数据,计算相应的交通指标数据,例如拥堵里程、拥堵里程占比、常发拥堵、突发拥堵等。
43.如图3所示,界面300主要用于展示关于高速道路的感知和分析结果。示例性地,界面300可以包括路网展示区域310、拥堵道路/路段列表展示区域320和目标道路/路段详情展示区域330。
44.路网展示区域310所展示的路网可以是基于根据本公开提供的路网数据生成方法生成的路网数据来渲染和呈现的。在区域310中,可以如图3所示那样以实线表示各条道路,并且可选地,可以以加粗的实现表示所关注的特定类型的道路,例如图3所示的两条高速道路,或者可选地,可以以加粗的实现表示被选中的道路,例如图3所示的高速道路311。替代地,也可以通过不同颜色、不同线型等来区分不同类型的道路或凸显被选中的道路。此外,在一些实施例中,针对一条或多条道路,可以通过不同颜色或不同线型来表征不同程度的拥堵状态,例如,以绿色表示畅通,黄色表示缓行,橙色表示拥堵,红色表示严重拥堵,等等。另外,可选地,可以在路网展示区域310中呈现部分或全部道路的道路名称、重要地标名称等信息。为了简洁起见,图3的路网展示区域310仅示出了表征道路的线条和部分高速道路的名称,未示出上述其他可选内容。
45.拥堵道路/路段列表展示区域320可以用于展示按照拥堵里程、拥堵比例或其他指标排名的道路/路段列表。如图3所示,该区域320可以展示各条道路的具体拥堵里程、与前一时间段(例如前5分钟、10分钟等)相比的拥堵里程的增长/下降率及对应的上升、下降箭头等。可选地,该区域320可以被设置为展示关于各条道路/路段的更多信息,例如车道数量、预计通行时间等。目标道路/路段详情展示区域330可以用于展示被选中的道路/路段的更详细的情况,例如图3所示的拥堵概括(如具体拥堵率、拥堵里程等)和各类指标数据和/或曲线(如拥堵里程、拥堵里程占比、平均速度等)。可选地,可以在该区域330中展示各类指标的实时监控结果、上一时段监控结果、历史监控结果均值等。示例性地,用户可以通过在路网展示区域310或者拥堵道路/路段列表展示区域320中选中某条道路来在目标道路/路段详情展示区域330中查看所选中的道路的详细信息。在本公开的实施例中,在拥堵道路/路段列表展示区域320和目标道路/路段详情展示区域330中展示的上述或其他指标数据可
以是基于根据本公开提供的路网数据生成方法生成的路网数据来计算得到的。
46.在上述应用场景或类似的其他应用场景中,在提供有关交通的服务时,通常离不开下层路网数据的支撑,并且路网数据的完备性、准确性和稳定性会对算法模型和/或上层应用的运行效果产生很大的影响。因此,如何便捷地构建适合于相关算法模型和/或上层应用使用的路网数据是本领域技术人员格外关注的问题。然而,在相关技术中,在生成路网数据时,常常以道路实体对象为切入点,对具有相同道路名称的实体对象进行分组,并对每一组道路按照路口进行二级拆分,以形成路段和路口实体数据。如此,一条道路可以由多条路段构成,一条路段可以由两个路口构成。但是,发明人研究发现,在这类方法中,若存在初始数据中实体对象命名不够规范等情况,容易导致某些实体对象被遗漏或者某些实体对象被错误分组等,从而难以保证路网数据的完备性和准确性。此外,由于这类方法直接通过对初始数据中的实体对象进行分组来得到道路实体数据,从而容易受到底层初始数据变动的影响,并导致所生成的路网数据的稳定性较差。
47.基于上述考虑,在本公开中提出了一种新的路网数据生成方法,其有助于生成更为完备、准确且稳定的路网数据。
48.图4示意性示出了根据本公开的一些实施例的路网数据生成方法的示例流程图400。示例性地,该方法400可以通过诸如应用程序等形式部署于图1的应用场景100中的服务器110上。
49.在步骤410,可以获取初始地图数据,初始地图数据可以包括关于多条路链的路链信息和关于多个节点的节点信息,并且多个节点中的每个节点可以为至少两条路链的交点。该初始地图数据例如可以是由用户通过终端设备的用户接口输入的,或者也可以是从本地或远处存储器获取的,或者也可以是通过对其他初始数据进行预处理而获取的。初始地图数据可以是人工测绘得到的数据,或者可以是通过对诸如卫星图像或由其他图像采集设备获取的图像进行分析来得到的数据,或者也可以是通过其他手段获取的数据。示例性地,初始地图数据可以以有向图或无向图的形式提供。例如,节点信息所涉及的各个节点可以由节点编码和/或位置坐标等来表示,路链信息所涉及的各条路链可以由限定有向或无向线段的两个节点来表示。应理解,这里提到的关于多个节点的节点信息可以涉及初始地图数据中所包含的所有节点,或者也可以仅涉及一部分节点,例如仅涉及所有或部分作为两条或更多条路链的交点的节点。可选地,节点信息和/或路链信息可以以诸如列表、链表等各种适用格式来存储。应理解,初始地图数据以及所涉及的节点信息和路链信息也可以通过其他形式来提供。此外,可选地,除了上述关于多条路链的路链信息和关于多个节点的节点信息之外,初始地图数据可以包括其他数据信息,例如与作为单条路链的端点的节点相关的信息、路链信息和节点信息的生成或更新时间、路链信息和节点信息的存储规则等。
50.在步骤420,可以基于节点信息,确定关于多个路口的路口信息。如前文所提到的,路口为至少两条道路的交叉处,从而属于路口的节点应当为至少两条路链的交叉处。由此,通过对前述节点信息进行分析和/或筛选,可以确定属于路口的节点,并进而确定关于多个路口的路口信息。示例性地,该确定过程可以基于对节点信息和/或路链信息所包含的关于节点和/或路链的属性特征的分析来实现,例如基于各节点的类型属性、基于在各节点处交叉的路链的具体数量和/或属性等。示例性地,各节点的类型属性可以指示该节点属于普通节点、路口节点、道路交汇点等;可以根据在一节点处交叉的路链的数量是否高于预设阈值
和/或路链属性是否满足预设条件来确定该节点是否为路口节点。或者,也可以结合图像分析手段基于卫星图像或由其他图像采集设备获取的图像来确定各节点是否为路口节点,等等。
51.在步骤430,可以基于路口信息和路链信息,确定关于多条路段的路段信息和关于至少一条道路的道路信息。多条路段中每条路段可以表示相邻两个路口之间的一条或多条路链的集合,至少一条道路中的每条道路可以表示依次首尾相接的多条路段的集合。示例性地,可以基于路口信息和路链信息确定路段信息,进而基于路段信息确定道路信息。可选地,可以通过聚合两个相邻路口节点之间的路链来确定一条路段,并通过聚合多条路段来确定一条道路。在本公开的描述中,“聚合”可以理解为在多条路链(或路段)中,确定若干条可以首尾相接以构成连通路段(或道路)的路链(或路段),并基于所确定的若干路链(或路段)确定所构成的路段(或道路)。
52.在一些实施例中,针对一对相邻路口,可以以一个路口所涉及的一个路口节点为起始点,在两个路口之间的路链中查找以该起始点为起始节点的路链,进而查找以所查找到的上一路链的终止节点为起始节点的路链,重复该查找过程,直到所查找到的路链的终止节点为该对路口中的另一路口所涉及的路口节点。由此,可以基于所查找到的所有路链的集合确定该相邻路口之间的一条路段。在一些实施例中,由于路口可以涉及多个路口节点或者一对路口节点之间可能存在多条路径,在一对相邻路口之间可能聚合出多条路段。
53.在步骤440,可以基于路口信息、路段信息和道路信息中的至少一个,生成路网数据。示例性地,可以基于路口信息、路段信息和道路信息中的一个或多个的组合来生成路网数据。示例性地,所生成的路网数据可以被本地存储,或被存储在外部设备上,可以被本地服务使用,或被外部设备上的服务调用。此外,在所生成的路网数据中,路口信息、路段信息和/或道路信息可以以统一的预设格式来存储,以便于被算法模型或上层应用读取和使用。
54.通过路网数据生成方法400,可以便捷地基于初始地图数据来生成可供算法模型和/或上层应用使用的路网数据。由于所生成的路网数据是基于根据底层节点及路链信息确定的路口信息、路段信息和/或道路信息得到的,从而屏蔽了底层的节点及路链信息,这使得路口之间的内部节点和/或路链信息的一些细微变动基本不会影响所生成的路网数据,从而有助于保证路网数据的稳定性。此外,与相关技术中的方案不同,本公开所提供的方案是依照从路口到路段、再到道路的由小及大的顺序执行的,因此,不易出现路口、路段和/或道路的遗漏或错误分组的问题,从而有助于保证路网数据的完备性和准确性。
55.在一些实施例中,方法400可以被分布式实现。具体地,初始地图数据可以被划分为多个图幅数据,各个图幅数据可以被分别处理,然后各个图幅数据的处理结果可以被聚集并用于生成完整的路网数据。示例性地,每个图幅数据可以被导入诸如spark的计算引擎,计算引擎可以根据图4所示的方法处理所导入的图幅数据,并输出关于道路、路段和/或路口的信息,以及可选地输出道路、路段、路口和/或节点等之间的映射关系。随后,可以根据基于各个图幅数据得到的输出生成完整的路网数据。这种分布式实现有助于降低方法执行过程中对计算资源和/或存储资源的需求,提高运行效率,同时不会影响路网数据生成效果。
56.在一些实施例中,上述节点信息可以包括节点类型标识符和节点编码,并且路口信息可以包括第一路口标识。示例性地,节点的节点类型标识符可以是用于指示节点类型
的数值、数值范围、字符等各种适用形式的标识符,节点编码可以是以任何适用的编码方式及编码格式预先确定的编码,例如基于节点排序、节点坐标或其他节点属性确定的编码。在这种实施例中,可以基于多个节点的节点类型标识符来确定多个路口节点,并基于各个路口节点的节点类型标识符和节点编码来确定多个路口的第一路口标识。可选的,路口的第一路口标识可以为路口编码或其他便于计算机识别的标识。所确定的路口节点以及多个路口的第一路口标识可以作为基于节点信息确定的关于多个路口的路口信息的至少一部分。示例性地,初始地图数据中的关于多个节点的节点信息可以以节点表或类似的形式表达。在这样的示例中,可以遍历节点表中的所有节点,并根据各个节点的节点类型标识符来判断该节点是否属于路口节点。并且可选地,可以在所有路口节点被确定完毕后,基于各个路口节点的节点类型标识符和节点编码来确定多个路口的第一路口标识,或者,也可以在某个或某几个节点被确定为路口节点后,即根据相应节点的节点类型标识符和节点编码来确定相应路口的第一路口标识。换言之,前文所描述的关于确定多个路口节点和确定多个路口节点的第一路口标识的两个步骤不一定是顺序执行的,也可以是交叉或并行执行的。通过节点类型标识符可以便捷地区分路口节点和非路口节点,有助于提高路网数据的生成效率。同时,基于路口节点的节点类型标识符和节点编码确定路口的第一路口标识,可以为各个路口赋予统一格式的唯一的标识,有助于在路网数据中简明且清楚地表征各个路口。
57.在一些实施例中,节点的节点类型标识符可以被设置为以不同值指示不同节点类型,例如以第一预设值指示节点不属于路口节点,以不同于第一预设值的其他值指示节点属于路口节点。在这样的实施例中,针对多个节点中的每个节点,当该节点的节点类型标识符不等于第一预设值时,可以认为该节点属于路口节点。
58.进一步地,在一些实施例中,路口节点可以被进一步划分为不同类型的路口节点,并可以针对不同类型的路口节点以不同方式确定对应路口的第一路口标识。具体地,针对所确定的多个路口节点中的每个路口节点,可以执行以下步骤:当该路口节点的节点类型标识符等于第二预设值时,可以认为该路口节点属于简单路口节点,并且该简单路口的第一路口标识可以被确定为包括该路口节点的节点编码,其中第二预设值不等于第一预设值;当该路口节点的节点类型标识符等于第三预设值时,可以认为该路口节点属于复合路口的主节点,并且该复合路口的第一路口标识可以被确定为包括该路口节点的节点编码,其中第三预设值不等于第二预设值和第一预设值。此外,示例性地,当该路口节点的节点类型标识符等于第四预设值时,可以认为该路口节点属于复合路口的子节点,其中,该复合路口的第一路口标识根据相应主节点来确定,并且可选地,可以在该路口节点与相应复合路口之间建立映射关系,例如将其加入与该复合路口相关的路口节点集等。如此,路网数据中的简单路口和复合路口的第一路口标识都可以被唯一地确定,并且可以以相同或相似的格式来表征,从而有助于保证路网数据的稳定性和统一性。
59.示例性地,图5a和5b分别示出了根据本公开的一些实施例的简单路口500a和复合路口500b的示意图。在本公开的描述中,简单路口可以理解为仅包括一个交叉节点的路口,例如简单的两条道路交叉的情况或者两条道路相连接并与另一条道路交叉的情况;复合路口可以理解为包括两个或更多个交叉节点的路口,例如较为复杂的多条道路交叉的情况,比如在涉及立交桥时常见的情形。如图5a所示,简单路口500a为两条道路交叉形成,其仅包括一个交叉节点n。如图5b所示,复合路口500b为四条道路交叉形成,其包括n1、n2、n3和n4
四个交叉节点,其中n1可以被认为是该复合路口的主节点,n2、n3和n4可以被认为是该复合路口的子节点。
60.示例性地,节点的节点类型标识符可以由诸如cross_flag的变量来表示。可选地,cross_flag可以被设置为0和其他非0值,以指示该节点为非路口节点或路口节点。由此,针对各个节点,当一节点的cross_flag等于0时,表示该节点不属于路口节点;反之,当其cross_flag不等于0时,表示该节点属于路口节点。进一步可选地,cross_flag可以被设置为0、1、2、3,其中,0表示节点不属于路口节点,2表示节点属于简单路口的路口节点,1表示节点属于复合路口的子节点,3表示节点属于复合路口的主节点。由此,针对各个路口节点,当其cross_flag等于2时,可以根据该路口节点的节点编码确定相应简单路口的第一路口标识;当其cross_flag等于1时,可以根据该路口节点的节点编码确定相应复合路口的第一路口标识。应理解,上述描述仅仅是示例性的,实际上可以采用其他格式的节点类型标识符来表征节点类型,或者也可以按其他标准划分不同的节点类型。
61.示例性地,图4b示意性示出了根据本公开的一些实施例的路网数据生成过程400b。如图4b所示,针对初始地图数据中的各个节点,可以判断其cross_flag是否等于0,若不等于0,则该节点属于路口节点,并可进而确定相应路口,所确定的路口可以被添加至路网数据。随后,可以基于所确定的路口和初始地图数据中的路链,基于每对相邻路口之间的路链确定相应的路段,类似地,所确定的路段也可以被添加至路网数据。接着,可以基于所确定的路段确定相应道路,所确定的道路同样可以被添加至路网数据。由此,最终可以生成路网数据。
62.在一些实施例中,还可以为各个路口确定第二路口标识,即路口信息可以进一步包括第二路口标识,例如语义化路口标识,以便于用户查看和理解。具体地,针对多个路口中的每一个路口,可以至少基于与对应于该路口的路口节点相关的至少两条路链的路链标识,确定该路口的第二路口标识。这种至少部分地基于路链标识确定的第二路口标识可以更直观地反映路口所在位置、所涉及的道路等信息,因此,相比于基于节点编码确定的第一路口标识,第二路口标识对于用户而言更具有可读性。应理解,在本公开的描述中,与路口相关的路链可以被理解为,以路口所涉及的一个或多个路口节点为起始点或终止点的路链。例如,针对简单路口,其仅涉及一个路口节点,则与该简单路口相关的路链包括以该路口节点为起始点或终止点的路链;针对复合路口,其涉及两个或更多个路口节点,则与该复合路口相关的路链可以包括以该两个或更多个路口节点中的任一个为起始点或终止点的路链。或者,在一些实施例中,根据实际需求,针对复合路口,也可能基于其主节点确定相关的路链。
63.示例性地,各个路口的第二路口标识可以根据预设格式来生成,例如可以被统一确定为类似“road1name与road2name交叉口”的标识,其中road1name和road2name分别为与该路口相关的两条路链的路链标识。例如,某个路口可能被命名为“朝阳路与青年路交叉口”,以表示该路口为朝阳路与青年路交叉形成的路口。
64.在一些实施例中,针对多个路口中每一个路口,可以基于至少两条路链的路链标识以及邻近该路口的地标标识,确定该路口的第二路口标识。示例性地,邻近路口可以指在路口附近的预定距离范围内。示例性地,邻近路口的地标标识可以指邻近路口的地铁站、公交站、商场、医院、博物馆、公园、广场等各种建筑物、设施或自然景点等的标识,并且该标识
可以为地标的名称、简称、编码、经纬度坐标等各种类型的标识。可选地,当路口附近存在多个地标时,可以根据预先确定的各个地标的优先级,或者可以通过预设规则(例如根据距离路口的距离大小、根据地标类型、根据地标的知名度等)确定各个地标的优先级,并选择优先级最高的地标的标识来用于确定路口的第二路口标识。引入地标标识,有助于避免因两条道路可能存在多个交叉路口而导致的标识重复的问题,从而有助于保证各个路口的第二路口标识的唯一性。
65.示例性地,各个路口的第二路口标识可以根据预设格式来生成,例如可以被统一确定为类似“road1name与road2name交叉口_[poiname]”的标识,其中road1name和road2name分别为与该路口相关的两条路链的路链标识,poiname为邻近路口的地标标识。例如,某个路口可能被命名为“朝阳路与青年路交叉口_青年路地铁站”,以表示该路口为朝阳路与青年路交叉形成的位于青年路地铁站附近的路口。
[0066]
在一些实施例中,与一个路口相关的路链可能不止两条,在这种情况下,可以随机选择两条路链并基于其路链标识来确定路口的第二路口标识,或者,可以根据某种预设规则来选择两条路链并基于其路链标识来确定路口的第二路口标识,例如基于路链所属于的道路的道路等级、所包括的车道数量、是否为主路或辅路等来选择两条合适的路链。此外,在一些实施例中,每条路链可能存在一个或多个路链标识,例如可能包括路链所属道路的官方名称、常用名称、曾用名称等。例如,一条路链可能同时具有三环、东三环、东三环中路等多个路链标识。类似地,可以随机选择或根据预设规则来选择其中的某个路链标识。
[0067]
示例性地,在确定某路口的第二路口标识时,可以将与对应于该路口的路口节点相关的至少两条路链划分为多个路链组,每组中的一条或多条路链具有相同路链标识;针对每个路链组,可以基于一个或多个路链所具有的相同路链标识确定统一路链标识;然后,可以根据第一预设评价维度,从所确定的多个统一路链标识中确定至少两个目标统一路链标识,其中,第一预设评价维度包括统一路链标识对应的路链的道路等级、车道数量、道路类型中的一项或多项,道路类型包括主路或辅路;最后,可以基于所确定的至少两个目标统一路链标识,确定该路口的第二路口标识。
[0068]
进一步示例性地,在确定统一路链标识时,可以首先对与路口相关的多条路链进行分组,然后为各组路链确定统一路链标识。例如,针对两条具有相同路链标识的路链,可以确定包括该两条路链的路链集合和包括该两条路链的所有路链标识的路链标识集合。然后,可以将另一路链所具有的路链标识与该路链标识集合进行比对,若该另一路链所具有的路链标识中的至少一个与该路链标识集合中的路链标识相同,则将该另一路链加入至该路链集合,并将其与该路链标识集合中的路链标识不同的路链标识添加至该路链标识集合,否则,则不将该另一路链加入至该路链集合,也不将其路链标识加入至该路链标识集合。重复上述过程,直至将与路口相关的所有路链划分为两个或更多个路链集合以及对应的路链标识集合。例如,与某路口相关的路链包括路链1至路链5,其中路链1具有路链标识name1、name2、name3,路链2具有路链标识name2、name1、name4,路链3具有路链标识name1、name5,路链4具有路链标识name6、name7,并且路链5具有路链标识name6、name7、name8,则根据上述规则,可以得到两个路链集合(路链1,路链2,路链3)和(路链4,路链5),并且其分别对应于路链标识集合(name1,name2,name3,name4,name5)和(name6,name7,name8)。随后,可以为每个路链集合中的路链确定统一路链标识。示例性地,可以随机选择相应路链标
识集合中的路链标识作为统一路链标识,或者可以根据预设规则选择某个路链标识作为统一路链标识。例如,可以基于路链标识在各个路链的路链标识列表中出现的次数和/或排列顺序来为各个路链标识打分,并将得分最高(例如出现次数最多且排序相对靠前)的路链标识作为路链集合内所有路链的统一路链标识。例如,针对上述两个路链集合(路链1,路链2,路链3)和(路链4,路链5),其对应的统一路链标识可能分别为name1和name6。
[0069]
在一些实施例中,当在所确定的统一路链标识中,根据第一预设评价维度确定两个目标统一路链标识,以及进而确定路口的第二路口标识时,可以根据实际需求选择不同的第一预设评价维度和/或评价手段。
[0070]
示例性地,第一预设评价维度可以包括道路等级、车道数量等,其中,可选地,当根据评价结果确定两个目标统一路链标识时,可以依次根据道路等级和车道数量进行选择,即:在所确定的统一路链标识中,可以基于对应道路的道路等级最高的两个统一路链标识或者道路等级最高和次高的两个统一路链标识来确定该路口的第二路口标识,并且可选地,道路等级最高的统一路链标识可以作为上文提到的road1name,道路等级次高的统一路链标识可以作为上文提到的road2name,或者,若两个同一路链标识对应的道路等级相同,则可以根据车道数量确定两者的重要程度,例如可以将车道数量更多的统一路链标识作为上文提到的road1name,另一个作为road2name;若对应道路的道路等级最高的统一路链标识的数量大于两个,也可类似地根据车道数量进行进一步的判断,选择车道数量较多的两个统一路链标识来生成路口的第二路口标识,或者,也可以进一步基于其他指标来确定两个合适的统一路链标识。类似地执行的方案可能更加适合于路口相关路链数量较少的情况。可选地,当路口为简单路口时,可以采取类似方案。
[0071]
示例性地,第一预设评价维度可以包括道路等级、车道数量、是否为主路或辅路等,其中,可选地,当确定两个目标统一路链标识时,可以首先针对所有统一路链标识,判断所对应道路中是否同时存在主路和相应的辅路,若存在,可以筛除辅路对应的统一路链标识,例如,可以通过对应路链的属性来判断是否为辅路,若为辅路并存在对应的主路,则筛除对应部分的路链并筛除对应的统一路链标识;若为辅路但不存在对应的主路,则不做筛除处理。进而,可以统计剩余统一路链标识的数量,若等于2,则可以按照道路等级、车道数量或者可选的其他指标来确定路口的第二路口标识,例如类似前文所述那样依次根据这些指标来确定road1name和road2name;若大于2,则可以基于道路等级、车道数量和/或其他可选指标对所有统一路链标识进行打分,不同指标可以具有不同的权重,例如道路等级权重可以最高,其次为是否为主路或辅路,最后为车道数量等,打分结果最高和次高的两个统一路链标识可以被用于确定路口的第二路口标识,例如依次被确定为前文提及的road1name和road2name。类似地执行的方案可能适合于路口相关路链数量较多的情况。可选地,当路口为复合路口时,可以采取类似方案。
[0072]
此外,示例性地,可以直接基于道路等级、车道数量、是否为主路或辅路等指标为各个统一路链标识打分,可选地,各指标可以被赋予不同的权重,并基于打分结果确定两个目标统一路链标识,来确定路口的第二路口标识。或者,本领域技术人员也可以基于本公开中的描述设想更多评价方案。
[0073]
通过上述基于与路口相关的至少两条路链确定两个目标统一路链标识,并进而确定该路口的第二路口标识的机制,有助于解决存在多条相关路链时的路口的第二路口标识
的确定问题。并且,由于引入了上述第一预设评价维度,可以保证所选择的两个统一路链标识为相对更重要的路链的路链标识,从而所确定的路口的第二路口标识可以更易于被用户理解和接受,也更符合一般的表达习惯。
[0074]
在一些实施例中,确定路段信息可以包括确定路段的第一路段标识。示例性地,针对每条路段,针对多条路段中的每一条路段,可以至少基于与该路段相关的路口的第一路口标识,确定该路段的第一路段标识,或者,可以针对多条路段中的每一条路段,至少基于与该路段相关的路口节点的节点编码,确定该路段的第一路段标识。示例性地,可以基于路段两端的路口的第一路口标识(比如编码形式的第一路口标识)来确定该路段的第一路段标识。例如,可以将两个路口的第一路口标识的组合作为该路段的第一路段标识。或者,示例性地,针对每条路段,可以基于与该路段相关的节点的节点编码,确定该路段的第一路段标识。示例性地,可以基于路段两端的节点(比如路口节点)的节点编码来确定该路段的第一路段标识。例如,可以将两个节点的节点编码的组合作为该路段的第一路段标识。
[0075]
示例性地,图6示出了根据本公开的一些实施例的确定路段的第一路段标识的示意图600。如图所示,可以根据路链的方向和/或聚合次序(或其逆序),将路段的起始节点/路口的id(即起始节点的节点编码或起始路口的第一路口标识)与终止节点/路口的id(即起始节点的节点编码或起始路口的第一路口标识)组合为路段id(即路段的第一路段标识)。此外,可选地,可以引入附加编码,以进一步保证路段的第一路段标识的唯一性。换言之,可以基于与该路段相关的路口的第一路口标识以及根据第一预设规则生成的附加编码,确定该路段的第一路段标识;或者,可以基于与该路段相关的节点的节点编码以及根据第一预设规则生成的附加编码,确定该路段的第一路段标识。示例性地,根据第一预设规则生成的附加编码可以为基于geomesh算法得到的后五位或其他位数的整数、随机生成的预设位数的整数或根据其他规则生成的编码。在geomesh算法中,初始地图数据或路网数据可以被划分为多个网格,每个网格可以具有唯一的编码,进而可以根据路段所处于的一个或几个网格的编码,来得到对应的附加编码。例如,如图所示,可以在起始节点/路口的id与终止节点/路口的id后面添加五位整数xxxxx作为附加编码。
[0076]
在一些实施例中,确定路段信息可以包括确定路段的第二路段标识。示例性地,在基于相邻路口之间的一条或多条路链确定一条路段后,可以基于该一条或多条路链的路链标识确定该路段的第二路段标识。示例性地,针对多条路段中的每条路段,可以从该路段所包含的所有路链的路链标识中,根据第二预设评价维度,确定最优路链标识,其中,第二预设评价维度包括路链标识排序、路链标识出现次数中的一项或多项;然后,可以至少基于该路段的最优路链标识,确定该路段的第二路段标识。可选地,针对多条路段中的每条路段,可以基于所确定的该路段的最优路链标识和与该路段相关的路口的第二路口标识,确定该路段的第二路段标识。
[0077]
如前文所提及的,每条路链可能具有一个或多个路链标识,一条路段所包含的一条或多条路链的所有路链标识可以构成一个集合。可选地,可以基于第二预设评价维度中的各项指标对集合中的路链标识进行打分,并将得分最高的路链标识确定为最优路链标识。例如,可以根据路链标识排序、路链标识出现次数等指标对各路链标识进行打分,其中,可选地,各指标可以具有不同权重,例如路链标识排序的权重可以高于标识出现次数。在此,路链标识排序可以理解为路链标识在相应路链的多个路链标识中的排列位次,路链标
识出现次数可以理解为路链标识在各个路链的路链标识中出现的次数。可选地,所确定的最优路链标识可以直接作为路段的第二路段标识或其一部分。
[0078]
示例性地,各个路段的第二路段标识可以根据预设格式来生成,例如可以被统一确定为类似“road1name:road2name至road3name路段”的标识,其中road1name为上述确定的最优路链标识,road2name和road3name可以分别为为两个路口的第二路口标识所涉及的路链标识去掉与road1name重复的标识之后的标识。示例性地,图7示出了根据本公开的一些实施例的确定路段第二路段标识的示意图700。图7示出了两个路口以及两个路口之间的一条路段,其中,左侧的路口的第二路口标识为“路1与朝阳路的交叉口”,右侧的路口的第二路口标识为“路3与朝阳路的交叉口”,假设所确定的最优路链标识为“朝阳路”,则左侧路口的第二路口标识去掉与“朝阳路”重复的标识后为“路1”,右侧路口的第二路口标识去掉与“朝阳路”重复的标识后为“路3”,从而,该路段的第二路段标识可以根据前述格式而被确定为“朝阳路:路1至路3路段”。可选地,诸如“路1”和“路3”的顺序可以根据路链的方向或聚合方向或其反方向来确定。
[0079]
根据上文描述的各种实施例,路口的第一或第二路口标识以及路段的第一或第二路段标识的确定过程不会受到两个路口之间的节点或路链的局部变化的影响,从而有助于屏蔽路口间的内部节点或路链变化。示例性地,图8示出了根据本公开的一些实施例的描述节点变化的影响的示意图800。图8上侧示出了变化前的路网结构,下侧示出了变化后的路网结构,其中节点n的位置变化为n’的位置。这种变化可能在道路施工、重修或测绘失误等情况下出现,但是在本公开提供的方案中,这类变化不会引起路口的第一或第二路口标识的变动,即,图中所示的两个路口的第一路口标识依然可以是基于相应路口节点的节点编码确定的,第二路口标识依然可以是基于相关路链的路链标识确定的,这些信息并不会因为节点n的位置变化而变化。类似地,这类变化也不会引起路段的第一或第二路段标识的变动。因此,根据本公开的实施例确定的第一和/或第二路口标识以及第一和/或第二路段标识具有良好的稳定性和唯一性。
[0080]
在一些实施例中,在确定了多条路段后,可以以任一路段为起始路段,并查找可与起始路段或所查找的上一路段连通并具有部分相同的路段标识的路段,直到找不到可连通并具有部分相同的路段标识的路段为止。查找到的各路段的集合可以被确定为一条道路。
[0081]
在一些实施例中,确定路段信息和道路信息可以包括:针对多条路段中的每条路段,基于该路段所包含的所有路链的路链标识,确定该路段的第二路段标识;将多条路段划分为多个路段组,每个路段组中的一条或多条路段具有至少部分相同的第二路段标识;基于所划分的多个路段组,确定道路信息。示例性地,可以根据前文所描述的实施例确定各路段的第二路段标识。例如,两条路段的第二路段标识可以分别被确定为“road1name:a路至b路路段”和“road1name:b路至c路路段”,则这两条路段的第二路段标识可以被认为是部分相同的,其包括相同的标识部分“road1name”,因此,这两条路段可以被划分为一个路段组,并被用于确定一条道路。
[0082]
示例性地,针对所划分的每个路段组,可以依次执行以下步骤:起始路段确定步骤:在该路段组中,根据第三预设评价维度,将评价结果最优的路段确定为起始路段,并作为当前路段,所述第三预设评价维度包括道路等级、车道数量、路段长度、道路类型、特殊道路属性中的一个或多个,所述道路类型包括主路或辅路;连通路段查找步骤:在该路段组
中,查找可与当前路段连通的路段;跳转判断步骤:响应于在该路段组中查找到至少一个可与当前路段连通的路段,将查找到的至少一个路段之一作为新的当前路段,并且跳转执行所述连通路段查找步骤;否则,执行道路确定步骤;道路确定步骤:基于起始路段和所查找到的各路段,确定相应的道路。可与当前路段连通的路段可以理解为:当沿当前路段的延伸方向查找路段时,以当前路段的终止节点为起始节点的路段可被认为是与可当前路段连通的路段;或者,当沿与当前路段的延伸方向相反的方向查找路段时,以当前路段的起始节点为终止节点的路段可被认为是与可当前路段连通的路段。根据第三预设评价维度确定评价结果最优的路段的评价过程可以参考上文描述的其他评价过程来实现,例如根据一项或多项等权重或非等权重的指标对各个路段进行打分,并将得分最高的路段确定为评价结果最优的路段;或者,依次根据一项或多项指标筛选得到最优的路段,等等。可选地,上述第三预设评价维度涉及的指标的权重排序或筛选次序可以被设置为:道路等级>车道数量>连通道路长度>是否为主路或辅路>特殊道路属性,或者也可以根据实际需求设置其他次序。
[0083]
通过根据第三预设评价维度确定起始路段,有助于避免遗漏重要路段,并有利于促进所生成的路网数据的完备性。例如,一条道路可能存在若干分叉或汇合点,并可能具有主体道路路段和用于与其他道路连通或用于绕行等的辅助性路段,比如当立交桥道路与其他道路进行连通时,可以存在从主体道路分出的若干辅助性路段。通常情况下,人们更为关注的是主体道路路段,而非这些辅助性路段,若将这种辅助性路段作为起始路段,则存在遗漏某些更为重要的路段的可能性,这将是不期望的。
[0084]
在一些实施例中,在于路段组中查找可与当前路段连通的路段以得到新的当前路段时,当在该路段组中,可与当前路段连通的路段的数量大于或等于二时,可以将与当前路段的延伸方向的夹角最小和/或与当前路段的评价结果最接近的路段作为新的当前路段。这同样有助于避免遗漏重要路段,并有利于促进所生成的路网数据的完备性。
[0085]
在一些实施例中,确定道路信息可以包括确定道路的第一道路标识。示例性地,针对每条道路,可以至少基于与该道路相关的路口的第一路口标识,确定该道路的第一道路标识。或者,示例性地,针对每条道路,可以至少基于与该道路相关的节点的节点编码,确定该道路的第一道路标识。此外,可选地,可以引入附加编码,以进一步保证道路的第一道路标识的唯一性。换言之,可以基于与该道路相关的路口的第一路口标识以及根据第一预设规则生成的附加编码,确定该道路的第一道路标识;或者,可以基于与该道路相关的节点的节点编码以及根据第一预设规则生成的附加编码,确定该道路的第一道路标识。上述过程可以类似于路段的第一路段标识的确定过程,在此不再赘述。
[0086]
在一些实施例中,确定道路信息可以包括确定道路的第二道路标识。示例性地,针对每条道路,可以基于对应路段组中的一条或多条路段所具有的至少部分相同的第二路段标识,确定该道路的第二道路标识。例如,假如一条道路所包括的两条或更多条路段具有road1name标识,则该道路的第二道路标识可以被确定为road1name或包含road1name的其他标识。
[0087]
在一些实施例中,获取到初始地图数据后,可以先对所获取的初始地图数据进行预处理,以便筛除部分冗余信息,以提高后续处理效率。示例性地,所获取的初始地图数据可以进一步包括关于多条路链的路链属性和/或等级,由此,在基于节点信息确定关于多个路口的路口信息之前,可以根据预设的路链属性和/或等级和关于多条路链的路链属性和/
或等级,对路链信息和节点信息进行更新。
[0088]
例如,在初始地图数据中,各条路链可以具有道路等级参数,其不同取值可以表示该路链所属于的道路为不同等级的道路。比如,道路等级可以用诸如kindclass的变量来表达,当其等于01时,可以表示城市快速路;等于02时,可以表示国道;等于03时,可以表示省道;等于04时,可以表示县道;等于06时,可以表示乡镇村道;等于08时,可以表示其他道路;等于09时,可以表示九级路;等于0a时,可以表示轮渡;等于0b时,可以表示行人道路;等于0c时,可以表示人渡;等于0d时,可以表示自行车专用道;等于0e时,可以表示索道;等等。可选地,基于应用目的,可以选择仅基于部分等级的道路生成路网数据,比如,可以仅基于城市快速路(01)、国道(02)、省道(03)、县道(04)、乡镇村道(06)生成路网数据,由此,可以预先筛除其他等级的道路,避免其对路网数据的生成过程造成干扰,同时降低所需要处理的数据量。
[0089]
替代地或附加地,例如,在初始地图数据中,部分路链可以具有特殊道路属性,其可以通过一个或多个变量参数来体现。示例性地,根据应用目的,可以预先筛除部分具有特殊道路属性的道路。这同样有利于避免这些数据对路网数据的生成过程造成干扰,同时有利于降低后续需要处理的数据量。例如,当欲基于重要道路生成路网数据时,可以预先筛除具有以下特殊道路数据的路链,比如:高速公路出入口(ic=yes)、高速公路连界面(jc=yes)、停车区(pa=yes)、服务区(sa=yes)、步行街(walking

street=yes)、未定义交通区域(eta

link=yes)、地标连接路(service

link=yes)、公交专用道(buslane=yes)、提前右转(right

turn=yes)、区域内道路(structure

link=yes)、提前左转(left

turn=yes)、调头口(u

turn=yes)、主辅路出入口(entrance/exit

link=yes)、虚拟链接路、停车位引导路(park

link=yes)、停车场出入口连接路(entrance/exit

park=yes)等。
[0090]
图9a和9b分别示意性示出了根据相关技术(即前文提及的由道路拆分为路口和路段的方案)和本公开提供的路网数据生成方法生成的路网数据的示例900a和900b。作为示例,两者均是基于惠州市同一区域的初始地图数据生成的。由图可见,相较于根据相关技术生成的路网数据示例900a,根据本公开提供的路网生成方法生成的路网数据示例900b明显更加完备,可以体现出诸多在相关技术中被遗漏的道路/路段,从而能够更好地保证路网数据的完整性。在图9a和9b中,实线表示道路,点状阴影表示水系,斜线阴影表示绿地,但这并非必要的,所生成的路网数据可以仅反映路口、路段和/或道路信息,或者也可以反映更多其他信息。示例性地,针对图9b所示的根据本公开提供的路网生成方法生成的路网数据示例900b,可以附加地呈现各条道路的道路标识,例如根据前文所述的方法确定的第一道路标识和/或第二道路标识,还可以附加地呈现各个路口的路口标识,例如根据前文所述的方法确定的第一和/或第二路口标识,或者,还可以附加地呈现各个路口或部分路口附近的地标标识及位置,等等各种信息。为简洁起见,附图中未示出类似的附加信息。
[0091]
此外,发明人还基于北京市的初始地图数据进行了对比实验,实验结果表明,使用相关技术方案得到的路段数量为2万+,使用本本公开提供的方案得到的路段数量增加至13万+,更加接近实际路段数量。由此可以表明,本公开提供的路网数据生成方案有助于生成完备的路网数据。
[0092]
图10示意性示出了根据本公开的一些实施例的路网数据生成装置1000的示例框图。如图10所示,路网数据生成装置1000包括获取模块1010、第一确定模块1020、第二确定
模块1030和生成模块1040。示例性地,该路网数据生成装置1000可以部署于图1所示的服务器110上。
[0093]
具体而言,获取模块1010可以被配置为获取初始地图数据,初始地图数据包括关于多条路链的路链信息和关于多个节点的节点信息,多个节点中的每个节点为至少两条路链的交点;第一确定模块1020可以被配置为基于节点信息,确定关于多个路口的路口信息;第二确定模块1030可以被配置为基于路口信息和路链信息,确定关于多条路段的路段信息和关于至少一条道路的道路信息,多条路段中每条路段表示相邻两个路口之间的一条或多条路链的集合,道路表示依次首尾相接的多条路段的集合;生成模块1040可以被配置为基于路口信息、路段信息和道路信息中的至少一个,生成路网数据。
[0094]
应理解,装置1000可以以软件、硬件或软硬件相结合的方式实现。多个不同模块可以在同一软件或硬件结构中实现,或者一个模块可以由多个不同的软件或硬件结构实现。
[0095]
此外,装置1000可以用于实施前文所描述的方法400,其相关细节已经在前文中详细描述,为简洁起见,在此不再重复。装置1000可以具有与关于前述方法描述的相同的特征和优势。
[0096]
图11示意性示出了根据本公开的一些实施例的计算设备1010的示例框图。例如其可以代表图1中的服务器110或可以用于部署本公开提供的装置1000的其他类型的计算设备。
[0097]
如图所示,示例计算设备1100包括彼此通信耦合的处理系统1101、一个或多个计算机可读介质1102以及一个或多个i/o接口1103。尽管未示出,但是计算设备1100还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传送系统。系统总线可以包括不同总线结构的任何一个或组合,上述总线结构可以是诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任何一种的处理器或局部总线,或者还可以包括诸如控制和数据线。
[0098]
处理系统1101代表使用硬件执行一个或多个操作的功能。因此,处理系统1101被图示为包括可被配置为处理器、功能块等的硬件元件1104。这可以包括在硬件中实现专用集成电路或使用一个或多个半导体形成的其它逻辑器件。硬件元件1104不受其形成材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(ic))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
[0099]
计算机可读介质1102被图示为包括存储器/存储装置1105。存储器/存储装置1105表示与一个或多个计算机可读介质相关联的存储器/存储装置。存储器/存储装置1105可以包括易失性存储介质(诸如随机存取存储器(ram))和/或非易失性存储介质(诸如只读存储器(rom)、闪存、光盘、磁盘等)。存储器/存储装置1105可以包括固定介质(例如,ram、rom、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。示例性地,存储器/存储装置1105可以用于存储上文实施例中提及的初始地图数据、所生成的路网数据以及过程中生成的各种其他数据等。计算机可读介质1102可以以下面进一步描述的各种其他方式进行配置。
[0100]
一个或多个输入/输出接口1103代表允许用户向计算设备1100键入命令和信息并且还允许使用各种输入/输出设备将信息呈现给用户和/或发送给其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描
仪、触摸功能(例如,被配置为检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)、网卡、接收机等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、触觉响应设备、网卡、发射机等。示例性地,在上文描述的实施例中,可以通过输入设备允许用户输入各种指令、提供初始地图数据等,可以通过输出设备允许用户查看数据处理进度、查看所生成的路网数据等。
[0101]
计算设备1100还包括路网数据生成应用1106。路网数据生成应用1106可以作为计算程序指令存储在存储器/存储装置1105中。路网数据生成应用1106可以连同处理系统1101等一起实现关于图10描述的装置1000的各个模块的全部功能。
[0102]
本文可以在软件、硬件、元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”、“功能”等一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
[0103]
所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备1100访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
[0104]
与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于ram、rom、eeprom、闪存或其它存储器技术、cd

rom、数字通用盘(dvd)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以由计算机访问的制品。
[0105]“计算机可读信号介质”是指被配置为诸如经由网络将指令发送到计算设备1100的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任何信息传递介质。作为示例而非限制,信号介质包括诸如有线网络或直接连线的有线介质以及诸如声、rf、红外和其它无线介质的无线介质。
[0106]
如前所述,硬件元件1101和计算机可读介质1102代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本文描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统、专用集成电路(asic)、现场可编程门阵列(fpga)、复杂可编程逻辑器件(cpld)以及硅中的其它实现或其他硬件设备的组件。在这种上下文中,硬件元件可以作为执行由硬件元件所体现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及用于存储用于执行的指令的硬件设备,例如,先前描述的计算机可读存储介质。
[0107]
前述的组合也可以用于实现本文所述的各种技术和模块。因此,可以将软件、硬件
或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1101体现的一个或多个指令和/或逻辑。计算设备1100可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用处理系统的计算机可读存储介质和/或硬件元件1101,可以至少部分地以硬件来实现将模块实现为可由计算设备1100作为软件执行的模块。指令和/或功能可以由例如一个或多个计算设备1100和/或处理系统1101执行/可操作以实现本文所述的技术、模块和示例。
[0108]
本文描述的技术可以由计算设备1100的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。
[0109]
应当理解,为清楚起见,参考不同的功能单元对本公开的实施例进行了描述。然而,将明显的是,在不偏离本公开的情况下,每个功能单元的功能性可以被实施在单个单元中、实施在多个单元中或作为其它功能单元的一部分被实施。例如,被说明成由单个单元执行的功能性可以由多个不同的单元来执行。因此,对特定功能单元的参考仅被视为对用于提供所描述的功能性的适当单元的参考,而不是表明严格的逻辑或物理结构或组织。因此,本公开可以被实施在单个单元中,或者可以在物理上和功能上被分布在不同的单元和电路之间。
[0110]
本公开提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令在被执行时实现上述路网数据生成方法。
[0111]
本公开提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行上述各种实施例中提供的路网数据生成方法。
[0112]
通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除其他元件或步骤,并且“一”或“一个”不排除多个。在相互不同的从属权利要求中记载某些措施的纯粹事实并不表明这些措施的组合不能用来获利。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1