CN115346012B - 路口面的生成方法、装置、设备、存储介质和程序产品 - Google Patents
路口面的生成方法、装置、设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN115346012B CN115346012B CN202210998820.9A CN202210998820A CN115346012B CN 115346012 B CN115346012 B CN 115346012B CN 202210998820 A CN202210998820 A CN 202210998820A CN 115346012 B CN115346012 B CN 115346012B
- Authority
- CN
- China
- Prior art keywords
- intersection
- road
- node
- composite
- points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 239000002131 composite material Substances 0.000 claims abstract description 363
- 238000005520 cutting process Methods 0.000 claims abstract description 80
- 238000004590 computer program Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 33
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 150000001875 compounds Chemical class 0.000 claims description 9
- 238000009499 grossing Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 abstract description 9
- 238000013473 artificial intelligence Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 26
- 238000005516 engineering process Methods 0.000 description 23
- 230000000694 effects Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000001788 irregular Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 241000274965 Cyrestis thyodamas Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3815—Road data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3863—Structures of map data
- G01C21/3867—Geometry of map features, e.g. shape points, polygons or for simplified maps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/64—Analysis of geometric attributes of convexity or concavity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请涉及一种路口面的生成方法、装置、计算机设备、存储介质和计算机程序产品。该方法可应用于地图领域,可应用在车辆导航、人工智能、智慧交通、辅助驾驶、车载终端等各种场景,所述方法包括:确定复合节点路口,复合节点路口包括至少两个单节点路口;根据复合节点路口的路口信息,获得复合节点路口的道路面;分别确定至少两个单节点路口中每个单节点路口的路口面;根据各单节点路口的路口面,生成复合节点路口的复合路口面;将复合路口面裁剪进道路面,得到复合节点路口的路口面。可以在依赖较少的原始数据的前提下,简单、高效、高质量生成复合节点路口面,无须引入复杂的计算策略规避极端情况,鲁棒性强,节省计算资源。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种路口面的生成方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术与互联网技术的快速发展,车道级高精度地图、普通地图、城市道路模型等用于模拟城市道路状况的虚拟地图产品层出不穷,为人们的日常出行带来了便利。
在一些情况下,需要使用原始的路网数据生成道路元素,尤其是在部分地区高精度地图数据缺失的情况下,需要依据普通地图生成一些道路元素,从而在没有高精度地图数据的地方获得近似于高精度地图的效果。对于缺乏高精度地图数据的地区,路口面是生成虚拟地图所需要的道路元素之一。
目前,生成复合节点路口的路口面,不仅需要道路形态和道路拓扑数据,还需要路径指示信息,而路径指示信息采集的成本较高,且具有一定的时效性,且覆盖的范围也比较有限。也就是,相关技术中不仅需要依赖的原始数据较多,且鲁棒性较差,成本较高,难以大范围自动化生成复合节点路口的路口面。
发明内容
基于此,有必要针对上述技术问题,提供一种路口面的生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,该路口面的生成方法,鲁棒性强、依赖的原始数据少、无须引入复杂的计算策略规避极端情况。
第一方面,本申请提供了一种路口面的生成方法。所述方法包括:
确定复合节点路口,所述复合节点路口包括至少两个单节点路口;
根据所述复合节点路口的路口信息,获得所述复合节点路口的道路面;
分别确定所述至少两个单节点路口中每个所述单节点路口的路口面;
根据各所述单节点路口的路口面,生成所述复合节点路口的复合路口面;
将所述复合路口面裁剪进所述道路面,得到所述复合节点路口的路口面。
第二方面,本申请还提供了一种路口面的生成装置。所述装置包括:
确定模块,用于确定复合节点路口,所述复合节点路口包括至少两个单节点路口;
道路面生成模块,用于根据所述复合节点路口的路口信息,获得所述复合节点路口的道路面;
单节点路口面生成模块,用于分别确定所述至少两个单节点路口中每个所述单节点路口的路口面;
复合路口面生成模块,用于根据各所述单节点路口的路口面,生成所述复合节点路口的复合路口面;
裁剪模块,用于将所述复合路口面裁剪进所述道路面,得到所述复合节点路口的路口面。
在一个实施例中,所述确定模块,还用于当至少两个单节点路口各自的路网数据中,包括相同的复合节点路口标识时,确定所述至少两个单节点路口形成所述复合节点路口标识对应的复合节点路口。
在一个实施例中,所述道路面生成模块,还用于获取所述复合节点路口所包括的每个单节点路口各自的路网数据;根据所述路网数据确定连接至每个所述单节点路口的至少两条道路,得到所述复合节点路口所包括的多条道路;对于每条道路,获取相应的道路信息,所述道路信息包括道路等级、车道数量和车道宽度中的至少一种;根据所述道路信息确定各所述道路对应的道路宽度,按拓各自的道路宽度拓宽各所述道路,得到所述道路的道路面;根据每条所述道路的道路面,得到所述复合节点路口的道路面。
在一个实施例中,所述单节点路口面生成模块,还用于对于每个单节点路口,确定连接至所述单节点路口的至少两条道路;获取约束条件和目标函数;其中,所述目标函数用于指示所述单节点路口的路口面的区域大小的求解目标,所述约束条件用于指示所述区域大小的限制条件,所述约束条件包括所述至少两条道路中每两条相邻的所述道路的偏置变量之间的约束关系,所述目标函数包括至少两个所述偏置变量,每个所述偏置变量用于指示所述单节点路口到对应的道路的切线之间的距离情况;根据所述至少两条道路中各所述道路的道路面宽度以及所述约束条件对所述目标函数进行求解,得到所述道路的偏置距离;基于所述道路的道路面宽度和所述道路的偏置距离生成所述单节点路口的路口面。
在一个实施例中,所述单节点路口面生成模块,还用于根据每两条相邻的所述道路的道路面宽度和对应的道路的偏置变量确定所述每两条相邻的道路之间的夹角信息;其中,所述夹角信息用于指示相邻的两条所述道路各自对应的切线之间的相交情况;根据所述每两条相邻的道路之间的夹角信息构建约束条件。
在一个实施例中,所述单节点路口面生成模块,还用于获取第一道路与第二道路之间的夹角,所述第一道路与所述第二道路为所述至少两条道路中相邻的道路;获取所述第一道路与所述第一道路的道路面右侧边线之间的第一夹角,以及所述第二道路与所述第二道路的道路面左侧边线之间的第二夹角,以及所述第一道路的道路面右侧边线与所述第二道路的道路面左侧边线之间的第三夹角;基于所述第一道路与第二道路之间的夹角,以及所述第一夹角、所述第二夹角和所述第三夹角构建约束条件。
在一个实施例中,所述复合路口面生成模块,还用于根据每个所述单节点路口的路口面所包括的形状点,得到第一形状点集合;根据所述第一形状点集合,计算包围所述第一形状点集合中所有形状点的最小凸多边形,得到所述复合节点路口的复合路口面。
在一个实施例中,所述裁剪模块,还用于确定所述复合节点路口的道路面所包括的每条道路的道路面边线;确定所述复合节点路口的复合路口面的边界线与所述道路面边线的交点,得到所述复合路口面的裁剪点所形成的裁剪点集合;确定所述裁剪点集合中每两个相邻的所述裁剪点;在所述复合路口面上所述每两个相邻的所述裁剪点之间进行平滑处理,得到所述复合节点路口的路口面。
在一个实施例中,所述裁剪模块,还用于确定所述复合路口面的形状点所形成的第二形状点集合,所述形状点存在先后顺序;对于所述裁剪点集合中的每个裁剪点,计算所述裁剪点在所述第二左邻形状点与右邻形状点;对于所述裁剪点集合中的每个裁剪点,按相应的目标形状点的先后顺序进行排序,根据排序结果确定所述裁剪点集合中每两个相邻的所述裁剪点,所述目标形状点为左邻形状点或右邻形状点。
在一个实施例中,所述平滑曲线为贝塞尔曲线,所述裁剪模块,还用于将所述两个相邻的所述裁剪点,分别沿着所述裁剪点所在的道路面边线,向所述道路面边线所连接至的所述单节点路口的方向延长,得到两个控制点;根据所述两个相邻的所述裁剪点与所述两个控制点,生成所述贝塞尔曲线。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
确定复合节点路口,所述复合节点路口包括至少两个单节点路口;
根据所述复合节点路口的路口信息,获得所述复合节点路口的道路面;
分别确定所述至少两个单节点路口中每个所述单节点路口的路口面;
根据各所述单节点路口的路口面,生成所述复合节点路口的复合路口面;
将所述复合路口面裁剪进所述道路面,得到所述复合节点路口的路口面。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
确定复合节点路口,所述复合节点路口包括至少两个单节点路口;
根据所述复合节点路口的路口信息,获得所述复合节点路口的道路面;
分别确定所述至少两个单节点路口中每个所述单节点路口的路口面;
根据各所述单节点路口的路口面,生成所述复合节点路口的复合路口面;
将所述复合路口面裁剪进所述道路面,得到所述复合节点路口的路口面。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
确定复合节点路口,所述复合节点路口包括至少两个单节点路口;
根据所述复合节点路口的路口信息,获得所述复合节点路口的道路面;
分别确定所述至少两个单节点路口中每个所述单节点路口的路口面;
根据各所述单节点路口的路口面,生成所述复合节点路口的复合路口面;
将所述复合路口面裁剪进所述道路面,得到所述复合节点路口的路口面。
上述路口面的生成方法、装置、计算机设备、存储介质和计算机程序产品,对于包括至少两个单节点路口的复合节点路口,只需要根据该复合节点路口的路口信息,获得该复合节点路口的道路面,根据所包括的每个单节点路口的路口面,生成该复合节点路口的复合路口面,再将该复合路口面裁剪进该道路面,就可以得到该复合节点路口的路口面,可以在依赖较少的原始数据的前提下,简单、高效、高质量生成复合节点路口面,无须引入复杂的计算策略以规避极端情况,鲁棒性强,节省计算资源。
附图说明
图1为一个实施例中路口面的生成方法的应用环境图;
图2为一个实施例中路口面的生成方法的流程示意图;
图3为一个实施例中单节点路口的示意图;
图4为一个实施例中复合节点路口的示意图;
图5为一个实施例中复合节点路口的道路面的效果示意图;
图6为一个实施例中生成的每个单节点各自的路口面的示意图;
图7为一个实施例中复合节点路口的复合路口面的示意图;
图8为另一个实施例中复合节点路口的复合路口面的示意图;
图9为又一个实施例中复合节点路口的复合路口面的示意图;
图10为一个实施例中复合路口面与道路面的效果示意图;
图11为一个实施例中复合路口面上的裁剪点的示意图;
图12为一个实施例中不规则形状的复合节点路口的路口面的示意图;
图13为一个实施例中对复合路口面上的裁剪点进行重排序的流程图;
图14为一个实施例中平滑连接裁剪点的效果示意图;
图15为一个实施例中贝塞尔曲线平滑连接的示意图;
图16为一个实施例中生成的复合节点路口的路口面的示意图;
图17为一个实施例中单节点路口的道路面的示意图;
图18为一个实施例中道路的切线相交的示意图;
图19为一个实施例中切线间不相交或在切线端点处相交的示意图;
图20为一个具体的实施例中生成复合节点路口面的流程示意图;
图21为一个实施例中路口面的生成装置的结构框图;
图22为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的路口面的生成方法,可以应用于高精度虚拟地图、普通精度地图、城市道路模型等各种虚拟地图产品中,可以用于可视化呈现包括多个路口的道路区域。该路口面的生成方法,可以理解为是对地图原始数据的编译的过程,即作为一个承上启下的环节,对原始地图数据进行加工、处理,生成更紧凑、更易于使用的文件或数据。编译得到的数据可以提供给上层(如地图导航、定位技术、地图渲染等)调用。示例性的,生成的复合节点路口的路口面数据,能够为导航引擎提供路口处的底图数据,增强导航界面的可视化效果,并且还可以为自动驾驶在路口处决策的情况下,或者使用电子地图进行行驶决策时的对象,如驾驶员等提供数据支持,防止车辆行驶超出路口范围,从而降低路口处事故发生的概率,提升自动驾驶的安全性。
本申请提供的生成路口面的方法,至少涉及以下的智能交通系统、云计算、计算机视觉技术等技术。示例性的,可以通过电子地图中的路网数据,生成单节点路口的路口面,以及复合节点路口的道路面、路口面。在一些示例中,也可以利用智能交通系统,以基于路口面的位置信息、轮廓等为驾驶员等驾驶对象提供智能导航路线服务。或者,终端设备也可以利用计算机视觉技术等,以在导航应用页面或者地图页面中更加真实、清晰的展示路口面对应的高精度三维图像。
智能交通系统(intelligent traffic system,ITS)又称智能运输系统(Intelligent Transportation System),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。其中,智慧交通、车联网、自动驾驶、无人驾驶等技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,目前有着广泛的应用前景。
计算机视觉技术(computer vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、踪迹追溯和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
目前,车道级导航主要使用高精度地图数据,然而由于高精度地图的覆盖面积比较有限,比如有些城市五环外才有高精度地图数据,五环内是没有的。为了在没有高精度地图数据的地方获得近似于高精度地图的效果,需要用算法根据标准精度地图(即普通导航地图)生成一些道路元素,复合节点的路口面数据作为道路元素之一,需要通过原始的路网数据生成。
相关技术中,生成复合节点的路口面的方式,主要缺点是依赖的原始数据较多,除了道路形态和道路拓扑数据之外,还需要路径指示信息(如左转、右转、直行等),而路径指示信息采集的成本较高,具有一定的时效性,覆盖的范围也比较有限,有些路口甚至无法采集到相应的路径指示信息。这就导致相关技术的鲁棒性较差,即抗干扰性差,很多特殊情况还需要人工介入处理,成本较高,难以大范围全自动化生成复合节点路口的路口面。
基于此,为了解决上述所提及的技术问题,本申请实施例提供了一种路口面的生成方法,对于包括至少两个单节点路口的复合节点路口,只需要根据该复合节点路口的路口信息,获得该复合节点路口的道路面,根据所包括的每个单节点路口的路口面,生成该复合节点路口的复合路口面,再将该复合路口面裁剪进该道路面,就可以得到该复合节点路口的路口面,可以在依赖较少的原始数据的前提下,简单、高效、高质量地生成复合节点路口面,无须引入复杂的计算策略以规避极端情况,鲁棒性强。
本申请实施例提供的路口面的生成方法方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据,如复合节点路口所包括的多个单节点路口各自的原始路网数据,路网数据包括连接至该单节点路口的道路、道路等级、道路宽度、车道数量等信息,这些路网数据可用于生成复合节点路口的路口面。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。
在一个实施例中,可以由服务器104实施本申请的路口面的生成方法,服务器104确定复合节点路口,复合节点路口包括至少两个单节点路口,根据复合节点路口的路口信息,获得复合节点路口的道路面,分别确定至少两个单节点路口中每个单节点路口的路口面,随后,服务器104根据各单节点路口的路口面,生成复合节点路口的复合路口面,再将复合路口面裁剪进道路面,得到复合节点路口的路口面。在一些实施例中,终端102可以调用服务器104生成的复合节点路口的路口面(路口面的边界线对应点串,即一系列点坐标),在虚拟地图中渲染展示该复合节点路口面。
在一些实施例中,终端102上可以安装并运行有支持地图服务的应用程序,服务器104可以是为该应用程序提供服务的服务器,终端102基于该应用程序与服务器104实现交互。该应用程序可以是地图应用、导航应用、定位应用或者任一支持显示路口的应用程序,例如,交通出行应用、需要调用并显示道路路口的游戏应用等。可以理解,在一些实施例中,也可以由终端生成复合节点的路口面,本申请实施例中不限定生成路口面的执行主体。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等,智能车载设备可以车载导航终端和车载电脑等,便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdelivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。
在一个实施例中,如图2所示,提供了一种路口面的生成方法,以该方法应用于图1中的计算机设备(如服务器104)为例进行说明,包括以下步骤:
步骤202,确定复合节点路口,复合节点路口包括至少两个单节点路口。
路口是至少两条道路交汇形成的道路原始,路口可以用节点表示。在普通地图数据中,道路一般用一条没有宽度的线段(以下称为link)表示,至少两条线段(link)交汇形成一个节点,即至少两条线段的端点,记为一个节点,该节点表示的是该至少两条线段所指示的道路的交汇所形成的路口。按照包含的节点的个数,路口可以分为单节点路口和复合节点路口。单节点路口指单个节点所表示的路口,复合节点路口指多个节点所表示的“大路口”。
如图3所示,为一个实施例中单节点路口的示意图。如图3所示,在该单节点路口中,道路1(link1)至道路4(link4)这4条道路汇合在一起形成一个单节点路口A中。
如图4所示,为一个实施例中复合节点路口的示意图。如图4所示,在该复合节点路口中,包括四个单节点路口,每个单节点路口也由4条道路汇合在一起,各自形成一个单节点路口,可见该复合节点路口一共包括12条道路。
可以理解的是,每个单节点路口所汇聚的道路的数量是至少两条,可以是3条、4条、6条、10条道路等等,本申请不做具体限定。每个复合节点路口所包括的单节点路口的数量是至少两个,可以是3个、4个、5个等等,本申请不做具体限定。此外,图3、4中示出的单节点路口和复合节点路口,道路之间并非必然是相互垂直的情形,在实际应用中,也可以不是相互垂直的情形,本申请不做具体限定。
计算机设备可以从地图数据中确定待生成路口面的复合节点路口,该复合节点路口可以是高精度地图中高精度数据缺乏的复合节点路口,还可以是普通精度地图中需要生成路口面的复合节点路口。计算机设备可以获取至少两个单节点路口的路网数据,若各自的路网数据中包括同一个复合节点路口标识,则表示该多个单节点路口可以形成同一个复合节点路口,该复合节点路口的路网数据可以由这些单节点路口的路网数据得到。每个单节点路口的路网数据,可以包括连接至该单节点路口的至少两条道路的路网数据,还可以包括所在的复合节点路口标识。每条道路的路网数据,可以包括一串坐标数据(点串),也就是形成该道路的位置点,还可以包括所连接至的单节点标识,还可以包括该道路的道路属性,如道路宽度、道路等级、道路名称、道路车道数等等。
步骤204,根据复合节点路口的路口信息,获得复合节点路口的道路面。
对于待生成路口面的复合节点路口,计算机设备可以获取相应的路口信息,从而确定该复合节点路口所包括的单节点路口、每个单节点路口所汇聚的道路以及每条道路的道路信息等等。为了得到复合节点路口的路口面,计算机设备需要先生成复合节点路口的道路面,而该道路面根据该复合节点路口所包括的每条道路的道路面生成。复合节点路口的道路面可以是所包括的每条道路的道路面所形成的集合。
前文提到,地图原始的路网数据中,每条道路通常是用一条没有宽度的线段表示,为了生成复合节点路口的道路面,计算机设备需要将该没有宽度的线段拓宽成具有一定宽度的道路面。拓宽的依据可以是该道路的道路信息,如道路等级、车道数量等等,车道等级例如是主干道路、次干道路、支干道路等,车道等级例如还可以是一级公路、二级公路、三级公路、四级公路等。不同道路信息的道路,对应不同的拓宽宽度,计算机设备按该道路宽度将每条道路拓宽成相应的道路面。在一些实施例中,道路的道路信息可以直接包括相应的道路宽度,计算机设备按该道路宽度将每条道路拓宽成相应的道路面。在一些实施例中,每条道路的道路宽度也可以取相同的值。可以理解,每条道路被拓宽后形成的道路面,均包括道路面左侧边线与道路面右侧边线。用于拓宽道路的道路宽度,可以是一侧的道路宽度,也可以是左右两侧共同的道路宽度,两侧各自的道路宽度可以相同,也可以不同。
在一个实施例中,步骤204包括:获取复合节点路口所包括的每个单节点路口各自的路网数据;根据路网数据确定连接至每个单节点路口的至少两条道路,得到复合节点路口所包括的多条道路;对于每条道路,获取相应的道路信息,道路信息包括道路等级、车道数量和车道宽度中的至少一种;根据道路信息确定各道路对应的道路宽度,按拓各自的道路宽度拓宽各道路,得到道路的道路面;根据每条道路的道路面,得到复合节点路口的道路面。
本实施例中,只需要基于复合节点路口所包括的道路的道路信息,就可以将一个没有宽度的道路拓宽,得到相应的道路面,从而简单、高效地生成复合节点路口的道路面,无需依赖其它额外的数据或复杂策略。
如图5所示,为一个实施例中复合节点路口的道路面的效果示意图。参照图5,依据如图4所示的复合节点路口所包括的每条道路(link)的道路属性信息,将每条道路按相应的道路宽度向两侧拓宽后,形成复合节点路口的道路面。
步骤206,分别确定至少两个单节点路口中每个单节点路口的路口面。
为了得到复合节点路口的路口面,计算机设备需要先生成该复合节点路口所包括的每个单节点路口的路口面。本申请实施例对于生成每个单节点路口的路口面的方式或具体算法,不作限制。
例如,在一些实施例中,在得到复合节点的道路面之后,对于其中每个单节点路口的道路面,计算机设备可以从每个单节点路口沿着每条道路的道路面向外延伸一定的偏置距离得到与道路面的垂直线(也叫道路面的切线),将每条道路的道路面上的垂直线连接起来,形成一个封闭形状,作为该单节点路口的路口面。
例如,在一些实施例中,计算机设备还可以确定该切线与道路面两侧边线的交点,根据每条道路的道路面上的交点,确定一个最小凸多边形,作为该单节点路口的路口面。
在上述方式中,偏置距离是指定的,一些情况下可能导致路口面的形状出现异常而不能贴合实际情况。为此,为保证每个单节点的路口面的形状贴合实际情况,能够真实反映路口的真实情况,计算机设备可以对连接至该单节点路口的每条道路的切线进行约束,即:①切线与道路面垂直;②切线之间互不相交或仅在切线端点处相交。此外,在满足上述约束条件的前提下下,还可以约束该单节点路口的路口面的区域面积尽量小。计算机设备可以采用任意算法或策略以实现上述约束条件,从而保证单节点的路口面的形状贴合实际情况,本申请实施例对此不作限制。具体的实施例将在后文进行详细说明。
如图6所示,为一个实施例中生成的复合节点路口中每个单节点各自的路口面的示意图。参照图6,对于如图4所示的复合节点路口所包括的4个单节点,计算机设备分别生成每个单节点各自的路口面。
步骤208,根据各单节点路口的路口面,生成复合节点路口的复合路口面。
具体地,在得到复合节点路口所包括的每个单节点路口的路口面之后,计算机设备根据每个单节点路口的路口面生成一个复合路口面,该复合路口面能够包围上述的每个单节点路口的路口面。示例性的,该复合路口面是包围上述的每个单节点路口的路口面的最小面积的凸包,即凸包路口面。示例性的,该复合路口面是包围上述每个单节点路口的路口面的最小面积的凸包,且该凸包的每条边界线垂直于相应的道路面。示例性的,该复合路口面是上述每个单节点路口的路口面的所有形状点形成的最大不规则图形。
在一个实施例中,根据各单节点路口的路口面,生成复合节点路口的复合路口面,包括:根据每个单节点路口的路口面所包括的形状点,得到第一形状点集合;根据第一形状点集合,计算包围第一形状点集合中所有形状点的最小凸多边形,作为复合节点路口的复合路口面。
其中,如前文所描述的,每个单节点路口的路口面是一个封闭形状,该封闭形状由若干个形状点形成,可以理解,形状点是形成该封闭形状的边界线上的折点。计算机设备在确定复合节点路口所包括的每个单节点路口的路口面之后,收集每个单节点路口的路口面的形状点,得到第一形状点集合,随后,计算机设备计算包围第一形状点集合中所有形状点的最小凸多边形,将该最小凸多边形作为复合节点路口的复合路口面。
如图7所示,为一个实施例中复合节点路口的复合路口面的示意图。参照图7,该复合节点路口包括4个单节点路口,包括这4个单节点路口的所有形状点的最小凸多边形,作为该复合节点路口的复合路口面。
在一个实施例中,若期望最终生成的复合节点路口的路口面的每条边界线均与道路面垂直,计算机设备还可以将该最小凸多边形向外填充,使每条边界线均与每条道路的道路面垂直,得到复合节点路口的复合路口面。在得到该复合路口面之后,再基于该复合路口面,执行后续的将该复合路口面裁剪进复合节点路口的道路面,得到复合节点路口的路口面的步骤。如图8所示,为一个实施例中复合节点路口的复合路口面的示意图,该复合路口面的每条边界线均与每条道路的道路面垂直。
在一些实施例中,计算机设备可以根据各单节点路口的路口面的形状点,确定一个这些形状点所能形成的最大不规则图形,作为该复合节点路口的复合路口面,再基于该复合路口面,执行后续的将该复合路口面裁剪进复合节点路口的道路面,得到复合节点路口的路口面的步骤。如图9所示,为另一个实施例中复合节点路口的复合路口面的示意图,该复合路口面是不规则图形,且形状较为异常。
步骤210,将复合路口面裁剪进道路面,得到复合节点路口的路口面。
本实施例中,为了得到更贴合路口实际状况的路口面,计算机设备利用复合节点路口面的道路面,对该复合路口面进行更进一步的处理,如进一步的裁剪,从而得到最终的贴合道路实际路况的复合节点路口的路口面。当然,在一些实施例中,计算机设备也可以直接将上一步骤208得到的复合路口面作为该复合节点路口的路口面。
如图10所示,为一个实施例中复合路口面与道路面的效果示意图。可以看出,当前的复合路口面与复合节点路口所包括的多条道路不是特别匹配,该复合路口面超出了道路面的范围,导致生成的路口面不够准确。
为此,计算机设备可以对该复合路口面进行更进一步的裁剪。
计算机设备可以先确定裁剪点,裁剪点可以是复合节点路口的复合路口面的边界线与该复合节点所包括的道路的道路面边线的交点。如图11所示,为一个实施例中复合路口面上的裁剪点的示意图。参照图11,图中的白色小圆点即为裁剪点。
在一个实施例中,步骤210可以是:确定复合节点路口的道路面所包括的每条道路的道路面边线,确定复合节点路口的复合路口面的边界线与道路面边线的交点,得到复合路口面的裁剪点所形成的裁剪点集合,确定裁剪点集合中每两个相邻的裁剪点,使用直线连接每两个相邻的裁剪点,得到复合节点路口的路口面。如图12所示,为一个实施例中不规则形状的复合节点路口的路口面的示意图。
在一个实施例中,步骤210还可以是:确定复合节点路口的道路面所包括的每条道路的道路面边线,确定复合节点路口的复合路口面的边界线与道路面边线的交点,得到复合路口面的裁剪点所形成的裁剪点集合,确定裁剪点集合中每两个相邻的裁剪点,在复合路口面上每两个相邻的裁剪点之间进行平滑处理,得到复合节点路口的路口面。
其中,复合节点路口的道路面所包括的每条道路的道路面边线,包括每条道路的道路面左侧边线与道路面右侧边线,复合节点路口的复合路口面的边界线也是该复合路口面的包围线。计算机设备根据表示该包围线的点串与表示每条道路的道路面边线的点串的交集,就可以确定复合路口面的裁剪点所形成的裁剪点集合,记为trimPoints。
复合路口面上每两个相邻的裁剪点,所谓的相邻是指该两个裁剪点在复合路口面的边界线上的先后顺序是相邻的。为了对两个相邻裁剪点之间做平滑过渡,需要确定裁剪点的先后顺序,通过对裁剪点进行重排序,从而确定该裁剪点集合中每两个相邻的裁剪点。
在一个实施例中,确定裁剪点集合中每两个相邻的裁剪点,包括:确定复合路口面的形状点所形成的第二形状点集合,形状点存在先后顺序;对于裁剪点集合中的每个裁剪点,计算裁剪点在第二左邻形状点与右邻形状点;对于裁剪点集合中的每个裁剪点,按相应的目标形状点的先后顺序进行排序,根据排序结果确定裁剪点集合中每两个相邻的裁剪点,目标形状点为左邻形状点或右邻形状点。
复合路口面是一个封闭形状,该封闭形状由若干个形状点形成,复合路口面的形状点是形成该复合路口面的边界线上的折点,如图10所示的A、B、C等。这些折点在该边界线上存在先后顺序,该先后顺序可以是以某个折点为起始点形成的顺时针顺序,也可以是以某个折点为起始点形成的逆时针顺序。这些形状点所形成的第二形状点集合,可以记为basePoints。
对于裁剪点集合中的每个裁剪点point,计算机设备确定每个裁剪点在第二形状点集合中的左邻形状点p1与右邻形状点p2,也即是裁剪点point位于第二形状点集合中哪两个相邻点(p1,p2)之间,从而可以按照p1在复合路口面的边界线上的先后顺序(可以由索引index确定)或p2在复合路口面的边界线上的先后顺序,对裁剪点point进行重排序。
如图13所示,为一个实施例中对复合路口面上的裁剪点进行重排序的流程图。参照图13,裁剪点重排序步骤包括:
步骤1302,确定裁剪点集合trimPoints与第二形状点集合basePoints。
步骤1304,对于trimPoints中的每个裁剪点point,确定裁剪点point位于第二形状点集合中哪两个相邻点(p1,p2)之间,其中p1或p2在复合路口面的边界线上的索引记为index。
可以理解,确定裁剪点point位于第二形状点集合中哪两个相邻点(p1,p2)之间,随后,可以统一按p1在复合路口面的边界线上的索引index得到裁剪点的二元组,也可以统一按p2在复合路口面的边界线上的索引index得到裁剪点的二元组。两个裁剪点point对应的index可能是一致的,若一致,则比较这两个点与该索引所对应的形状点basePoints(index)的距离再排序,若不一致,则直接比较index的大小,按index的大小进行排序。
步骤1306,将裁剪点point记录为二元组(point,index)。
步骤1308,对于trimPoints中的每个裁剪点point,按索引index进行排序,得到重排序后的裁剪点序列。
例如,若第二形状点集合basePoints中每个形状点按顺时针的方向,从小到大确定相应的索引index,统一按p1在复合路口面的边界线上的索引index从小到大的顺序进行排序,那么若两个裁剪点point对应的index一致,则其中与该索引所对应的形状点basePoints(index)的距离更近的裁剪点排序在后,距离越远的裁剪点排序在前。
计算机设备得到重排序后的裁剪点序列之后,就可以确定裁剪点集合中每两个相邻的裁剪点。
在一个实施例中,在复合路口面上每两个相邻的裁剪点之间进行平滑处理,包括:当两个相邻的裁剪点位于复合节点路口面的同一道路的道路面边线上时,使用直线连接两个相邻的裁剪点;当两个相邻的裁剪点位于复合节点路口面的不同道路的道路面边线上时,使用平滑曲线连接两个相邻的裁剪点。
如图14所示,为一个实施例中平滑连接裁剪点的效果示意图。参照图14,图14中,相邻的裁剪点M、N位于复合节点路口面的同一道路的两条道路面边线上,则直接用直线连接裁剪点M、N;相邻的裁剪点P、Q位于复合节点路口面的不同道路的两条道路面边线上,则使用平滑曲线连接裁剪点P、Q。
在一个实施例中,平滑曲线为贝塞尔曲线,两个相邻的裁剪点之间的贝塞尔曲线的生成步骤包括:将两个相邻的裁剪点,分别沿着裁剪点所在的道路面边线,向道路面边线所连接至的单节点路口的方向延长,得到两个控制点;根据两个相邻的裁剪点与两个控制点,生成贝塞尔曲线。
本申请实施例中,对于位于复合节点路口面的不同道路的道路面边线上的两个相邻的裁剪点,确定了两个控制点,根据两个相邻的裁剪点与两个控制点,生成的是四阶贝塞尔曲线,可以保证贝塞尔曲线与该两个相邻的裁剪点所在的道路面边线相切,从而得到更好的平滑过渡效果。在一些实施例中,也可以在该两个相邻的裁剪点之间,确定一个控制点,根据该一个控制点与两个相邻的裁剪点,生成三阶贝塞尔曲线,还可以是在该两个相邻的裁剪点之间,确定三个控制点,根据该三个控制点与两个相邻的裁剪点,生成五阶贝塞尔曲线,
如图15所示,为一个实施例中贝塞尔曲线平滑连接的示意图。参照图15,道路面边线1是道路1(link1)的道路面的一侧边线,道路面边线2是道路2(link2)的道路面的一侧边线。P1和P2分别是复合道路面与道路面边线1和道路面边线2相交的裁剪点。计算机设备通过以下方式计算P1和P2之间的贝塞尔曲线,此处以四阶贝塞尔曲线为例,除了P1和P2点之外,还需要计算额外两个控制点。计算方法如下:从P1开始沿着道路面边线1指向所连接至的单节点路口的方向,以一个距离d1计算得到点P11,从P2开始沿着道路面边线2指向所连接至的单节点路口的方向,以一个距离d2计算得到点P22。随后,计算机设备可以根据裁剪点P1和P2、控制点P11和P22,计算P1与P2之间的贝塞尔曲线对应的点串,使用该点串平滑连接P1与P2。
如图16所示,为一个实施例中生成的复合节点路口的路口面的示意图。参照图16,图中封闭不规则图形即为最终生成的复合节点路口的路口面,计算机设备可以将该路口面的边界线对应的点串与该复合节点路口面对应存储,作为该复合节点路口的属性数据,以供其它应用程序或接口在展示、渲染该复合节点路口时快捷使用。
下面详细介绍复合节点路口所包括的每个单节点路口的路口面的生成方式。
在一个实施例中,步骤206,分别确定至少两个单节点路口中每个单节点路口的路口面,包括:对于每个单节点路口,确定连接至单节点路口的至少两条道路;获取约束条件和目标函数;其中,目标函数用于指示单节点路口的路口面的区域大小的求解目标,约束条件用于指示区域大小的限制条件,约束条件包括至少两条道路中每两条相邻的道路的偏置变量之间的约束关系,目标函数包括至少两个偏置变量,每个偏置变量用于指示单节点路口到对应的道路的切线之间的距离情况;根据至少两条道路中各道路的道路面宽度以及约束条件对目标函数进行求解,得到道路的偏置距离;基于道路的道路面宽度和道路的偏置距离生成单节点路口的路口面。
如图17所示,为一个实施例中单节点路口的道路面的示意图。针对连接至单节点路口A的4条道路(即link1至link4),每一条道路都可以拓宽成具有一定宽度的道路面。譬如,针对link1,其对应的道路面宽度信息由该link1的左侧子道路面的道路面宽度信息(即lw1)、和link1的右侧子道路面的道路面宽度信息(即rw1)构成。针对link2,其对应的道路面宽度信息也由该link2的左侧子道路面的道路面宽度信息(即lw2)、和link2的右侧子道路面的道路面宽度信息(即rw2)构成。同样地,针对link3的道路面宽度信息和link4的道路面宽度信息,其具体也可以参照link1、link2的道路面宽度信息进行理解,此处不做赘述。
针对每条道路,若每条道路各自对应的切线出现相交的情况,则会导致所要生成的该单节点路口的路口面的形状异常,无法准确地反映真实的路口面。因此,若欲想路口面的形状未出现异常情况,那么就需要保证每条道路各自对应的切线不相交。每条道路会与其对应的切线垂直,切线的位置可以用切线与link的交点到该单节点路口的距离来表示。
将切线与link的交点到该单节点路口的距离,称作为本申请实施例后续所描述的偏置距离,每条道路对应的切线之间是否相交,依赖于每条道路的偏置距离。道路的偏置距离太小,则会导致相应的切线之间在会切线的中间部分相交,从而导致路口面形状异常。
举例来说,图18示出了本申请实施例提供的道路的切线相交示意图。如图18所示,link1的切线(即L1)与link2的切线(即L2)相交,而该L1与L2相交会受限于link1的偏置变量(即w1)的取值、以及相邻的link2的偏置变量(即w2)的取值。同样地,L2与link3的切线(即L3)相交,也会受限于w2的取值、以及相邻的link3的偏置变量(即w3)的取值。针对L3与link4的切线(即L4)相交的情况、L4与L1相交的情况,也可以参照L1与L2相交,或者L2与L3相交的情形进行理解,此处不做具体赘述。应理解,图18示出的道路的切线相交仅以4条link都相交为例进行说明,在实际应用中,也可能仅出现其中2条或者3条link相交的情况,具体本申请不做限定。另外,所提及的偏置变量可以用来指示出单节点路口到对应的道路的切线之间的距离情况,例如,w1可以用来指示出单节点路口A到link1的切线L1之间的距离情况。在偏置变量赋予具体的取值时,可以称为偏置距离。
基于此,w1的取值会影响到相邻的w2的取值,w2的取值会影响到相邻的w3的取值,w3的取值会影响到相邻的w4的取值,w4的取值会影响到相邻的w1的取值。同样地,w1的取值会影响到相邻的w4的取值,w4的取值会影响到相邻的w3的取值,w3的取值会影响到相邻的w2的取值,w2的取值会影响到相邻的w1的取值。显然,不论是采用顺时针对同一个单节点路口的4条link进行排序,还是采用逆时针对这4条进行排序,偏置变量w1、w2、w3、w4之间的耦合关系是相互约束的,因此,本申请实施例中可以采用数学最优化的方法处理这种耦合关系,即将各条道路的偏置变量之间的约束关系变成优化问题的约束方程。
计算机设备可以基于每两条相邻的道路的偏置变量之间的约束关系来构建该约束条件,确定每条道路的偏置变量w的取值,能够使得各自对应道路的切线L之间不相交或仅在端点处相交。每两条相邻的道路的偏置变量之间的约束关系,可以通过每两条相邻的道路之间的夹角信息来构建得到。示例性地,计算机设备可以根据每两条相邻的道路的道路面宽度信息和对应的道路的偏置变量确定每两条相邻的道路之间的夹角信息,然后根据每两条相邻的道路之间的夹角信息构建约束条件。
构建约束条件可以采用如下方式来实现,即:每条道路的道路面均包括道路面左侧边线和道路面右侧边线,计算机设备可以获取第一道路与第二道路之间的夹角,第一道路与第二道路为至少两条道路中相邻的道路;获取第一道路与第一道路的道路面右侧边线之间的第一夹角,以及第二道路与第二道路的道路面左侧边线之间的第二夹角,以及第一道路的道路面右侧边线与第二道路的道路面左侧边线之间的第三夹角;基于第一道路与第二道路之间的夹角,以及第一夹角、第二夹角和第三夹角构建约束条件。
以图19示出的右上角示意图为例,图19中的link1可以理解成第一道路,link2可以理解成第二道路,该link1与link2相邻,且连接至单接口路口A点。切线L1与link1的道路面右侧边线的交点为P1,切线L2与link2的道路面左侧边线的交点为P2。以A点为原点,可以通过该link1的道路形状点的坐标和link2的道路形状点的坐标,进而计算得到该link1和link2之间的夹角,即α12。同样地,以A点为原点,通过计算link1与P1A之间的角度,即可得到第一夹角,即α1。示例性地,由于切线L1垂直于link1,而且该link1的右侧子道路面的道路面宽度为rw1,因此可以通过反正切函数对该link1的右侧子道路面的道路面宽度为rw1和link1的偏置变量w1进行处理,求得通过计算link2与P2A之间的角度,即可得到第二夹角,即α2。示例性地,由于切线L2垂直于link2,而且该link2的左侧子道路面的道路面宽度为lw2,因此同样可以通过反正切函数对该link2的左侧子道路面的道路面宽度为lw2和2的偏置变量w2进行处理,进而求得/>
为保证L1和L2不相交或者仅在端点处相交,夹角α1和α2应当满足:α1+α2+mina1≤α12,即:其中,mina1为夹角P1AP2的最小值,即link1的道路面右侧边线与link2的道路面左侧边线之间的夹角。另外,a1≥0。此即为一个约束条件。若连接至单节点路口A有n(n>1)条道路,则会构建得到n个约束条件。
在满足前述所描述的约束条件的前提下,希望所生成的单节点路口的路口面尽可能小,此时可以将该单节点路口的路口面的区域大小作为目标函数,该区域大小可以通过上述所构建得到的约束条件进行限制。需说明,该目标函数包括至少两个偏置变量,每个偏置变量之间的约束关系可以参照前述构建的约束条件进行理解,此处不做赘述。换句话说,该路口面的区域大小会受到连接至该单节点路口的道路的偏置变量的取值影响。因此,可以将单节点路口所关联的道路的偏置变量w的取值大小表征,作为该单节点路口的路口面的区域大小的表征。例如,针对图19中的单节点路口A,在以偏置变量w的平方之和作为该路口面的区域大小的表征的情形下,该路口面的区域大小可以表示成:V=w12+w22+w32+w42,其中,w1、w2、w3、w4为对应的link1、link2、link3、link4的偏置变量。路口面的区域大小的表征除了使用偏置变量的平方之和来表示之外,在实际应用中,还可能使用偏置变量的立方之和、N(N≥2)次方之和、绝对值之和等方式来表示,本申请实施例中不做具体限定。
这样,便可以构建出关于该路口面的区域大小的目标函数,即minV=w12+w22+w32+w42。构建得到约束条件以及获取到目标函数后,可以根据该道路的道路面宽度信息和约束条件对该目标函数进行求解计算,进而计算出该目标函数中每个偏置变量的具体取值,即得到每条道路的偏置距离。
在该约束条件和道路的道路面宽度信息下,能够基于内点法等预设约束优化模型对该目标函数进行求解。示例性地,在获取到每条道路的道路面宽度信息(包括左侧子道路面的道路面宽度信息和右侧子道路面的道路面宽度信息)之后,可以通过该预设约束优化模型对每条道路的道路面宽度信息进行处理,进而得到每条道路的偏置变量的具体取值,即得到每条道路的偏置距离的最优解。在计算得到每条道路的偏置距离之后,能够基于每条道路的道路面宽度信息和对应道路的偏置距离,生成该单节点路口的路口面。
上述生成单节点路口的路口面的方式,仅需要基于相邻道路的偏置变量之间的约束关系构建约束条件,并结合道路的道路面宽度信息来计算道路的偏置距离,无需依赖于复杂的纯几何算法,从而可以高效地生成路口节点的路口面。
如图20所示,为一个具体的实施例中生成复合节点路口面的流程示意图。该方法可以由计算机设备执行,参照图20,包括以下步骤:
步骤2002,当至少两个单节点路口各自的路网数据中,包括相同的复合节点路口标识时,确定至少两个单节点路口形成复合节点路口标识对应的复合节点路口;
步骤2004,获取复合节点路口所包括的每个单节点路口各自的路网数据;
步骤2006,根据路网数据确定连接至每个单节点路口的至少两条道路,得到复合节点路口所包括的多条道路;
步骤2008,对于每条道路,获取相应的道路信息,道路信息包括道路等级、车道数量和车道宽度中的至少一种;根据道路信息确定各道路对应的道路宽度,按拓各自的道路宽度拓宽各道路,得到道路的道路面;
步骤2010,根据每条道路的道路面,得到复合节点路口的道路面;
步骤2012,分别确定至少两个单节点路口中每个单节点路口的路口面;
步骤2014,根据每个单节点路口的路口面所包括的形状点,得到第一形状点集合;
步骤2016,根据第一形状点集合,计算包围第一形状点集合中所有形状点的最小凸多边形,得到复合节点路口的复合路口面;
步骤2018,确定复合节点路口的道路面所包括的每条道路的道路面边线;
步骤2020,确定复合节点路口的复合路口面的边界线与道路面边线的交点,得到复合路口面的裁剪点所形成的裁剪点集合;
步骤2022,确定复合路口面的形状点所形成的第二形状点集合,形状点存在先后顺序;
步骤2024,对于裁剪点集合中的每个裁剪点,计算裁剪点在第二左邻形状点与右邻形状点;
步骤2026,对于裁剪点集合中的每个裁剪点,按相应的目标形状点的先后顺序进行排序,根据排序结果确定裁剪点集合中每两个相邻的裁剪点,目标形状点为左邻形状点或右邻形状点;
步骤2028,当两个相邻的裁剪点位于复合节点路口面的同一道路的道路面边线上时,使用直线连接两个相邻的裁剪点;
步骤2030,当两个相邻的裁剪点位于复合节点路口面的不同道路的道路面边线上时,使用平滑曲线连接两个相邻的裁剪点;
步骤2032,根据连接后的裁剪点,得到复合节点路口的路口面。
其中,步骤2030中的使用平滑曲线连接两个相邻的裁剪点,可以包括:将两个相邻的裁剪点,分别沿着裁剪点所在的道路面边线,向道路面边线所连接至的单节点路口的方向延长,得到两个控制点;根据两个相邻的裁剪点与两个控制点,生成贝塞尔曲线,使用贝塞尔曲线连接两个相邻的裁剪点。
其中,步骤2012中每个单节点路口的路口面的生成步骤可以包括:对于每个单节点路口,确定连接至单节点路口的至少两条道路;根据每两条相邻的道路的道路面宽度和对应的道路的偏置变量确定每两条相邻的道路之间的夹角信息;其中,夹角信息用于指示相邻的两条道路各自对应的切线之间的相交情况;获取第一道路与第二道路之间的夹角,第一道路与第二道路为至少两条道路中相邻的道路;获取第一道路与第一道路的道路面右侧边线之间的第一夹角,以及第二道路与第二道路的道路面左侧边线之间的第二夹角,以及第一道路的道路面右侧边线与第二道路的道路面左侧边线之间的第三夹角;基于第一道路与第二道路之间的夹角,以及第一夹角、第二夹角和第三夹角构建约束条件;获取目标函数;其中,目标函数用于指示单节点路口的路口面的区域大小的求解目标,约束条件用于指示区域大小的限制条件,约束条件包括至少两条道路中每两条相邻的道路的偏置变量之间的约束关系,目标函数包括至少两个偏置变量,每个偏置变量用于指示单节点路口到对应的道路的切线之间的距离情况;根据至少两条道路中各道路的道路面宽度以及约束条件对目标函数进行求解,得到道路的偏置距离;基于道路的道路面宽度和道路的偏置距离生成单节点路口的路口面。
上述路口面的生成方法,对于包括至少两个单节点路口的复合节点路口,只需要根据该复合节点路口的路口信息,获得该复合节点路口的道路面,根据所包括的每个单节点路口的路口面,生成该复合节点路口的复合路口面,再将该复合路口面裁剪进该道路面,就可以得到该复合节点路口的路口面,可以在依赖较少的原始数据的前提下,简单、高效、高质量生成复合节点路口面,无须引入复杂的计算策略规避极端情况,鲁棒性强。
本申请实施例提供的路口面的生成方法,可以应用到任一需要依据原始路网数据生成复合节点路口的路口面的场景中,例如,在高精度地图中,若某些地区缺乏相应的高精度数据,可以使用普通地图数据采用本申请实施例提供的路口面的生成方法,为这些地区的复合节点路口生成相应的路口面。又例如,可以在仅依赖于原始普通地图数据的情况下,高效地生成复合节点路口的路口面,而无需依赖其它路径指示信息。再例如,生成的复合节点路口的路口面,可供地图应用调用后,直接根据该路口面的点串数据渲染、显示该路口面。还例如,在涉及城市道路模型的游戏应用,可直接根据城市道路模型中路口面的点串数据渲染显示相应的游戏画面。当然,可应用场景不局限于此。
下面以一个场景详细说明:
在高精度地图中,某些地区缺乏相应的高精度数据,可以基于普通地图数据采用本申请实施例提供的路口面的生成方法,克服在上述地区无法渲染显示高精度地图的路口面的问题。
计算机设备可以事先找出地图中那些缺乏高精度地图的地区,如某个城市5环以内的地区,继而获取这些地区中道路各自原始的、用于生成普通地图的路网数据,普通地图的路网数据中,道路是一条没有宽度的线段,即用一组数据点(link)表示道路,该一组数据点也称点串。道路的路网数据中还包括道路信息。若多条道路的路网数据中包括相同的单点路口标识,则该多条道路形成一个单节点路口。对于每个单节点路口,计算机设备可以生成单节点路口的路口面,生成路口面是为了生成路的形状点坐标,单节点路口的路口面实质用一组数据点表示,每个数据点是一个坐标,该一组数据点可以形成封闭多边形。对于这些地区中的单节点路口,计算机设备均可以生成相应的路口面。生成路口面主要就是为了生成路口面边界的形状点坐标。在高精度地图中,这些边界的形状点坐标一般是在上游提供的原始数据中直接给出的
若多个单节点路口的路网数据中包括相同的复合节点路口标识,则该多个单节点路口形成一个复合节点路口。对于这样的复合节点路口,计算机设备可以生成相应的路口面,具体包括:确定复合节点路口所包括的多个单节点路口,对于每个单节点路口,根据相应的路网数据确定连接至单节点路口的至少两条道路,这样,就可以得到复合节点路口所包括的多条道路。前文提到,道路是一条没有宽度的线段,对于每条道路,计算机设备获取相应的道路信息,根据道路信息确定各道路对应的道路宽度,按各自的道路宽度拓宽各道路,得到道路的道路面,道路的道路面均包括道路面左侧边线和道路面右侧边线,这样,道路面用三条线段表示:原始的一组数据点(link)、表示道路面左侧边线的点串数据与表示道路面右侧边线的点串数据。接着,计算机设备获取复节点路口中每个单节点路口的路口面,单节点路口的路口面是一组数据点,该一组数据点可以形成封闭多边形,计算机设备根据每个单节点路口的路口面所包括的形状点,计算包围这些形状点的最小凸多边形,得到复合节点路口的复合路口面,该复合节点路口的路口面实质是一组数据点,该一组数据点可以形成封闭多边形。随后,计算机设备确定复合节点路口的道路面所包括的每条道路的道路面边线,根据表示该道路面边线的点串数据与表示复合节点路口的复合路口面的边界线的点串数据的交集,确定复合路口面上的裁剪点所形成的裁剪点集合,按这些裁剪点在复合路口面的边界线上的顺序,对这些裁剪点进行排序,从而确定裁剪点集合中每两个相邻的裁剪点。进而,对于该复合路口面上的裁剪点,计算机设备使用直线连接位于同一道路的道路面边线上的两个相邻的裁剪点,使用平滑曲线连接位于不同道路的道路面边线上的两个相邻的裁剪点,得到最终的路口面。
对于上述缺乏高精度数据的地区,计算机设备可以将表示单节点路口的路口面的点串数据、表示复合节点路口的路口面的点串数据等,事先存储在地图数据库中,作为这些地区所需的高精度地图数据的补充,以供渲染显示这些地区的高精度地图。
这样,在地图导航过程中,当定位到终端或车辆当前移动至上述地区的某个复合节点路口附近、需要显示该复合节点路口的路口面时,终端或车载终端上的地图应用就可以直接从地图数据库中拉取表示该复合节点路口的路口面的点串数据,根据拉取的点串数据,高效地渲染并显示当前位置的高精度地图导航画面。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的路口面的生成方法的路口面的生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个路口面的生成装置实施例中的具体限定可以参见上文中对于路口面的生成方法的限定,在此不再赘述。
在一个实施例中,如图21所示,提供了一种路口面的生成装置2100,包括:确定模块2102、道路面生成模块2104、单节点路口面生成模块2106、复合路口面生成模块2108和裁剪模块2110,其中:
确定模块2102,用于确定复合节点路口,复合节点路口包括至少两个单节点路口;
道路面生成模块2104,用于根据复合节点路口的路口信息,获得复合节点路口的道路面;
单节点路口面生成模块2106,用于分别确定至少两个单节点路口中每个单节点路口的路口面;
复合路口面生成模块2108,用于根据各单节点路口的路口面,生成复合节点路口的复合路口面;
裁剪模块2110,用于将复合路口面裁剪进道路面,得到复合节点路口的路口面。
在一个实施例中,确定模块2102,还用于当至少两个单节点路口各自的路网数据中,包括相同的复合节点路口标识时,确定至少两个单节点路口形成复合节点路口标识对应的复合节点路口。
在一个实施例中,道路面生成模块2104,还用于获取复合节点路口所包括的每个单节点路口各自的路网数据;根据路网数据确定连接至每个单节点路口的至少两条道路,得到复合节点路口所包括的多条道路;对于每条道路,获取相应的道路信息,道路信息包括道路等级、车道数量和车道宽度中的至少一种;根据道路信息确定各道路对应的道路宽度,按拓各自的道路宽度拓宽各道路,得到道路的道路面;根据每条道路的道路面,得到复合节点路口的道路面。
在一个实施例中,单节点路口面生成模块2106,还用于对于每个单节点路口,确定连接至单节点路口的至少两条道路;获取约束条件和目标函数;其中,目标函数用于指示单节点路口的路口面的区域大小的求解目标,约束条件用于指示区域大小的限制条件,约束条件包括至少两条道路中每两条相邻的道路的偏置变量之间的约束关系,目标函数包括至少两个偏置变量,每个偏置变量用于指示单节点路口到对应的道路的切线之间的距离情况;根据至少两条道路中各道路的道路面宽度以及约束条件对目标函数进行求解,得到道路的偏置距离;基于道路的道路面宽度和道路的偏置距离生成单节点路口的路口面。
在一个实施例中,单节点路口面生成模块2106,还用于根据每两条相邻的道路的道路面宽度和对应的道路的偏置变量确定每两条相邻的道路之间的夹角信息;其中,夹角信息用于指示相邻的两条道路各自对应的切线之间的相交情况;根据每两条相邻的道路之间的夹角信息构建约束条件。
在一个实施例中,单节点路口面生成模块2106,还用于获取第一道路与第二道路之间的夹角,第一道路与第二道路为至少两条道路中相邻的道路;获取第一道路与第一道路的道路面右侧边线之间的第一夹角,以及第二道路与第二道路的道路面左侧边线之间的第二夹角,以及第一道路的道路面右侧边线与第二道路的道路面左侧边线之间的第三夹角;基于第一道路与第二道路之间的夹角,以及第一夹角、第二夹角和第三夹角构建约束条件。
在一个实施例中,复合路口面生成模块2108,还用于根据每个单节点路口的路口面所包括的形状点,得到第一形状点集合;根据第一形状点集合,计算包围第一形状点集合中所有形状点的最小凸多边形,得到复合节点路口的复合路口面。
在一个实施例中,裁剪模块2110,还用于确定复合节点路口的道路面所包括的每条道路的道路面边线;确定复合节点路口的复合路口面的边界线与道路面边线的交点,得到复合路口面的裁剪点所形成的裁剪点集合;确定裁剪点集合中每两个相邻的裁剪点;在复合路口面上每两个相邻的裁剪点之间进行平滑处理,得到复合节点路口的路口面。
在一个实施例中,裁剪模块2110,还用于确定复合路口面的形状点所形成的第二形状点集合,形状点存在先后顺序;对于裁剪点集合中的每个裁剪点,计算裁剪点在第二左邻形状点与右邻形状点;对于裁剪点集合中的每个裁剪点,按相应的目标形状点的先后顺序进行排序,根据排序结果确定裁剪点集合中每两个相邻的裁剪点,目标形状点为左邻形状点或右邻形状点。
在一个实施例中,平滑曲线为贝塞尔曲线,裁剪模块2110,还用于将两个相邻的裁剪点,分别沿着裁剪点所在的道路面边线,向道路面边线所连接至的单节点路口的方向延长,得到两个控制点;根据两个相邻的裁剪点与两个控制点,生成贝塞尔曲线。
上述路口面的生成装置2100中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述路口面的生成装置2100,对于包括至少两个单节点路口的复合节点路口,只需要根据该复合节点路口的路口信息,获得该复合节点路口的道路面,根据所包括的每个单节点路口的路口面,生成该复合节点路口的复合路口面,再将该复合路口面裁剪进该道路面,就可以得到该复合节点路口的路口面,可以在依赖较少的原始数据的前提下,简单、高效、高质量生成复合节点路口面,无须引入复杂的计算策略规避极端情况,鲁棒性强。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是图1所示的服务器104,其内部结构图可以如图22所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储路网数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种路口面的生成方法。
本领域技术人员可以理解,图22中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请任一个或多个实施例提供的路口面的生成方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任一个或多个实施例提供的路口面的生成方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请任一个或多个实施例提供的路口面的生成方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (24)
1.一种路口面的生成方法,其特征在于,所述方法包括:
确定复合节点路口,所述复合节点路口包括至少两个单节点路口;
根据所述复合节点路口的路口信息,获得所述复合节点路口所包括的多条道路,根据每条道路各自的道路信息,将每条道路拓宽成相应的道路面,根据每条道路的道路面,得到复合节点路口的道路面,所述道路信息包括道路等级、车道数量和车道宽度中的至少一种;
分别确定所述至少两个单节点路口中每个所述单节点路口的路口面;
根据各所述单节点路口的路口面,生成所述复合节点路口的复合路口面;
将所述复合路口面裁剪进所述道路面,得到所述复合节点路口的路口面。
2.根据权利要求1所述的方法,其特征在于,所述确定复合节点路口包括:
若至少两个单节点路口各自的路网数据中包括同一复合节点路口标识,则确定所述至少两个单节点路口形成所述复合节点路口。
3.根据权利要求1所述的方法,其特征在于,所述根据所述复合节点路口的路口信息,获得所述复合节点路口所包括的多条道路,根据每条道路各自的道路信息,将每条道路拓宽成相应的道路面,包括:
获取所述复合节点路口所包括的每个单节点路口各自的路网数据;
根据所述路网数据确定连接至每个所述单节点路口的至少两条道路,得到所述复合节点路口所包括的多条道路;
对于每条道路,获取相应的道路信息,所述道路信息包括道路等级、车道数量和车道宽度中的至少一种;根据所述道路信息确定各所述道路对应的道路宽度,按拓各自的道路宽度拓宽各所述道路,得到所述道路的道路面。
4.根据权利要求1所述的方法,其特征在于,所述分别确定所述至少两个单节点路口中每个所述单节点路口的路口面,包括:
对于每个单节点路口,确定连接至所述单节点路口的至少两条道路;
获取约束条件和目标函数;其中,所述目标函数用于指示所述单节点路口的路口面的区域大小的求解目标,所述约束条件用于指示所述区域大小的限制条件,所述约束条件包括所述至少两条道路中每两条相邻的所述道路的偏置变量之间的约束关系,所述目标函数包括至少两个所述偏置变量,每个所述偏置变量用于指示所述单节点路口到对应的道路的切线之间的距离情况;
根据所述至少两条道路中各所述道路的道路面宽度以及所述约束条件对所述目标函数进行求解,得到所述道路的偏置距离;
基于所述道路的道路面宽度和所述道路的偏置距离生成所述单节点路口的路口面。
5.根据权利要求4所述的方法,其特征在于,所述获取约束条件,包括:
根据每两条相邻的所述道路的道路面宽度和对应的道路的偏置变量确定所述每两条相邻的道路之间的夹角信息;其中,所述夹角信息用于指示相邻的两条所述道路各自对应的切线之间的相交情况;
根据所述每两条相邻的道路之间的夹角信息构建约束条件。
6.根据权利要求5所述的方法,其特征在于,每条所述道路的道路面均包括道路面左侧边线和道路面右侧边线,所述根据所述每两条相邻的道路之间的夹角信息构建约束条件,包括:
获取第一道路与第二道路之间的夹角,所述第一道路与所述第二道路为所述至少两条道路中相邻的道路;
获取所述第一道路与所述第一道路的道路面右侧边线之间的第一夹角,以及所述第二道路与所述第二道路的道路面左侧边线之间的第二夹角,以及所述第一道路的道路面右侧边线与所述第二道路的道路面左侧边线之间的第三夹角;
基于所述第一道路与第二道路之间的夹角,以及所述第一夹角、所述第二夹角和所述第三夹角构建约束条件。
7.根据权利要求1所述的方法,其特征在于,所述根据各所述单节点路口的路口面,生成所述复合节点路口的复合路口面,包括:
根据每个所述单节点路口的路口面所包括的形状点,得到第一形状点集合;
根据所述第一形状点集合,计算包围所述第一形状点集合中所有形状点的最小凸多边形,得到所述复合节点路口的复合路口面。
8.根据权利要求1所述的方法,其特征在于,所述将所述复合路口面裁剪进所述道路面,得到所述复合节点路口的路口面,包括:
确定所述复合节点路口的道路面所包括的每条道路的道路面边线;
确定所述复合节点路口的复合路口面的边界线与所述道路面边线的交点,得到所述复合路口面的裁剪点所形成的裁剪点集合;
确定所述裁剪点集合中每两个相邻的所述裁剪点;
在所述复合路口面上所述每两个相邻的所述裁剪点之间进行平滑处理,得到所述复合节点路口的路口面。
9.根据权利要求8所述的方法,其特征在于,所述确定所述裁剪点集合中每两个相邻的所述裁剪点,包括:
确定所述复合路口面的形状点所形成的第二形状点集合,所述形状点存在先后顺序;
对于所述裁剪点集合中的每个裁剪点,计算所述裁剪点在所述第二形状点集合中的左邻形状点与右邻形状点;
对于所述裁剪点集合中的每个裁剪点,按相应的目标形状点的先后顺序进行排序,根据排序结果确定所述裁剪点集合中每两个相邻的所述裁剪点,所述目标形状点为左邻形状点或右邻形状点。
10.根据权利要求8所述的方法,其特征在于,所述在所述复合路口面上所述每两个相邻的所述裁剪点之间进行平滑处理,包括:
当两个相邻的所述裁剪点位于所述复合节点路口面的同一道路的道路面边线上时,使用直线连接所述两个相邻的所述裁剪点;
当两个相邻的所述裁剪点位于所述复合节点路口面的不同道路的道路面边线上时,使用平滑曲线连接所述两个相邻的所述裁剪点。
11.根据权利要求10所述的方法,其特征在于,所述平滑曲线为贝塞尔曲线,所述两个相邻的所述裁剪点之间的贝塞尔曲线的生成步骤包括:
将所述两个相邻的所述裁剪点,分别沿着所述裁剪点所在的道路面边线,向所述道路面边线所连接至的所述单节点路口的方向延长,得到两个控制点;
根据所述两个相邻的所述裁剪点与所述两个控制点,生成所述贝塞尔曲线。
12.一种路口面的生成装置,其特征在于,所述装置包括:
确定模块,用于确定复合节点路口,所述复合节点路口包括至少两个单节点路口;
道路面生成模块,用于根据所述复合节点路口的路口信息,获得所述复合节点路口所包括的多条道路,根据每条道路各自的道路信息,将每条道路拓宽成相应的道路面,根据每条道路的道路面,得到复合节点路口的道路面,所述道路信息包括道路等级、车道数量和车道宽度中的至少一种;
单节点路口面生成模块,用于分别确定所述至少两个单节点路口中每个所述单节点路口的路口面;
复合路口面生成模块,用于根据各所述单节点路口的路口面,生成所述复合节点路口的复合路口面;
裁剪模块,用于将所述复合路口面裁剪进所述道路面,得到所述复合节点路口的路口面。
13.根据权利要求12所述的装置,其特征在于,所述确定模块,还用于当至少两个单节点路口各自的路网数据中,包括相同的复合节点路口标识时,确定所述至少两个单节点路口形成所述复合节点路口标识对应的复合节点路口。
14.根据权利要求12所述的装置,其特征在于,所述道路面生成模块,还用于获取所述复合节点路口所包括的每个单节点路口各自的路网数据;根据所述路网数据确定连接至每个所述单节点路口的至少两条道路,得到所述复合节点路口所包括的多条道路;对于每条道路,获取相应的道路信息,所述道路信息包括道路等级、车道数量和车道宽度中的至少一种;根据所述道路信息确定各所述道路对应的道路宽度,按拓各自的道路宽度拓宽各所述道路,得到所述道路的道路面。
15.根据权利要求12所述的装置,其特征在于,所述所述单节点路口面生成模块,还用于对于每个单节点路口,确定连接至所述单节点路口的至少两条道路;获取约束条件和目标函数;其中,所述目标函数用于指示所述单节点路口的路口面的区域大小的求解目标,所述约束条件用于指示所述区域大小的限制条件,所述约束条件包括所述至少两条道路中每两条相邻的所述道路的偏置变量之间的约束关系,所述目标函数包括至少两个所述偏置变量,每个所述偏置变量用于指示所述单节点路口到对应的道路的切线之间的距离情况;根据所述至少两条道路中各所述道路的道路面宽度以及所述约束条件对所述目标函数进行求解,得到所述道路的偏置距离;基于所述道路的道路面宽度和所述道路的偏置距离生成所述单节点路口的路口面。
16.根据权利要求15所述的装置,其特征在于,所述单节点路口面生成模块,还用于根据每两条相邻的所述道路的道路面宽度和对应的道路的偏置变量确定所述每两条相邻的道路之间的夹角信息;其中,所述夹角信息用于指示相邻的两条所述道路各自对应的切线之间的相交情况;根据所述每两条相邻的道路之间的夹角信息构建约束条件。
17.根据权利要求16所述的装置,其特征在于,所述单节点路口面生成模块,还用于获取第一道路与第二道路之间的夹角,所述第一道路与所述第二道路为所述至少两条道路中相邻的道路;获取所述第一道路与所述第一道路的道路面右侧边线之间的第一夹角,以及所述第二道路与所述第二道路的道路面左侧边线之间的第二夹角,以及所述第一道路的道路面右侧边线与所述第二道路的道路面左侧边线之间的第三夹角;基于所述第一道路与第二道路之间的夹角,以及所述第一夹角、所述第二夹角和所述第三夹角构建约束条件。
18.根据权利要求12所述的装置,其特征在于,所述复合路口面生成模块,还用于根据每个所述单节点路口的路口面所包括的形状点,得到第一形状点集合;根据所述第一形状点集合,计算包围所述第一形状点集合中所有形状点的最小凸多边形,得到所述复合节点路口的复合路口面。
19.根据权利要求12所述的装置,其特征在于,所述裁剪模块,还用于确定所述复合节点路口的道路面所包括的每条道路的道路面边线;确定所述复合节点路口的复合路口面的边界线与所述道路面边线的交点,得到所述复合路口面的裁剪点所形成的裁剪点集合;确定所述裁剪点集合中每两个相邻的所述裁剪点;在所述复合路口面上所述每两个相邻的所述裁剪点之间进行平滑处理,得到所述复合节点路口的路口面。
20.根据权利要求19所述的装置,其特征在于,所述裁剪模块,还用于确定所述复合路口面的形状点所形成的第二形状点集合,所述形状点存在先后顺序;对于所述裁剪点集合中的每个裁剪点,计算所述裁剪点在所述第二形状点集合中的左邻形状点与右邻形状点;对于所述裁剪点集合中的每个裁剪点,按相应的目标形状点的先后顺序进行排序,根据排序结果确定所述裁剪点集合中每两个相邻的所述裁剪点,所述目标形状点为左邻形状点或右邻形状点。
21.根据权利要求19所述的装置,其特征在于,所述裁剪模块,还用于当两个相邻的所述裁剪点位于所述复合节点路口面的同一道路的道路面边线上时,使用直线连接所述两个相邻的所述裁剪点;当两个相邻的所述裁剪点位于所述复合节点路口面的不同道路的道路面边线上时,使用平滑曲线连接所述两个相邻的所述裁剪点。
22.根据权利要求21所述的装置,其特征在于,所述平滑曲线为贝塞尔曲线,所述裁剪模块,还用于将所述两个相邻的所述裁剪点,分别沿着所述裁剪点所在的道路面边线,向所述道路面边线所连接至的所述单节点路口的方向延长,得到两个控制点;根据所述两个相邻的所述裁剪点与所述两个控制点,生成所述贝塞尔曲线。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210998820.9A CN115346012B (zh) | 2022-08-19 | 2022-08-19 | 路口面的生成方法、装置、设备、存储介质和程序产品 |
PCT/CN2023/105644 WO2024037236A1 (zh) | 2022-08-19 | 2023-07-04 | 路口面的生成方法、装置、设备、存储介质和程序产品 |
US18/591,137 US20240200979A1 (en) | 2022-08-19 | 2024-02-29 | Method and apparatus for generating junction plane, device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210998820.9A CN115346012B (zh) | 2022-08-19 | 2022-08-19 | 路口面的生成方法、装置、设备、存储介质和程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115346012A CN115346012A (zh) | 2022-11-15 |
CN115346012B true CN115346012B (zh) | 2023-10-17 |
Family
ID=83953270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210998820.9A Active CN115346012B (zh) | 2022-08-19 | 2022-08-19 | 路口面的生成方法、装置、设备、存储介质和程序产品 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240200979A1 (zh) |
CN (1) | CN115346012B (zh) |
WO (1) | WO2024037236A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115346012B (zh) * | 2022-08-19 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 路口面的生成方法、装置、设备、存储介质和程序产品 |
CN116453070B (zh) * | 2023-03-17 | 2024-08-16 | 腾讯科技(深圳)有限公司 | 一种路口面的生成方法和相关装置 |
CN116433860B (zh) * | 2023-03-27 | 2024-08-09 | 腾讯科技(深圳)有限公司 | 路口面生成方法、装置、设备、存储介质和程序产品 |
CN116212392B (zh) * | 2023-05-08 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 一种虚拟路口生成方法、装置、电子设备和存储介质 |
CN117723073B (zh) * | 2024-02-07 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 高程调整方法、装置、设备、存储介质和计算机程序产品 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103411619A (zh) * | 2013-08-26 | 2013-11-27 | 上海安悦四维信息技术有限公司 | 一种三维道路生成系统及方法 |
CN105953811A (zh) * | 2016-04-29 | 2016-09-21 | 百度在线网络技术(北京)有限公司 | 基于地图数据的道路显示方法及装置 |
JP2018031947A (ja) * | 2016-08-26 | 2018-03-01 | 株式会社ゼンリン | 地図作成装置 |
CN108664016A (zh) * | 2017-03-31 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 确定车道中心线的方法及装置 |
WO2019086055A2 (zh) * | 2017-11-03 | 2019-05-09 | 华为技术有限公司 | 路口区域路网数据生成方法及装置 |
CN110389992A (zh) * | 2018-04-13 | 2019-10-29 | 百度在线网络技术(北京)有限公司 | 导航矢量数据的可视化方法、装置、设备及存储介质 |
CN112033420A (zh) * | 2019-06-03 | 2020-12-04 | 北京京东叁佰陆拾度电子商务有限公司 | 一种车道地图构建方法和装置 |
WO2021104180A1 (zh) * | 2019-11-29 | 2021-06-03 | 上海商汤临港智能科技有限公司 | 地图生成方法、定位方法、装置、设备、存储介质及计算机程序 |
CN113847927A (zh) * | 2021-09-30 | 2021-12-28 | 国汽智控(北京)科技有限公司 | 路径生成的方法、装置、设备、存储介质及程序产品 |
CN113899384A (zh) * | 2021-12-09 | 2022-01-07 | 腾讯科技(深圳)有限公司 | 车道级道路的路口面显示方法、装置、设备、介质及程序 |
CN114049327A (zh) * | 2021-11-16 | 2022-02-15 | 中国测绘科学研究院 | 一种改进的大范围道路中心线分块提取算法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019082431A (ja) * | 2017-10-31 | 2019-05-30 | パイオニア株式会社 | 地図データ構造 |
CN115346012B (zh) * | 2022-08-19 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 路口面的生成方法、装置、设备、存储介质和程序产品 |
-
2022
- 2022-08-19 CN CN202210998820.9A patent/CN115346012B/zh active Active
-
2023
- 2023-07-04 WO PCT/CN2023/105644 patent/WO2024037236A1/zh active Application Filing
-
2024
- 2024-02-29 US US18/591,137 patent/US20240200979A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103411619A (zh) * | 2013-08-26 | 2013-11-27 | 上海安悦四维信息技术有限公司 | 一种三维道路生成系统及方法 |
CN105953811A (zh) * | 2016-04-29 | 2016-09-21 | 百度在线网络技术(北京)有限公司 | 基于地图数据的道路显示方法及装置 |
JP2018031947A (ja) * | 2016-08-26 | 2018-03-01 | 株式会社ゼンリン | 地図作成装置 |
CN108664016A (zh) * | 2017-03-31 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 确定车道中心线的方法及装置 |
WO2019086055A2 (zh) * | 2017-11-03 | 2019-05-09 | 华为技术有限公司 | 路口区域路网数据生成方法及装置 |
CN110389992A (zh) * | 2018-04-13 | 2019-10-29 | 百度在线网络技术(北京)有限公司 | 导航矢量数据的可视化方法、装置、设备及存储介质 |
CN112033420A (zh) * | 2019-06-03 | 2020-12-04 | 北京京东叁佰陆拾度电子商务有限公司 | 一种车道地图构建方法和装置 |
WO2021104180A1 (zh) * | 2019-11-29 | 2021-06-03 | 上海商汤临港智能科技有限公司 | 地图生成方法、定位方法、装置、设备、存储介质及计算机程序 |
CN113847927A (zh) * | 2021-09-30 | 2021-12-28 | 国汽智控(北京)科技有限公司 | 路径生成的方法、装置、设备、存储介质及程序产品 |
CN114049327A (zh) * | 2021-11-16 | 2022-02-15 | 中国测绘科学研究院 | 一种改进的大范围道路中心线分块提取算法 |
CN113899384A (zh) * | 2021-12-09 | 2022-01-07 | 腾讯科技(深圳)有限公司 | 车道级道路的路口面显示方法、装置、设备、介质及程序 |
Non-Patent Citations (1)
Title |
---|
王贤隆 ; 柳有权 ; 李浩宇 ; 董飞 ; .大型三维交通场景道路的自动构建.计算机仿真.2016,(10),第124-128,440页. * |
Also Published As
Publication number | Publication date |
---|---|
WO2024037236A1 (zh) | 2024-02-22 |
US20240200979A1 (en) | 2024-06-20 |
CN115346012A (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115346012B (zh) | 路口面的生成方法、装置、设备、存储介质和程序产品 | |
CN116433860B (zh) | 路口面生成方法、装置、设备、存储介质和程序产品 | |
CN107833273B (zh) | 基于三维仿真模型的倾斜摄影三维模型对象化应用方法 | |
CN113704381B (zh) | 路网数据处理方法、装置、计算机设备和存储介质 | |
CN116721229B (zh) | 地图中道路隔离带的生成方法、装置、设备及存储介质 | |
CN104392489B (zh) | 顾及拓扑的三维地理空间实体群的线消隐方法 | |
CN113724279A (zh) | 路网自动划分交通小区的系统、方法、设备及存储介质 | |
CN117539970B (zh) | 车道数据压缩方法、装置、计算机设备和存储介质 | |
CN113936114B (zh) | 一种bim模型构件类别级轻量化方法及系统 | |
CN117611768B (zh) | 一种基于cad图纸的道路参数化建模方法 | |
CN117011413B (zh) | 道路图像重建方法、装置、计算机设备和存储介质 | |
CN116468870B (zh) | 一种城市道路三维可视化建模方法及系统 | |
CN117195441A (zh) | 一种生成路口面的方法以及相关装置 | |
CN108898679A (zh) | 一种零部件序号自动标注的方法 | |
CN115953780B (zh) | 多维光场复杂场景图智能生成方法与系统 | |
CN112733934B (zh) | 复杂环境下的多模态特征融合道路场景语义分割方法 | |
CN117723073B (zh) | 高程调整方法、装置、设备、存储介质和计算机程序产品 | |
CN116562488B (zh) | 导流岛生成方法、装置、计算机设备、介质和程序产品 | |
Wang et al. | A 3-D city model data structure and its implementation in a relational database | |
CN118012630B (zh) | 车道线数据处理方法以及相关设备 | |
CN118149795B (zh) | 一种道路处理方法以及相关设备 | |
CN116453070B (zh) | 一种路口面的生成方法和相关装置 | |
CN115937438B (zh) | 城市三维模型轻量化方法、系统、电子设备及存储介质 | |
SUGIHARA et al. | Building polygon rectification for automated 3D building models | |
CN117002502A (zh) | 道路数据的处理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40075654 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |