CN116433860A - 路口面生成方法、装置、设备、存储介质和程序产品 - Google Patents
路口面生成方法、装置、设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN116433860A CN116433860A CN202310353993.XA CN202310353993A CN116433860A CN 116433860 A CN116433860 A CN 116433860A CN 202310353993 A CN202310353993 A CN 202310353993A CN 116433860 A CN116433860 A CN 116433860A
- Authority
- CN
- China
- Prior art keywords
- intersection
- road surface
- points
- road
- point
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 239000002131 composite material Substances 0.000 claims abstract description 145
- 238000004590 computer program Methods 0.000 claims abstract description 26
- 230000006870 function Effects 0.000 claims description 78
- 238000009499 grossing Methods 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 238000005457 optimization Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 150000001875 compounds Chemical class 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 230000008569 process 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
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 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
- 238000005520 cutting process Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 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
- 102220015909 rs138331646 Human genes 0.000 description 1
- 102220048341 rs62637658 Human genes 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
Images
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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3667—Display of a road map
- G01C21/367—Details, e.g. road map scale, orientation, zooming, illumination, level of detail, scrolling of road map or positioning of current position marker
-
- 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/30—Polynomial surface description
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请涉及一种路口面生成方法、装置、计算机设备、存储介质和计算机程序产品。该方法可应用于地图领域,可应用在车辆导航、人工智能、智慧交通、辅助驾驶、车载终端等各种场景,该方法包括:在复合节点路口的初始路口面的路口面边线与复合节点路口的道路面边线的交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点;在两个交点所在道路面边线上确定待定控制点,根据基于两个交点、待定控制点所对应的平滑曲线所确定的目标函数与约束条件,确定两个交点所在道路面边线上的控制点,在初始路口面中,使用基于两个交点、确定的控制点所形成的平滑曲线连接两个交点,得到路口面,能够自动化、高质量地生成复合节点路口的路口面。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种路口面生成方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术与互联网技术的快速发展,车道级高精度地图、普通地图、城市道路模型等用于模拟城市道路状况的虚拟地图产品层出不穷,为人们的日常出行带来了便利。
在一些情况下,需要使用原始的路网数据生成复合节点路口的路口面,然而,目前相关方式中,不能自动化生成复合节点路口的路口面,并且,生成的复合节点路口的路口面的形状异常,质量不佳。
发明内容
基于此,有必要针对上述技术问题,提供一种路口面生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,能够自动化、高质量地生成复合节点路口的路口面。
第一方面,本申请提供了一种路口面生成方法。所述方法包括:
确定复合节点路口的路口面边线与道路面边线的交点,所述路口面边线是所述复合节点路口的初始路口面的边线;
在所述交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点;
在所述两个交点所在道路面边线上确定待定控制点,基于所述两个交点、所述待定控制点所对应的平滑曲线,确定目标函数与约束条件;其中,所述目标函数以最小化曲线长度为解算目标,所述约束条件指示所述平滑曲线上的非端点到所述两个交点的连线的距离所需满足的条件;
基于所述目标函数与所述约束条件,确定所述两个交点所在道路面边线上的控制点,在所述初始路口面中,使用基于所述两个交点、确定的所述控制点所形成的平滑曲线连接所述两个交点,得到所述复合节点路口的路口面。
第二方面,本申请还提供了一种路口面生成装置。所述装置包括:
交点确定模块,用于确定复合节点路口的路口面边线与道路面边线的交点,所述路口面边线是所述复合节点路口的初始路口面的边线;在所述交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点;
建模模块,用于在所述两个交点所在道路面边线上确定待定控制点,基于所述两个交点、所述待定控制点所对应的平滑曲线,确定目标函数与约束条件;其中,所述目标函数以最小化曲线长度为解算目标,所述约束条件指示所述平滑曲线上的非端点到所述两个交点的连线的距离所需满足的条件;
曲线连接模块,用于基于所述目标函数与所述约束条件,确定所述两个交点所在道路面边线上的控制点,在所述初始路口面中,使用基于所述两个交点、确定的所述控制点所形成的平滑曲线连接所述两个交点,得到所述复合节点路口的路口面。
在一个实施例中,所述两个交点包括位于第一道路面边线上的第一交点与位于第二道路面边线上的第二交点;建模模块还用于在所述第一道路面边线上确定第一待定控制点;所述第一待定控制点,是从所述第一交点开始,沿着所述第一道路面边线,向所述第一道路面边线所连接至的单节点路口的方向延长第一待定距离得到的;在所述第二道路面边线上确定第二待定控制点;所述第一待定控制点,是从所述第二交点开始,沿着所述第二道路面边线,向所述第二道路面边线所连接至的单节点路口的方向延长第二待定距离得到的。
在一个实施例中,建模模块还用于基于所述第一交点、所述第二交点、所述第一待定距离以及所述第二待定距离,确定曲线方程;根据所述曲线方程,确定所述平滑曲线的曲线长度;根据所述平滑曲线的曲线长度,构建目标函数。
在一个实施例中,建模模块还用于根据所述曲线方程,确定位于平滑曲线上的每个离散点;根据所述平滑曲线上的每两个相邻离散点之间的距离,计算所述平滑曲线的曲线长度。
在一个实施例中,建模模块还用于基于所述第一交点、所述第二交点、所述第一待定距离以及所述第二待定控制点,确定曲线方程;根据所述曲线方程,确定位于平滑曲线上的每个离散点;确定每个离散点到所述第一交点与所述第二交点之间的连线的距离;以所述距离中的最大值不小于目标值为所述约束条件。
在一个实施例中,建模模块还用于计算所述第一道路面边线与所述第二道路面边线的道路面边线交点;根据所述道路面边线交点到所述第一交点与所述第二交点之间的连线的距离,确定所述目标值。
在一个实施例中,建模模块还用于确定所述第一交点与所述第二交点之间的连线;计算所述第一道路面边线与所述连线之间的第一夹角;计算所述第二道路面边线与所述连线之间的第二夹角;根据所述第一夹角、所述第二夹角,确定所述第一道路面边线与所述第二道路面边线之间的第三夹角;根据所述第三夹角、所述第一交点与所述第二交点之间的连线的长度确定所述道路面边线交点。
在一个实施例中,建模模块还用于根据所述道路面边线交点到所述第一交点与所述第二交点之间的连线的距离,确定第一目标值;取所述第一目标值与所述第二目标值中的较小值,作为所述目标值;其中,所述第二目标值为预设值。
在一个实施例中,曲线连接模块还用于以所述目标函数所表征的平滑曲线的长度最小化为解算目标、以所述约束条件为解算条件、以所述第一待定距离与所述第二待定距离为解算变量,求解得到第一距离与第二距离;根据所述第一交点、所述第二交点、所述第一距离与第二距离确定所述平滑曲线,在所述初始路口面中,使用所述平滑曲线连接所述两个交点,得到所述复合节点路口的路口面。
在一个实施例中,上述装置还包括:
初始路口面生成模块,用于获取所述所述复合节点路口的初始路口面;
道路面生成模块,用于获取所述复合节点路口的道路面;
交点确定模块,用于根据所述初始路口面的路口面边线与所述道路面的道路面边线,确定路口面边线与道路面边线的交点。
在一个实施例中,初始路口面生成模块,还用于获取所述复合节点路口包括的每个单节点路口的路口面;根据所述每个单节点路口的路口面所包括的形状点,得到形状点集合;根据所述形状点集合,计算包围所述形状点集合中所有形状点的最小凸多边形,得到所述复合节点路口的初始路口面。
在一个实施例中,道路面生成模块,还用于获取所述复合节点路口所包括的每个单节点路口各自的路网数据;根据所述路网数据确定连接至每个所述单节点路口的至少两条道路,得到所述复合节点路口所包括的多条道路;对于每条道路,获取相应的道路信息,根据所述道路信息确定各所述道路对应的道路宽度,按拓各自的道路宽度拓宽各所述道路,得到所述道路的道路面;所述道路信息包括道路等级、车道数量和车道宽度中的至少一种;根据每条所述道路的道路面,得到所述复合节点路口的道路面。
在一个实施例中,所述曲线连接模块还用于在所述交点中,确定相邻、且位于同一个道路面的道路面边线上的两个交点;使用直线连接相邻、且位于同一个道路面的道路面边线上的两个交点。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
确定复合节点路口的路口面边线与道路面边线的交点,所述路口面边线是所述复合节点路口的初始路口面的边线;
在所述交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点;
在所述两个交点所在道路面边线上确定待定控制点,基于所述两个交点、所述待定控制点所对应的平滑曲线,确定目标函数与约束条件;其中,所述目标函数以最小化曲线长度为解算目标,所述约束条件指示所述平滑曲线上的非端点到所述两个交点的连线的距离所需满足的条件;
基于所述目标函数与所述约束条件,确定所述两个交点所在道路面边线上的控制点,在所述初始路口面中,使用基于所述两个交点、确定的所述控制点所形成的平滑曲线连接所述两个交点,得到所述复合节点路口的路口面。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
确定复合节点路口的路口面边线与道路面边线的交点,所述路口面边线是所述复合节点路口的初始路口面的边线;
在所述交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点;
在所述两个交点所在道路面边线上确定待定控制点,基于所述两个交点、所述待定控制点所对应的平滑曲线,确定目标函数与约束条件;其中,所述目标函数以最小化曲线长度为解算目标,所述约束条件指示所述平滑曲线上的非端点到所述两个交点的连线的距离所需满足的条件;
基于所述目标函数与所述约束条件,确定所述两个交点所在道路面边线上的控制点,在所述初始路口面中,使用基于所述两个交点、确定的所述控制点所形成的平滑曲线连接所述两个交点,得到所述复合节点路口的路口面。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
确定复合节点路口的路口面边线与道路面边线的交点,所述路口面边线是所述复合节点路口的初始路口面的边线;
在所述交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点;
在所述两个交点所在道路面边线上确定待定控制点,基于所述两个交点、所述待定控制点所对应的平滑曲线,确定目标函数与约束条件;其中,所述目标函数以最小化曲线长度为解算目标,所述约束条件指示所述平滑曲线上的非端点到所述两个交点的连线的距离所需满足的条件;
基于所述目标函数与所述约束条件,确定所述两个交点所在道路面边线上的控制点,在所述初始路口面中,使用基于所述两个交点、确定的所述控制点所形成的平滑曲线连接所述两个交点,得到所述复合节点路口的路口面。
上述路口面生成方法、装置、计算机设备、存储介质和计算机程序产品,在复合节点路口的初始路口面的路口面边线与该复合节点路口的道路面边线的交点中,对于相邻、且位于不同道路面的道路面边线上的两个交点,为了生成形状自然的路口面,需要使用平滑曲线连接该两个交点。
通过在该两个交点所在道路面边线上确定待定控制点,基于该两个交点、待定控制点所对应的平滑曲线,可以确定以最小化曲线长度为解算目标的目标函数,目标函数可保证两个交点之间的平滑曲线的长度尽量短,不会过多侵入路口面,避免路口面形状怪异。此外,还基于该两个交点、待定控制点所对应的平滑曲线确定约束条件,可约束平滑曲线上的非端点到该两个交点的连线的距离。基于该目标函数与约束条件所确定的控制点,可同时保证平滑曲线尽量短又有一定的弯曲度,不过于生硬,与实际路口面的形状较为匹配。
这样,在上述的初始路口面中,使用基于该两个交点、确定的控制点所形成的平滑曲线连接该两个交点,得到的路口面,质量更佳、更自然。
附图说明
图1为相关技术中生成的路口面的示意图;
图2为一个实施例中路口面生成方法的应用环境图;
图3为一个实施例中路口面生成方法的流程示意图;
图4为一个实施例中复合节点路口的示意图;
图5为一个实施例中复合节点路口的初始路口面的示意图;
图6为一个实施例中复合节点路口的道路面的效果示意图;
图7为一个实施例中路口面边线与道路面边线的交点的示意图;
图8为一个实施例中平滑连接交点的效果示意图;
图9为一个实施例中贝塞尔曲线的示意图;
图10为一个实施例中效果较优的路口面的示意图;
图11为一个实施例中路口面的示意图;
图12为一个实施例中平滑曲线上各点的示意图;
图13为一个实施例中确定道路面边线交点到连线的距离的示意图;
图14为一个具体的实施例中路口面生成方法的流程示意图;
图15为一个实施例中路口面生成装置的结构框图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的路口面生成方法,可以应用于高精度虚拟地图、普通精度地图、城市道路模型等各种虚拟地图产品中,可以用于可视化呈现包括多个路口的道路区域。该路口面生成方法,可以理解为是对地图原始数据的编译的过程,即作为一个承上启下的环节,对原始地图数据进行加工、处理,生成更紧凑、更易于使用的文件或数据。编译得到的数据可以提供给上层(如地图导航、定位技术、地图渲染等)调用。示例性的,生成的路口面数据,能够为导航引擎提供路口处的底图数据,增强导航界面的可视化效果,并且还可以为自动驾驶在路口处决策的情况下,或者使用电子地图进行行驶决策时的对象,如驾驶员等提供数据支持,防止车辆行驶超出路口范围,从而降低路口处事故发生的概率,提升自动驾驶的安全性。
本申请提供的生成路口面方法,至少涉及以下的智能交通系统、云计算、计算机视觉技术等技术。示例性的,可以基于电子地图中的路网数据,生成复合节点路口的道路面、路口面。在一些示例中,也可以利用智能交通系统,以基于路口面的位置信息、轮廓等为驾驶员等驾驶对象提供智能导航路线服务。或者,终端设备也可以利用计算机视觉技术等,以在导航应用页面或者地图页面中更加真实、清晰的展示路口面对应的高精度三维图像。
智能交通系统(intelligent traffic system,ITS)又称智能运输系统(Intelligent Transportation System),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。其中,智慧交通、车联网、自动驾驶、无人驾驶等技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,目前有着广泛的应用前景。
计算机视觉技术(computer vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、踪迹追溯和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
目前,车道级导航主要使用高精度地图数据,然而由于高精度地图的覆盖面积比较有限,比如有些城市五环外才有高精度地图数据,五环内是没有的。为了在没有高精度地图数据的地方获得近似于高精度地图的效果,需要用算法根据标准精度地图(即普通导航地图)生成一些道路元素,复合节点路口的路口面数据作为道路元素之一,需要通过原始的路网数据生成。
如图1所示,为相关技术中生成的路口面的示意图。参照图1,在生成路口面时,对于属于不同道路的两个端点之间采用平滑曲线相连。在一些自动化生成复合节点路口的路口面的方式中,会出现平滑曲线侵入路口过多,导致路口形状异常、生成的路口面的质量较差的问题。通常只能人工维护,使得曲线近似于直线,从而避免曲线侵入路口过多。但这种解决方法成本高,而且只能发现了问题再去解决,而且并没有从根本上解决问题,也就是,仍然无法自动化生成高质量的路口面。
本申请实施例提供的路口面生成方法,在复合节点路口的初始路口面的路口面边线与该复合节点路口的道路面边线的交点中,对于相邻、且位于不同道路面的道路面边线上的两个交点,为了生成形状自然的路口面,需要使用平滑曲线连接该两个交点。通过在该两个交点所在道路面边线上确定待定控制点,基于该两个交点、待定控制点所对应的平滑曲线,可以确定以最小化曲线长度为解算目标的目标函数,目标函数可保证两个交点之间的平滑曲线的长度尽量短,不会过多侵入路口面,避免路口面形状怪异。此外,还基于该两个交点、待定控制点所对应的平滑曲线确定约束条件,可约束平滑曲线上的非端点到该两个交点的连线的距离。基于该目标函数与约束条件所确定的控制点,可同时保证平滑曲线尽量短又有一定的弯曲度,不过于生硬,与实际路口面的形状较为匹配。这样,在上述的初始路口面中,使用基于该两个交点、确定的控制点所形成的平滑曲线连接该两个交点,得到的路口面,质量更佳、更自然。
本申请实施例提供的路口面生成方法,可以应用于如图2所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据,如复合节点路口所包括的多个单节点路口各自的路网数据,路网数据包括连接至该单节点路口的道路、道路等级、道路宽度、车道数量等信息,这些路网数据可用于生成复合节点路口的路口面。或者,数据存储系统可以存储复合节点路口的道路面与初始路口面相关的数据,如道路面边线、路口面边线,等等。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。
在一个实施例中,可以由服务器104实施本申请的路口面生成方法,服务器104可以确定复合节点路口的路口面边线与道路面边线的交点,路口面边线是复合节点路口的初始路口面的边线;在交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点,继而,在两个交点所在道路面边线上确定待定控制点,基于两个交点、待定控制点所对应的平滑曲线,确定目标函数与约束条件,接着,基于目标函数与约束条件,确定两个交点所在道路面边线上的控制点,在初始路口面中,使用基于两个交点、确定的控制点所形成的平滑曲线连接两个交点,得到复合节点路口的路口面。在一些实施例中,终端102可以调用服务器104生成的复合节点路口的路口面(路口面的路口面边界线对应点串,即一系列点坐标),在虚拟地图中渲染展示该复合节点路口的路口面。
在一些实施例中,终端102上可以安装并运行有支持地图服务的应用程序,服务器104可以是为该应用程序提供服务的服务器,终端102基于该应用程序与服务器104实现交互。该应用程序可以是地图应用、导航应用、定位应用或者任一支持显示路口的应用程序,例如,交通出行应用、需要调用并显示道路路口的游戏应用等。可以理解,在一些实施例中,也可以由终端生成复合节点路口的路口面,本申请实施例中不限定生成路口面的执行主体。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等,智能车载设备可以车载导航终端和车载电脑等,便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdelivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。
在一个实施例中,如图3所示,提供了一种路口面生成方法,以该方法应用于图2中的计算机设备(如服务器104)为例进行说明,包括以下步骤:
步骤302,确定复合节点路口的路口面边线与道路面边线的交点,路口面边线是复合节点路口的初始路口面的边线;在交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点。
其中,路口是至少两条道路交汇形成的道路原始,路口可以用节点表示。在普通地图数据中,道路一般用一条没有宽度的线段(以下称为link)表示,至少两条线段(link)交汇形成一个节点,即至少两条线段的共同端点,记为一个节点,该节点表示的是该至少两条线段所指示的道路的交汇所形成的路口。按照包含的节点的个数,路口可以分为单节点路口和复合节点路口。单节点路口指单个节点所表示的路口,复合节点路口指多个节点所表示的“大路口”。
如图4所示,为一个实施例中复合节点路口的示意图。如图4所示,在该复合节点路口中,包括四个单节点路口,每个单节点路口也由4条道路汇合在一起,各自形成一个单节点路口,可见该复合节点路口一共包括12条道路。
计算机设备可以获取至少两个单节点路口的路网数据,若各自的路网数据中包括同一个复合节点路口标识,则表示该多个单节点路口可以形成同一个复合节点路口,该复合节点路口的路网数据可以由这些单节点路口的路网数据得到。每个单节点路口的路网数据,可以包括连接至该单节点路口的至少两条道路的路网数据,还可以包括所在的复合节点路口标识。每条道路的路网数据,可以包括一串坐标数据(点串),也就是形成该道路的位置点,还可以包括所连接至的单节点标识,还可以包括该道路的道路属性,如道路宽度、道路等级、道路名称、道路车道数等等。
计算机设备可以从地图数据中确定需要生成路口面的复合节点路口,该复合节点路口可以是高精度地图中高精度数据缺乏的复合节点路口,还可以是普通精度地图中需要生成路口面的复合节点路口。
在一个实施例中,复合节点路口的初始路口面,是根据复合节点路口所包括的每个单节点路口的路口面确定的不规则多边形。即,该方法还包括确定复合节点路口的初始路口面的步骤:获取复合节点路口包括的每个单节点路口的路口面;根据每个单节点路口的路口面所包括的形状点,得到形状点集合;根据形状点集合,计算包围形状点集合中所有形状点的最小凸多边形,得到复合节点路口的初始路口面。
如图5所示,为一个实施例中复合节点路口的初始路口面的示意图。参照图5可知,该复合节点路口包括4个单节点路口,每个单节点路口的具有路口面,包括这4个单节点路口的所有形状点的最小凸多边形,作为该复合节点路口的复合路口面。
可见,为了得到复合节点路口的路口面,计算机设备需要先生成该复合节点路口所包括的每个单节点路口的路口面。本申请实施例对于生成每个单节点路口的路口面的方式或具体算法,不作限制。
复合节点路口的道路面,根据该复合节点路口所包括的每条道路的道路面生成。复合节点路口的道路面可以是所包括的每条道路的道路面所形成的集合。对于进行路口面优化的复合节点路口,计算机设备可以获取相应的路口信息,从而确定该复合节点路口所包括的单节点路口、每个单节点路口所汇聚的道路以及每条道路的道路信息等等。
前文提到,地图原始的路网数据中,每条道路通常是用一条没有宽度的线段表示,为了生成复合节点路口的道路面,计算机设备需要将该没有宽度的线段拓宽成具有一定宽度的道路面。拓宽的依据可以是该道路的道路信息,如道路等级、车道数量等等,车道等级例如是主干道路、次干道路、支干道路等,车道等级例如还可以是一级公路、二级公路、三级公路、四级公路等。不同道路信息的道路,对应不同的拓宽宽度,计算机设备按该道路宽度将每条道路拓宽成相应的道路面。在一些实施例中,道路的道路信息可以直接包括相应的道路宽度,计算机设备按该道路宽度将每条道路拓宽成相应的道路面。在一些实施例中,每条道路的道路宽度也可以取相同的值。可以理解,每条道路被拓宽后形成的道路面,均包括道路面左侧边线与道路面右侧边线。用于拓宽道路的道路宽度,可以是一侧的道路宽度,也可以是左右两侧共同的道路宽度,两侧各自的道路宽度可以相同,也可以不同。
在一个实施例中,该方法还包括生成复合节点路口的道路面的步骤,包括:获取复合节点路口所包括的每个单节点路口各自的路网数据;根据路网数据确定连接至每个单节点路口的至少两条道路,得到复合节点路口所包括的多条道路;对于每条道路,获取相应的道路信息,根据道路信息确定各道路对应的道路宽度,按拓各自的道路宽度拓宽各道路,得到道路的道路面;道路信息包括道路等级、车道数量和车道宽度中的至少一种;根据每条道路的道路面,得到复合节点路口的道路面。
这样,只需要基于复合节点路口所包括的道路的道路信息,就可以将一个没有宽度的道路拓宽,得到相应的道路面,从而简单、高效地生成复合节点路口的道路面,无需依赖其它额外的数据或复杂策略。
如图6所示,为一个实施例中复合节点路口的道路面的效果示意图。参照图6,依据复合节点路口所包括的每条道路(link)的道路属性信息,将每条道路按相应的道路宽度向两侧拓宽后,形成复合节点路口的道路面。
初始路口面的路口面边线,是初始路口面的边界线。参照图5的例子,初始路口面的路口面边线,是不规则多边形的外部包围线。复合节点路口的道路面边线,参照图6的例子,包括复合节点路口中每条道路被拓宽后形成的道路面的道路面左侧边线与道路面右侧边线。
本实施例中,为了得到更贴合路口实际状况的路口面,计算机设备利用复合节点路口的道路面,对该初始路口面进行更进一步的处理,如利用路口面边线与道路面边线的交点进行进一步的裁剪,从而得到最终的贴合道路实际路况的复合节点路口的路口面。
如图7所示,为一个实施例中路口面边线与道路面边线的交点的示意图。参照图7,路口面边线与道路面边线的交点有多个。为了得到更贴合路口实际状况的路口面,在一个实施例中,对于相邻、且位于相同道路面的道路面边线上的两个交点,可以直接用直线连接该两个交点,对于相邻、且位于不同道路面的道路面边线上的两个交点,可以用平滑曲线连接该两个交点。
如图8所示,为一个实施例中平滑连接交点的效果示意图。参照图8,M、N是相邻、且位于相同道路面的道路面边线上的两个交点,用直线连接。P、Q是相邻、且位于不同道路面的道路面边线上的两个交点,使用平滑曲线连接。
平滑曲线可以是贝塞尔曲线,如三阶、四阶或五阶贝塞尔曲线等,本申请实施例不作限制。考虑到平滑效果与计算量,可采用四阶贝塞尔曲线。后文均以四阶贝塞尔曲线为例进行说明,其它曲线的方式与之类似。
对于四阶贝塞尔曲线而言,确定用于连接两个交点的四阶贝塞尔曲线,已经该两个交点,仍需两个控制点,该两个控制点可以基于经验确定,例如,为保证生成的路口面的效果,该两个控制点是该两个交点各自所在道路面边线上的点,可使平滑曲线与道路面边线相切。如图9所示,为一个实施例中贝塞尔曲线的示意图。两个交点,分别为第一交点P1与第二交点P2,从第一交点开始,沿着所在的第一道路面边线,向第一道路面边线所连接至的单节点路口的方向延长第一预设距离d1,得到第一控制点P11,从第二交点开始,沿着所在的第二道路面边线,向第二道路面边线所连接至的单节点路口的方向延长第二预设距离d2,得到第二控制点P22,从而可以根据第一交点P1、第二交点P2、控制点P11和P22,计算P1与P2之间的四阶贝塞尔曲线对应的点串,使用该点串平滑连接P1与P2。
然而,由于d1和d2是人为预先设置好的固定值,无法根据不同的场景动态调整,生成的贝塞尔曲线可能存在如图1所示的问题,即侵入路口过多,导致最终生成的路口面的形状异常,不够自然。为了解决图1的问题,本申请实施例可以根据不同的复合节点路口,动态调整d1和d2的取值,可以自动化、高质量地生成路口面。
步骤304,在两个交点所在道路面边线上确定待定控制点,基于两个交点、待定控制点所对应的平滑曲线,确定目标函数与约束条件;其中,目标函数以最小化曲线长度为解算目标,约束条件指示平滑曲线上的非端点到两个交点的连线的距离所需满足的条件。
由于当两个端点固定时,贝塞尔曲线以及曲线上各点的坐标完全取决于d1和d2的取值,也即取决于控制点的位置。计算机设备通过建立一个最优化模型,使用这个模型可以计算出与复合节点路口匹配、且较优的d1和d2,可保证从初始路口面中裁剪出最终的路口面的效果。即以控制点为解算变量、以目标函数为解算目标、以约束条件为约束方程,求解出控制点。
为了减少生成的平滑曲线侵入路口面过多的问题,平滑曲线的曲线长度应当尽量短,因为曲线长度越短,平滑曲线越接近直线,就可避免图1所示的问题。基于此,可构建目标函数,即目标函数以最小化曲线长度为解算目标。而倘若在所有场景下平滑曲线都非常接近直线,显然是违背使用平滑曲线的目的。如图10所示,为一个实施例中效果较优的路口面的示意图,参照图10,箭头指向的边如果是曲线的话会更为美观,如果是直线连接的则会较为生硬,为避免平滑曲线非常接近直线,可构建约束条件为平滑曲线上的非端点到两个交点的连线的距离应当大于一定值,非端点即平滑曲线上除了该两个交点以外的点,可保证平滑曲线有一定的弧度。
步骤306,基于目标函数与约束条件,确定两个交点所在道路面边线上的控制点,在初始路口面中,使用基于两个交点、确定的控制点所形成的平滑曲线连接两个交点,得到复合节点路口的路口面。
这样,在确定了上述的目标函数、约束条件与解算变量后,计算机设备就可以基于目标函数与约束条件,确定两个交点所在道路面边线上的控制点,根据两个交点、确定的控制点就可以确定两个交点之间的平滑曲线,从而,可以在初始路口面中,使用该平滑曲线连接两个交点,得到复合节点路口的路口面。
如图11所示,为一个实施例中生成的路口面的示意图。与图1对比,该路口面克服了图1存在的侵入路口面过多的问题,且具有一定的弧度,质量较好。图11中,封闭不规则图形即为最终生成的复合节点路口的路口面,计算机设备可以将该路口面的边界线对应的点串与该复合节点路口对应存储,作为该复合节点路口的属性数据,以供其它应用程序或接口在展示、渲染该复合节点路口时快捷使用。
上述路口面生成方法,在复合节点路口的初始路口面的路口面边线与该复合节点路口的道路面边线的交点中,对于相邻、且位于不同道路面的道路面边线上的两个交点,为了生成形状自然的路口面,需要使用平滑曲线连接该两个交点。通过在该两个交点所在道路面边线上确定待定控制点,基于该两个交点、待定控制点所对应的平滑曲线,可以确定以最小化曲线长度为解算目标的目标函数,目标函数可保证两个交点之间的平滑曲线的长度尽量短,不会过多侵入路口面,避免路口面形状怪异。此外,还基于该两个交点、待定控制点所对应的平滑曲线确定约束条件,可约束平滑曲线上的非端点到该两个交点的连线的距离。基于该目标函数与约束条件所确定的控制点,可同时保证平滑曲线尽量短又有一定的弯曲度,不过于生硬,与实际路口面的形状较为匹配。这样,在上述的初始路口面中,使用基于该两个交点、确定的控制点所形成的平滑曲线连接该两个交点,得到的路口面,质量更佳、更自然。
在一个实施例中,两个交点包括位于第一道路面边线上的第一交点与位于第二道路面边线上的第二交点;在两个交点所在道路面边线上确定待定控制点,包括:在第一道路面边线上确定第一待定控制点;第一待定控制点,是从第一交点开始,沿着第一道路面边线,向第一道路面边线所连接至的单节点路口的方向延长第一待定距离得到的;在第二道路面边线上确定第二待定控制点;第一待定控制点,是从第二交点开始,沿着第二道路面边线,向第二道路面边线所连接至的单节点路口的方向延长第二待定距离得到的。
下面说明最优化模型推导的原理。参照图9所示的四阶贝塞尔曲线,控制点有两个。曲线上各点的坐标可表达如下:
P=(1-t)^3*P1+3(1-t)^2*t*P11+3(1-t)*t^2*P22+t^3*P2
其中,t是属于[0,1]的参数,即t取不同的值,代表曲线上不同的点。
P11=P1+d1*V1;
P22=P2+d2*V2;
其中V1代表从P1到P11单位向量,该单位向量位于P1所在的第一道路面边线上,V2代表从P2到P22的单位向量,该单位向量位于P2所在的第二道路面边线上。
可以推导出:
P=(1-t)^3*P1+3(1-t)^2*t*(P1+d1*V1)+3(1-t)*t^2*(P2+d2*V2)+t^3*P2;
整理可得:
P=f0+f1*d1+f2*d2;
其中,
f0=[(1-t)^3+3(1-t)^2*t]*P1+[t^3+3(1-t)*t^2]*P2;
f1=3(1-t)^2*t*V1;
f2=3(1-t)*t^2*V2;
可见,当t取一系列固定值时,即对于曲线上的每个点而言,f0、f1、f2都是常向量。从上面的推导可以看出,当起、终点固定时,四阶贝塞尔曲线上各点的坐标完全取决于d1和d2的取值。故而,建立的最优化模型的解算变量即为d1和d2,也即两个待定控制点。
为此,计算机设备从两个交点中的第一交点开始,沿着第一道路面边线,向第一道路面边线所连接至的单节点路口的方向延长第一待定距离,得到第一待定控制点,从第二交点开始,沿着第二道路面边线,向第二道路面边线所连接至的单节点路口的方向延长第二待定距离,得到第二待定控制点,即,本申请实施例中,参照图9所示的四阶贝塞尔曲线,d1和d2是需要根据第一道路面边线、第二道路面边线、第一交点与第二交点确定的,而非预设的固定值。
在一个实施例中,根据基于两个交点、待定控制点所对应的平滑曲线,确定目标函数,包括:基于第一交点、第二交点、第一待定距离以及第二待定距离,确定曲线方程;根据曲线方程,确定平滑曲线的曲线长度;根据平滑曲线的曲线长度,构建目标函数。
建立的最优化模型的目标函数如何确立,取决于本申请实施例要解决的问题。为了减少生成的平滑曲线侵入路口面过多的问题,平滑曲线的曲线长度应当尽量短,因为曲线长度越短,平滑曲线越接近直线,就可避免图1所示的问题。基于此,可构建目标函数,即目标函数以最小化曲线长度为解算目标。从而该解算目标转化为如何确定平滑曲线的曲线长度的问题。本实施例中,在计算贝塞尔曲线长度时,可以基于平滑曲线的曲线方程确定。
由于平滑曲线实际是由若干个离散点组成的,所以任意两个相邻点之间的距离之和即为曲线长度,即,在一个实施例中,根据曲线方程确定平滑曲线的曲线长度,包括:根据曲线方程,确定位于平滑曲线上的每个离散点;根据平滑曲线上的每两个相邻离散点之间的距离,计算平滑曲线的曲线长度。
即,目标函数可以通过如下公式表示:
其中,|pi-1pi|表示平滑曲线上第i-1个离散点到第i个离散点的距离。该距离可根据两个离散点的坐标之间的距离计算得到。
在确立了最优化模型的目标函数后,考虑到如果没有约束条件,最小化目标函数会导致在所有场景下,d1和d2都会取定义的下限值,也就是说,在所有场景下贝塞尔曲线都会很接近直线,这显然违背使用贝塞尔曲线的目的。为避免平滑曲线非常接近直线,可构建约束条件为平滑曲线上的非端点到两个交点的连线的距离应当大于一定值,非端点即平滑曲线上除了该两个交点以外的点,可保证平滑曲线有一定的弧度。即,在一个实施例中,根据基于两个交点、待定控制点所对应的平滑曲线,确定约束条件,包括:基于第一交点、第二交点、第一待定距离以及第二待定控制点,确定曲线方程;根据曲线方程,确定位于平滑曲线上的每个离散点;确定每个离散点到第一交点与第二交点之间的连线的距离;以距离中的最大值不小于目标值为约束条件。
如图12所示,P1和P2是上述的两个交点,也是平滑曲线的起、终点,P3、P4、P5是生成的平滑曲线上除了起、终点之外的各点。P3、P4、P5可以分别计算出到P1和P2连线的距离l3、l4、l5,这三个数中的最大值(即l4)应该不小于一个给定值,这样才能保证在一些场景下曲线有足够的弧度。
为此,约束条件G可表达为:
Max(li)≥D,i=2,…,n-1
其中,li是平滑曲线上第i个点Pi到连线P1P2的垂直距离。
li可以按以下方法计算:假设P1=(x1,y1),P2=(x2,y2),Pi=(xi,yi),若P1P2连线不平行于各点坐标所在坐标系的坐标轴,则由直线方程的两点式,可以得到P1P2连线的方程:
整理可得:Ax+By+C=0;
由点到直线的距离公式,可得Pi(xi,yi)到P1P2连线的距离:
若P1P2连线平行于各点坐标所在坐标系的x轴,则li=|yi-y0|。
若P1P2连线平行于各点坐标所在坐标系的y轴,则li=|xi-x0|。
基于上述的介绍可知,最优化模型可以表述为:
s.t.
max(li)≥D,i=2,...,.n-1
本实施例中,通过约束平滑曲线上除了起、终点(即上述的两个交点)以外,其它各点到起、终点之间连线的距离的最大值,不小于给定值,可保证平滑曲线有一定的弧度,从而提升最终从初始路口面中“裁剪”出路口面的质量。
由于平滑曲线上每个点到连线P1P2的垂直距离,大于目标值,该目标值的取值显然不能无尽大,应该小于一定值,才可保证曲线的形状正常。形状正常的平滑曲线上的点P到连线P1P2的最大距离,显然不会超过第一道路面边线与第二道路面边线的道路面边线交点到连线P1P2的最大距离。故而,计算机设备可以计算第一道路面边线与第二道路面边线的道路面边线交点,根据道路面边线交点到第一交点与第二交点之间的连线的距离,确定目标值。
在一个实施例中,计算第一道路面边线与第二道路面边线的道路面边线交点,包括:确定第一交点与第二交点之间的连线;计算第一道路面边线与连线之间的第一夹角;计算第二道路面边线与连线之间的第二夹角;根据第一夹角、第二夹角,确定第一道路面边线与第二道路面边线之间的第三夹角;根据第三夹角、第一交点与第二交点之间的连线的长度确定道路面边线交点。
可选地,根据第三夹角、第一交点与第二交点之间的连线的长度确定道路面边线交点,包括:根据第三夹角、第一交点与第二交点之间的连线的长度以及第一夹角,确定第二交点到道路面边线交点的距离,或者,根据第三夹角、第一交点与第二交点之间的连线的长度以及第二夹角,确定第一交点到道路面边线交点的距离;根据距离确定道路面边线交点。
如图13所示,P点是V1和V2连线的交点,形状正常的贝塞尔曲线上也是所有点到起、终点连线P1P2的距离,不会超过P点到P1P2的距离。V12为从P1指向P2的单位向量,即:
第一道路面边线(即单位向量V1所在的道路面边线)与连线P1P2之间的第一夹角为:
α1=arccos(V12·V1);
第二道路面边线(即单位向量V2所在的道路面边线)与连线P1P2之间的第二夹角为:
α2=arccos(-V12·V2);
第一道路面边线与第二道路面边线之间的第三夹角为:
α3=180°-α1-α2;
由正弦定理:
其中,|P1P2|可由起、终点的坐标计算出来,是已知量。
即P到P1P2连线的距离为:
由于当约束条件中D的取值比L大时,确定的贝塞尔曲线会出现飞线等异常情况,为此,在一个实施例中,根据道路面边线交点到第一交点与第二交点之间的连线的距离,确定目标值,包括:根据道路面边线交点到第一交点与第二交点之间的连线的距离,确定第一目标值;取第一目标值与第二目标值中的较小值,作为目标值;其中,第二目标值为预设值。可选地,第一目标值可以是道路面边线交点到第一交点与第二交点之间的连线的距离的一半,第二目标值可以取值为2,即约束条件中D的取值为:
在一个实施例中,基于目标函数与约束条件,确定两个交点所在道路面边线上的控制点,在初始路口面中,使用基于两个交点、确定的控制点所形成的平滑曲线连接两个交点,得到复合节点路口的路口面,包括:以目标函数所表征的平滑曲线的长度最小化为解算目标、以约束条件为解算条件、以第一待定距离与第二待定距离为解算变量,求解得到第一距离与第二距离;根据第一交点、第二交点、第一距离与第二距离确定平滑曲线,在初始路口面中,使用平滑曲线连接两个交点,得到复合节点路口的路口面。
基于上述内容,可确定的目标函数与约束条件的公式较为复杂,可使用最优化求解器确定最佳的d1与d2,从而确定贝赛尔曲线的两个控制点。最优化求解器在求解优化问题时需要使用到目标函数和约束条件的偏导数,以及拉格朗日函数的Hessian矩阵。
可选地,计算机设备可以采用数值微分公式计算目标函数和约束条件的偏导数。例如,可采用中心差商近似计算偏导数。目标函数V与约束条件G都是关于第一待定距离与第二待定距离的二元函数,因此可通过如下公式计算偏导数:
需要注意的是,h的取值不能过大,否则计算结果与精确的偏导数差异过大,h的取值也不能过小,否则由于贝塞尔曲线计算的不稳定性,计算结果可能等于0,也与精确的偏导数差异过大,例如,取h=10-4。当然,还可以基于插值型求导公式求解目标函数与约束条件的偏导数,本申请实施例对此不作限制。
基于上述方式在求解完优化问题后,根据得到的优化距离d1和d2,即可计算出两个交点P1与P2之间的平滑曲线。
如图14所示,为一个具体的实施例中路口面生成方法的流程示意图。该方法可以由计算机设备执行,参照图14,包括以下步骤:
步骤1402,获取复合节点路口包括的每个单节点路口的路口面。
步骤1404,根据每个单节点路口的路口面所包括的形状点,得到形状点集合。
步骤1406,根据形状点集合,计算包围形状点集合中所有形状点的最小凸多边形,得到复合节点路口的初始路口面。
步骤1408,获取复合节点路口的道路面。
步骤1410,根据初始路口面的路口面边线与道路面的道路面边线,确定路口面边线与道路面边线的交点。
步骤1412,在交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点;两个交点包括位于第一道路面边线上的第一交点与位于第二道路面边线上的第二交点。
步骤1414,从第一交点开始,沿着第一道路面边线,向第一道路面边线所连接至的单节点路口的方向延长第一待定距离得到第一待定控制点。
步骤1416,从第二交点开始,沿着第二道路面边线,向第二道路面边线所连接至的单节点路口的方向延长第二待定距离得到第二待定控制点。
步骤1418,基于第一交点、第二交点、第一待定距离以及第二待定距离,确定曲线方程,根据曲线方程,确定位于平滑曲线上的每个离散点。
步骤1420,根据平滑曲线上的每两个相邻离散点之间的距离,计算平滑曲线的曲线长度,根据平滑曲线的曲线长度,构建目标函数,目标函数以最小化曲线长度为解算目标。
步骤1422,计算第一道路面边线与第二道路面边线的道路面边线交点,根据道路面边线交点到第一交点与第二交点之间的连线的距离,确定第一目标值,取第一目标值与第二目标值中的较小值,作为目标值,确定每个离散点到第一交点与第二交点之间的连线的距离,以距离中的最大值不小于目标值为约束条件。
步骤1424,以目标函数所表征的平滑曲线的长度最小化为解算目标、以约束条件为解算条件、以第一待定距离与第二待定距离为解算变量,求解得到第一距离与第二距离。
步骤1426,根据第一交点、第二交点、第一距离与第二距离确定平滑曲线。
步骤1428,在初始路口面中,使用平滑曲线连接第一交点与第二交点,使用直线连接相邻、且位于同一个道路面的道路面边线上的两个交点,得到复合节点路口的路口面。
本申请实施例提供的路口面生成方法,可以应用到任一需要依据原始路网数据生成复合节点路口的路口面的场景中,例如,在高精度地图中,若某些地区缺乏相应的高精度数据,可以使用普通地图数据采用本申请实施例提供的路口面生成方法,为这些地区的复合节点路口生成相应的路口面。又例如,可以在仅依赖于原始普通地图数据的情况下,高效地生成复合节点路口的路口面,而无需依赖其它路径指示信息。再例如,生成的复合节点路口的路口面,可供地图应用调用后,直接根据该路口面的点串数据渲染、显示该路口面。还例如,在涉及城市道路模型的游戏应用,可直接根据城市道路模型中路口面的点串数据渲染显示相应的游戏画面。当然,可应用场景不局限于此。
下面以一个场景详细说明:
在高精度地图中,某些地区缺乏相应的高精度数据,可以基于普通地图数据采用本申请实施例提供的路口面生成方法,克服在上述地区无法渲染显示高精度地图的路口面的问题。
计算机设备可以事先找出地图中那些缺乏高精度地图的地区,如某个城市5环以内的地区,继而获取这些地区中道路各自原始的、用于生成普通地图的路网数据,普通地图的路网数据中,道路是一条没有宽度的线段,即用一组数据点(link)表示道路,该一组数据点也称点串。道路的路网数据中还包括道路信息。若多条道路的路网数据中包括相同的单点路口标识,则该多条道路形成一个单节点路口。对于每个单节点路口,计算机设备可以生成单节点路口的路口面,生成路口面是为了生成路口的形状点坐标,单节点路口的路口面实质用一组数据点表示,每个数据点是一个坐标,该一组数据点可以形成封闭多边形。对于这些地区中的单节点路口,计算机设备均可以生成相应的路口面。生成路口面主要就是为了生成路口面边界的形状点坐标。在高精度地图中,这些边界的形状点坐标一般是在上游提供的原始数据中直接给出的
若多个单节点路口的路网数据中包括相同的复合节点路口标识,则该多个单节点路口形成一个复合节点路口。对于这样的复合节点路口,计算机设备可以生成相应的路口面,具体包括:确定复合节点路口所包括的多个单节点路口,对于每个单节点路口,根据相应的路网数据确定连接至单节点路口的至少两条道路,这样,就可以得到复合节点路口所包括的多条道路。前文提到,道路是一条没有宽度的线段,对于每条道路,计算机设备获取相应的道路信息,根据道路信息确定各道路对应的道路宽度,按各自的道路宽度拓宽各道路,得到道路的道路面,道路的道路面均包括道路面左侧边线和道路面右侧边线,这样,道路面用三条线段表示:原始的一组数据点(link)、表示道路面左侧边线的点串数据与表示道路面右侧边线的点串数据。接着,计算机设备获取复节点路口中每个单节点路口的路口面,单节点路口的路口面是一组数据点,该一组数据点可以形成封闭多边形,计算机设备根据每个单节点路口的路口面所包括的形状点,计算包围这些形状点的最小凸多边形,得到复合节点路口的初始路口面,该复合节点路口的初始路口面实质是一组数据点,该一组数据点可以形成封闭多边形。随后,计算机设备确定复合节点路口的道路面所包括的每条道路的道路面边线,根据表示该道路面边线的点串数据与表示复合节点路口的初始路口面的边界线的点串数据的交集,确定交点。进而,对于相邻、且位于不同道路面的道路面边线上的两个交点,使用平滑曲线连接,对于向量、且位于相同道路面的道路面边线上的两个交点,使用直线连接,得到复合节点路口的路口面。
其中,相邻、且位于不同道路面的道路面边线上的两个交点之间的平滑曲线的确定步骤为:若该两个交点包括位于第一道路面边线上的第一交点与位于第二道路面边线上的第二交点;则从第一交点开始,沿着第一道路面边线,向第一道路面边线所连接至的单节点路口的方向延长第一待定距离得到第一待定控制点,从第二交点开始,沿着第二道路面边线,向第二道路面边线所连接至的单节点路口的方向延长第二待定距离得到第二待定控制点,基于第一交点、第二交点、第一待定距离以及第二待定距离,确定曲线方程,根据曲线方程,确定平滑曲线的曲线长度,根据平滑曲线的曲线长度,构建目标函数,目标函数以最小化曲线长度为解算目标。计算机设备还确定曲线方程上每个离散点到第一交点与第二交点之间的连线的距离;以距离中的最大值不小于目标值为约束条件。其中,确定目标值的步骤包括:计算第一道路面边线与第二道路面边线的道路面边线交点;根据道路面边线交点到第一交点与第二交点之间的连线的距离,确定第一目标值;取第一目标值与第二目标值中的较小值,作为目标值;其中,第二目标值为预设值。最后,以目标函数所表征的平滑曲线的长度最小化为解算目标、以约束条件为解算条件、以第一待定距离与第二待定距离为解算变量,求解得到第一距离与第二距离,从而,根据第一交点、第二交点、第一距离与第二距离可以确定第一交点与第二交点之间的平滑曲线。
对于上述缺乏高精度数据的地区,计算机设备可以将表示单节点路口的路口面的点串数据、表示复合节点路口的路口面的点串数据等,事先存储在地图数据库中,作为这些地区所需的高精度地图数据的补充,以供渲染显示这些地区的高精度地图。这样,在地图导航过程中,当定位到终端或车辆当前移动至上述地区的某个复合节点路口附近、需要显示该复合节点路口的路口面时,终端或车载终端上的地图应用就可以直接从地图数据库中拉取表示该复合节点路口的路口面的点串数据,根据拉取的点串数据,高效地渲染并显示当前位置的高精度地图导航画面。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的路口面生成方法的路口面生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个路口面生成装置实施例中的具体限定可以参见上文中对于路口面生成方法的限定,在此不再赘述。
在一个实施例中,如图15所示,提供了一种路口面生成装置1500,包括:交点确定模块1502、建模模块1504和曲线连接模块1506,其中:
交点确定模块1502,用于确定复合节点路口的路口面边线与道路面边线的交点,路口面边线是复合节点路口的初始路口面的边线;在交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点;
建模模块1504,用于在两个交点所在道路面边线上确定待定控制点,基于两个交点、待定控制点所对应的平滑曲线,确定目标函数与约束条件;其中,目标函数以最小化曲线长度为解算目标,约束条件指示平滑曲线上的非端点到两个交点的连线的距离所需满足的条件;
曲线连接模块1506,用于基于目标函数与约束条件,确定两个交点所在道路面边线上的控制点,在初始路口面中,使用基于两个交点、确定的控制点所形成的平滑曲线连接两个交点,得到复合节点路口的路口面。
在一个实施例中,两个交点包括位于第一道路面边线上的第一交点与位于第二道路面边线上的第二交点;建模模块1504还用于在第一道路面边线上确定第一待定控制点;第一待定控制点,是从第一交点开始,沿着第一道路面边线,向第一道路面边线所连接至的单节点路口的方向延长第一待定距离得到的;在第二道路面边线上确定第二待定控制点;第一待定控制点,是从第二交点开始,沿着第二道路面边线,向第二道路面边线所连接至的单节点路口的方向延长第二待定距离得到的。
在一个实施例中,建模模块1504还用于基于第一交点、第二交点、第一待定距离以及第二待定距离,确定曲线方程;根据曲线方程,确定平滑曲线的曲线长度;根据平滑曲线的曲线长度,构建目标函数。
在一个实施例中,建模模块1504还用于根据曲线方程,确定位于平滑曲线上的每个离散点;根据平滑曲线上的每两个相邻离散点之间的距离,计算平滑曲线的曲线长度。
在一个实施例中,建模模块1504还用于基于第一交点、第二交点、第一待定距离以及第二待定控制点,确定曲线方程;根据曲线方程,确定位于平滑曲线上的每个离散点;确定每个离散点到第一交点与第二交点之间的连线的距离;以距离中的最大值不小于目标值为约束条件。
在一个实施例中,建模模块1504还用于计算第一道路面边线与第二道路面边线的道路面边线交点;根据道路面边线交点到第一交点与第二交点之间的连线的距离,确定目标值。
在一个实施例中,建模模块1504还用于确定第一交点与第二交点之间的连线;计算第一道路面边线与连线之间的第一夹角;计算第二道路面边线与连线之间的第二夹角;根据第一夹角、第二夹角,确定第一道路面边线与第二道路面边线之间的第三夹角;根据第三夹角、第一交点与第二交点之间的连线的长度确定道路面边线交点。
在一个实施例中,建模模块1504还用于根据道路面边线交点到第一交点与第二交点之间的连线的距离,确定第一目标值;取第一目标值与第二目标值中的较小值,作为目标值;其中,第二目标值为预设值。
在一个实施例中,曲线连接模块1506还用于以目标函数所表征的平滑曲线的长度最小化为解算目标、以约束条件为解算条件、以第一待定距离与第二待定距离为解算变量,求解得到第一距离与第二距离;根据第一交点、第二交点、第一距离与第二距离确定平滑曲线,在初始路口面中,使用平滑曲线连接两个交点,得到复合节点路口的路口面。
在一个实施例中,上述装置还包括:
初始路口面生成模块,用于获取复合节点路口的初始路口面;
道路面生成模块,用于获取复合节点路口的道路面;
交点确定模块,用于根据初始路口面的路口面边线与道路面的道路面边线,确定路口面边线与道路面边线的交点。
在一个实施例中,初始路口面生成模块,还用于获取复合节点路口包括的每个单节点路口的路口面;根据每个单节点路口的路口面所包括的形状点,得到形状点集合;根据形状点集合,计算包围形状点集合中所有形状点的最小凸多边形,得到复合节点路口的初始路口面。
在一个实施例中,道路面生成模块,还用于获取复合节点路口所包括的每个单节点路口各自的路网数据;根据路网数据确定连接至每个单节点路口的至少两条道路,得到复合节点路口所包括的多条道路;对于每条道路,获取相应的道路信息,根据道路信息确定各道路对应的道路宽度,按拓各自的道路宽度拓宽各道路,得到道路的道路面;道路信息包括道路等级、车道数量和车道宽度中的至少一种;根据每条道路的道路面,得到复合节点路口的道路面。
在一个实施例中,曲线连接模块还用于在交点中,确定相邻、且位于同一个道路面的道路面边线上的两个交点;使用直线连接相邻、且位于同一个道路面的道路面边线上的两个交点。
上述路口面生成装置1500,在复合节点路口的初始路口面的路口面边线与该复合节点路口的道路面边线的交点中,对于相邻、且位于不同道路面的道路面边线上的两个交点,为了生成形状自然的路口面,需要使用平滑曲线连接该两个交点。通过在该两个交点所在道路面边线上确定待定控制点,基于该两个交点、待定控制点所对应的平滑曲线,可以确定以最小化曲线长度为解算目标的目标函数,目标函数可保证两个交点之间的平滑曲线的长度尽量短,不会过多侵入路口面,避免路口面形状怪异。此外,还基于该两个交点、待定控制点所对应的平滑曲线确定约束条件,可约束平滑曲线上的非端点到该两个交点的连线的距离。基于该目标函数与约束条件所确定的控制点,可同时保证平滑曲线尽量短又有一定的弯曲度,不过于生硬,与实际路口面的形状较为匹配。这样,在上述的初始路口面中,使用基于该两个交点、确定的控制点所形成的平滑曲线连接该两个交点,得到的路口面,质量更佳、更自然。
上述路口面生成装置1500中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图16所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储路网数据或路口相关数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种路口面生成装置方法。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请任一个或多个实施例提供的路口面生成方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任一个或多个实施例提供的路口面生成方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请任一个或多个实施例提供的路口面生成方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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 (17)
1.一种路口面生成方法,其特征在于,所述方法包括:
确定复合节点路口的路口面边线与道路面边线的交点,所述路口面边线是所述复合节点路口的初始路口面的边线;
在所述交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点;
在所述两个交点所在道路面边线上确定待定控制点,基于所述两个交点、所述待定控制点所对应的平滑曲线,确定目标函数与约束条件;其中,所述目标函数以最小化曲线长度为解算目标,所述约束条件指示所述平滑曲线上的非端点到所述两个交点的连线的距离所需满足的条件;
基于所述目标函数与所述约束条件,确定所述两个交点所在道路面边线上的控制点,在所述初始路口面中,使用基于所述两个交点、确定的所述控制点所形成的平滑曲线连接所述两个交点,得到所述复合节点路口的路口面。
2.根据权利要求1所述的方法,其特征在于,所述两个交点包括位于第一道路面边线上的第一交点与位于第二道路面边线上的第二交点;
所述在所述两个交点所在道路面边线上确定待定控制点,包括:
在所述第一道路面边线上确定第一待定控制点;所述第一待定控制点,是从所述第一交点开始,沿着所述第一道路面边线,向所述第一道路面边线所连接至的单节点路口的方向延长第一待定距离得到的;
在所述第二道路面边线上确定第二待定控制点;所述第一待定控制点,是从所述第二交点开始,沿着所述第二道路面边线,向所述第二道路面边线所连接至的单节点路口的方向延长第二待定距离得到的。
3.根据权利要求2所述的方法,其特征在于,根据基于所述两个交点、所述待定控制点所对应的平滑曲线,确定目标函数,包括:
基于所述第一交点、所述第二交点、所述第一待定距离以及所述第二待定距离,确定曲线方程;
根据所述曲线方程,确定所述平滑曲线的曲线长度;
根据所述平滑曲线的曲线长度,构建目标函数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述曲线方程确定所述平滑曲线的曲线长度,包括:
根据所述曲线方程,确定位于平滑曲线上的每个离散点;
根据所述平滑曲线上的每两个相邻离散点之间的距离,计算所述平滑曲线的曲线长度。
5.根据权利要求2所述的方法,其特征在于,根据基于所述两个交点、所述待定控制点所对应的平滑曲线,确定约束条件,包括:
基于所述第一交点、所述第二交点、所述第一待定距离以及所述第二待定控制点,确定曲线方程;
根据所述曲线方程,确定位于平滑曲线上的每个离散点;
确定每个离散点到所述第一交点与所述第二交点之间的连线的距离;
以所述距离中的最大值不小于目标值为所述约束条件。
6.根据权利要求5所述的方法,其特征在于,确定所述目标值的步骤包括:
计算所述第一道路面边线与所述第二道路面边线的道路面边线交点;
根据所述道路面边线交点到所述第一交点与所述第二交点之间的连线的距离,确定所述目标值。
7.根据权利要求6所述的方法,其特征在于,所述计算所述第一道路面边线与所述第二道路面边线的道路面边线交点,包括:
确定所述第一交点与所述第二交点之间的连线;
计算所述第一道路面边线与所述连线之间的第一夹角;
计算所述第二道路面边线与所述连线之间的第二夹角;
根据所述第一夹角、所述第二夹角,确定所述第一道路面边线与所述第二道路面边线之间的第三夹角;
根据所述第三夹角、所述第一交点与所述第二交点之间的连线的长度确定所述道路面边线交点。
8.根据权利要求6所述的方法,其特征在于,所述根据所述道路面边线交点到所述第一交点与所述第二交点之间的连线的距离,确定所述目标值,包括:
根据所述道路面边线交点到所述第一交点与所述第二交点之间的连线的距离,确定第一目标值;
取所述第一目标值与所述第二目标值中的较小值,作为所述目标值;
其中,所述第二目标值为预设值。
9.根据权利要求2所述的方法,其特征在于,所述基于所述目标函数与所述约束条件,确定所述两个交点所在道路面边线上的控制点,在所述初始路口面中,使用基于所述两个交点、确定的所述控制点所形成的平滑曲线连接所述两个交点,得到所述复合节点路口的路口面,包括:
以所述目标函数所表征的平滑曲线的长度最小化为解算目标、以所述约束条件为解算条件、以所述第一待定距离与所述第二待定距离为解算变量,求解得到第一距离与第二距离;
根据所述第一交点、所述第二交点、所述第一距离与第二距离确定所述平滑曲线,在所述初始路口面中,使用所述平滑曲线连接所述两个交点,得到所述复合节点路口的路口面。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
获取所述所述复合节点路口的初始路口面;
获取所述复合节点路口的道路面;
根据所述初始路口面的路口面边线与所述道路面的道路面边线,确定路口面边线与道路面边线的交点。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取所述复合节点路口包括的每个单节点路口的路口面;
根据所述每个单节点路口的路口面所包括的形状点,得到形状点集合;
根据所述形状点集合,计算包围所述形状点集合中所有形状点的最小凸多边形,得到所述复合节点路口的初始路口面。
12.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取所述复合节点路口所包括的每个单节点路口各自的路网数据;
根据所述路网数据确定连接至每个所述单节点路口的至少两条道路,得到所述复合节点路口所包括的多条道路;
对于每条道路,获取相应的道路信息,根据所述道路信息确定各所述道路对应的道路宽度,按拓各自的道路宽度拓宽各所述道路,得到所述道路的道路面;所述道路信息包括道路等级、车道数量和车道宽度中的至少一种;
根据每条所述道路的道路面,得到所述复合节点路口的道路面。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述交点中,确定相邻、且位于同一个道路面的道路面边线上的两个交点;
使用直线连接相邻、且位于同一个道路面的道路面边线上的两个交点。
14.一种路口面生成装置,其特征在于,所述装置包括:
交点确定模块,用于确定复合节点路口的路口面边线与道路面边线的交点,所述路口面边线是所述复合节点路口的初始路口面的边线,在所述交点中,确定相邻、且位于不同道路面的道路面边线上的两个交点;
建模模块,用于在所述两个交点所在道路面边线上确定待定控制点,基于所述两个交点、所述待定控制点所对应的平滑曲线,确定目标函数与约束条件;其中,所述目标函数以最小化曲线长度为解算目标,所述约束条件指示所述平滑曲线上的非端点到所述两个交点的连线的距离所需满足的条件;
曲线连接模块,用于基于所述目标函数与所述约束条件,确定所述两个交点所在道路面边线上的控制点,在所述初始路口面中,使用基于所述两个交点、确定的所述控制点所形成的平滑曲线连接所述两个交点,得到所述复合节点路口的路口面。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310353993.XA CN116433860A (zh) | 2023-03-27 | 2023-03-27 | 路口面生成方法、装置、设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310353993.XA CN116433860A (zh) | 2023-03-27 | 2023-03-27 | 路口面生成方法、装置、设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116433860A true CN116433860A (zh) | 2023-07-14 |
Family
ID=87079146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310353993.XA Pending CN116433860A (zh) | 2023-03-27 | 2023-03-27 | 路口面生成方法、装置、设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116433860A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116721229A (zh) * | 2023-08-10 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 地图中道路隔离带的生成方法、装置、设备及存储介质 |
CN116740667A (zh) * | 2023-08-15 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 路口面数据生成方法、装置、电子设备及存储介质 |
CN117539970A (zh) * | 2024-01-09 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 车道数据压缩方法、装置、计算机设备和存储介质 |
CN117723073A (zh) * | 2024-02-07 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 高程调整方法、装置、设备、存储介质和计算机程序产品 |
-
2023
- 2023-03-27 CN CN202310353993.XA patent/CN116433860A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116721229A (zh) * | 2023-08-10 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 地图中道路隔离带的生成方法、装置、设备及存储介质 |
CN116721229B (zh) * | 2023-08-10 | 2023-12-08 | 腾讯科技(深圳)有限公司 | 地图中道路隔离带的生成方法、装置、设备及存储介质 |
CN116740667A (zh) * | 2023-08-15 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 路口面数据生成方法、装置、电子设备及存储介质 |
CN116740667B (zh) * | 2023-08-15 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 路口面数据生成方法、装置、电子设备及存储介质 |
CN117539970A (zh) * | 2024-01-09 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 车道数据压缩方法、装置、计算机设备和存储介质 |
CN117723073A (zh) * | 2024-02-07 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 高程调整方法、装置、设备、存储介质和计算机程序产品 |
CN117723073B (zh) * | 2024-02-07 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 高程调整方法、装置、设备、存储介质和计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116433860A (zh) | 路口面生成方法、装置、设备、存储介质和程序产品 | |
WO2024077812A1 (zh) | 基于点云语义分割与结构拟合的单体建筑三维重建方法 | |
CN115346012B (zh) | 路口面的生成方法、装置、设备、存储介质和程序产品 | |
Liqiang et al. | A spatial cognition-based urban building clustering approach and its applications | |
CN105333883B (zh) | 一种用于抬头显示器的导航路径轨迹显示方法和装置 | |
Clementini | Directional relations and frames of reference | |
Yang et al. | Multi-view semantic learning network for point cloud based 3D object detection | |
US20120320087A1 (en) | System and Methods for Parallelizing Polygon Overlay Computation in Multiprocessing Environment | |
CN113724279B (zh) | 路网自动划分交通小区的系统、方法、设备及存储介质 | |
Qian et al. | Learning pairwise inter-plane relations for piecewise planar reconstruction | |
CN114429528A (zh) | 图像处理方法、装置、设备、计算机程序及存储介质 | |
Wang et al. | Automatic generation of large-scale 3D road networks based on GIS data | |
CN110689598A (zh) | 一种多层道路三维建模方法及系统 | |
Hu et al. | Geometric feature enhanced line segment extraction from large-scale point clouds with hierarchical topological optimization | |
CN115375836A (zh) | 基于多元置信度滤波的点云融合三维重建方法和系统 | |
CN113936114B (zh) | 一种bim模型构件类别级轻量化方法及系统 | |
CN117539970A (zh) | 车道数据压缩方法、装置、计算机设备和存储介质 | |
CN117011413B (zh) | 道路图像重建方法、装置、计算机设备和存储介质 | |
CN116721229B (zh) | 地图中道路隔离带的生成方法、装置、设备及存储介质 | |
CN104392489A (zh) | 顾及拓扑的三维地理空间实体群的线消隐方法 | |
CN115953780B (zh) | 多维光场复杂场景图智能生成方法与系统 | |
CN117195441A (zh) | 一种生成路口面的方法以及相关装置 | |
Choudhury et al. | Scalable visibility color map construction in spatial databases | |
CN114419338B (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN115331199A (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: 40090548 Country of ref document: HK |