电子地图中道路曲率的确定方法及装置
技术领域
本发明涉及电子地图制图技术领域,尤其涉及一种电子地图中道路曲率的确定方法及装置。
背景技术
高级驾驶辅助(ADAS,Advance Driver Assistant System)是基于传感器的系统与技术,利用安装于汽车上各式各样的传感器(这些传感器可以探测光、热、压力或其它用于监测汽车状态的变量)在第一时间收集车内外的环境数据,并结合预先存储的道路属性数据(比如道路的坡度,曲率和平均速度信息等)等进行静、动态物体的辨识、侦测与追踪等技术处理,从而让驾驶者在最快的时间察觉可能发生的危险。由于其能够明显减少交通事故的数量,因此成为未来汽车导航的发展方向。
道路(Link)曲率(Curve)表示道路的弯曲程度,电子地图中的道路曲率通常是指组成道路的各中间形状点(除起点和终点以外的形状点)的曲率的集合。现有技术中,道路曲率的获取可以采用以下方式:利用专门的仪器(如采集车)自动识别道路曲率发生变化的地点(即道路弯曲程度满足预设条件的地点)并实地采集相关数据来确定该地点的曲率,在采集过程中,对于道路弯曲程度不满足预设条件的地点会被排除掉。
由于现有技术采集道路曲率需要专门的仪器进行实地采集,存在效率低、成本极高的问题。同时,由于采集成本极高,使得实地采集的方法只能采集少数道路曲率,也就是说现有道路曲率采集方法无法获取多数或全部道路曲率,从而降低了现有的道路曲率采集方法的通用性。
发明内容
本发明实施例提供一种电子地图中道路曲率的确定方法及装置,用以提高确定道路曲率的效率和通用性,同时降低确定道路曲率的成本。
本发明实施例提供一种电子地图中道路曲率的确定方法,包括:
获取道路的原始形状点集合;
对所述原始形状点集合中的形状点进行抽稀,得到该道路的目标形状点集合;
针对所述目标形状点集合中的每一目标形状点,根据所述原始形状点集合中沿道路方向且以该目标形状点为中间点的连续三个相邻的形状点的经纬度坐标,得到该目标形状点的曲率。
本发明实施例提供一种电子地图中道路曲率的确定装置,包括:
获取单元,用于获取道路的原始形状点集合;
抽稀单元,用于对所述原始形状点集合中的形状点进行抽稀,得到该道路的目标形状点集合;
确定单元,用于针对所述目标形状点集合中的每一目标形状点,根据所述原始形状点集合中沿道路方向且以该目标形状点为中间点的连续三个相邻的形状点的经纬度坐标,得到该目标形状点的曲率。
本发明实施例提供的电子地图中道路曲率的确定方法及装置,通过对道路的原始形状点集合中包含的形状点进行抽稀处理得到目标形状点集合,并针对目标形状点集合中包含的任一目标形状点,根据在原始形状点集合中与该目标形状点相邻的两个形状点的经纬度坐标该目标形状点的曲率。上述过程中,无需使用专门的采集设备对道路曲率进行实地采集,从而提高了道路曲率确定方法的效率,降低了道路曲率确定成本,另一方面,本发明提供的道路曲率确定的方法适用于电子地图中的任一道路,提高了道路曲率确定方法的通用性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中,电子地图中道路曲率的确定方法的实施流程示意图;
图2为本发明实施例中,某道路的形状点结构示意图;
图3a为本发明实施例中,使用Douglas-Peuker抽稀算法对获取的原始形状点集合进行抽稀处理的实施流程示意图;
图3b为本发明实施例中,使用VSA算法对获取的原始形状点集合进行抽稀处理的实施流程示意图;
图4为本发明实施例中,确定目标形状点的曲率的流程示意图;
图5为本发明实施例中,ABC三点确定出的三角形的外接圆的示意图;
图6为本发明实施例中,确定三角形的外接圆的半径的流程示意图;
图7为本发明实施例中,电子地图中道路曲率的确定装置的结构示意图。
具体实施方式
为了提高电子地图中道路曲率的确定方法的通用性,并提高其效率,本发明实施例提供了一种电子地图中道路曲率的确定方法及装置。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
如图1所示,为本发明实施例提供的电子地图中道路曲率的确定方法的实施流程示意图,可以包括以下步骤:
S11、获取道路的原始形状点集合。
具体实施时,在电子地图数据库中以Link Table表存储Link(道路)的相关属性信息,Link Table的结构如表1所示:
表1
每条道路都是由多个形状点组成的。如图2所示,为某道路的形状点结构示意图,按照道路方向其由(A,B,C,D)四个形状点依次组成。根据Link的构造,对Link添加空间索引,之后基于输入的link数据,填充Link Table的内容,形成如表2所示的结构:
表2
由表2可知,道路ID为1的道路其对应的原始形状点集合为(A,B,C,D)。
S12、对获取的原始形状点集合包含的形状点进行抽稀,得到该道路的目标形状点集合。
具体实施时,可以采用抽稀算法对获取的原始形状点集合进行抽稀处理。例如:步长法、线段过滤法、道格拉斯-普克(Douglas-Peuker)抽稀算法、垂距限值法、维斯瓦林哥-瓦特(Visvalingam-Whyatt)算法等。
以下分别以Douglas-Peuker抽稀算法和Visvalingam-Whyatt(VSA)算法为例对获取的原始形状点集合进行抽稀处理的实施过程进行说明。
道格拉斯-普克抽稀算法的实现原理为根据道路上各中间形状点与由起点和终点组成的直线之间的距离进行抽稀,据此,可以按照图3a所示的流程对原始形状点集合进行抽稀处理:
S311、确定道路的原始形状点集合中首尾形状点组成的直线。
以道路2对应的形状点集合为(A,B,C,D,E,F)为例,首先,确定首尾形状点A和F确定出的直线AF。
S312、分别确定每一中间形状点到首尾形状点组成的直线的距离。
其中,中间形状点是指道路对应的形状点集合中,除第一个形状点(首形状点)和最后一个形状点(尾形状点)外的其它形状点,对于道路2来说,中间形状点包括B,C,D,E,S312则是在计算B、C、D、E分别到直线AF的距离。
S313、选择到首尾形状点组成的直线的距离最大的中间形状点。
从各中间形状点(B,C,D,E)中选择到直线AF的距离最大的形状点,假设为B。
S314、判断选择出的中间形状点到首尾形状点组成的直线的距离是否大于等于预设的距离阈值,如果是,执行步骤S315,否则,执行步骤S316。
S315、将选择出的中间形状点添加至目标形状点集合中,并以该选择出的中间形状点为界,将原道路划分为两条路段。
如果B到直线AF的距离大于等于预设的距离阈值,则将中间形状点B添加至目标形状点集合中,并以B为界,将道路2划分为以下两段路段:路段21(A,B),路段22(B,C,D,E,F)。
若B到直线AF的距离小于预设的距离阈值,则说明道路AF可以近似为直线道路,故不必再计算道路AF的曲率。
S316、针对划分得到的路段,判断该路段是否还包含有中间形状点,如果是,执行步骤S317,如果否,流程结束。
具体实施时,只要路段上包含有中间形状点,即需要针对包含有中间形状点的路段执行步骤S317,只有在划分得到的路段上不包含中间形状点时,流程结束。
S317、分别确定路段上的每一中间形状点到该路段的首尾形状点确定出的直线的距离。
由于路段21上除了首尾形状点A,B以外,不再包含其他的中间形状点,则说明路段AB可以近似为直线道路,不必再计算路段AB的曲率。
而对于路段22,由于其包含中间形状点,因此,分别确定中间形状点C、D、E到直线BF的距离。
S318、选择到路段的首尾形状点确定出的直线的距离最大的中间形状点,并执行步骤S314。
从C,D、E中选择到直线BF距离最大的形状点,假设为D,则判断D到直线BF的距离是否大于等于预设的距离阈值,如果否,则路段22可以近似为直线道路,无需再确定路段22的曲率;如果是,将中间形状点D添加至目标形状点集合中,并以D为界,继续将路段22继续划分为路段221(B,C,D)和路段222(D,E,F),由于路段221和路段222均包含中间形状点,因此,继续针对每一路段分别进行判断,对于路段221,其中间形状点为C,判断C到直线BD的距离是否大于等于预设的距离阈值,如果是,将中间形状点C添加至目标形状点集合中,否则,路段221可以近似为直线道路,无需再确定路段221的曲率,同理,对于路段222进行相同的处理,根据E到直线DF的距离确定是否需要将中间形状点E添加至目标形状点集合中,至此,对道路2处理完毕。
而VSA算法通过沿道路方向连续三个相邻的形状点形成的三角形的面积对形状点进行筛选,若形成三角形面积太小,则可以直接删除相应的形状点,以降低道路曲率确定方法确定过程中的误差。具体的,如图3b所示,为对原始形状点集合进行抽稀处理的流程示意图,包括以下步骤:
S321、从原始形状点集合包含的除首尾形状点以外的形状点中,依次选择一个形状点。
S322、根据选择出的形状点及与其相邻的两个形状点的经纬度坐标,确定该连续三个相邻的形状点构成的三角形的面积。
具体实施时,可以按照原始形状点集合中各形状点的排列顺序依次从原始形状点集合中选择一个形状点,根据该形状点与相邻的两个形状点的经纬度坐标,确定以该形状点与相邻的两个形状点组成的三角形的面积。需要说明的是,由于道路的首尾形状点均只有一个与其相邻的形状点,因此,具体实施时,可以直接排除首尾形状点,从其他形状点中选择即可。
S323、判断确定出的面积是否大于或者等于预设的面积阈值,如果是,执行步骤S324,否则,执行步骤S325。
S324、将位于连续三个相邻的形状点中间的一个形状点作为目标形状点添加至该道路的目标形状点集合中,流程结束。
S325、是否已选择所有的中间形状点,如果是,流程结束,如果否,执行步骤S321。
以下以表2中的道路1为例,对原始形状点集合进行抽稀处理的过程进行详细描述。
道路1对应的原始形状点集合为(A,B,C,D),则中间形状点为B和C。
对于B,其在原始形状点集合中的前一形状点为A,后一形状点为C,按照ABC三点在原始形状点集合中的顺序,依次连接A-B-C-A形成三角形ABC,根据形状点A、形状点B和形状点C的经纬度坐标,分别确定三角形ABC的各边边长,根据确定出的各边边长确定三角形ABC的面积,并判断三角形ABC的面积是否超过预设的面积阈值,如果是,将形状点B作为目标形状点添加至道路1对应的目标形状点集合中。
对于C,其在原始形状点集合中的前一形状点为B,后一形状点为D,按照BCD三点在原始形状点集合中的顺序,依次连接B-C-D-B形成三角形BCD,根据形状点B、形状点C和形状点D的经纬度坐标,分别确定三角形BCD的各边边长,根据确定出的各边边长确定三角形BCD的面积,并判断三角形BCD的面积是否超过预设的面积阈值,如果是,则将形状点C作为目标形状点添加至道路1对应的目标形状点集合中。
假设根据判断结果确定将形状点B作为目标形状点添加至道路1对应的目标形状点集合中,则道路1对应的目标形状点集合为{B}。
S13、针对目标形状点集合中的每一目标形状点,根据原始形状点集合中沿道路方向且以该目标形状点为中间点的连续三个相邻的形状点的经纬度坐标,得到该目标形状点的曲率。
依然以道路1对应的目标形状点集合为{B}为例,其中间形状点为B,根据原始形状点集合为(A,B,C,D)可知,沿道路方向以B为中间点的连续三个相邻的形状点为A、B和C。
具体实施时,如图4所示,针对每一目标形状点,可以按照以下步骤确定该目标形状点的曲率:
S41、根据原始形状点集合中沿道路方向且以该目标形状点为中间点的连续三个相邻的形状点的经纬度坐标,得到连续三个相邻的形状点构成的三角形的外接圆的半径。
具体实施时,以目标形状点B为例,形状点B与其在原始形状点集合中相邻的两个形状点A和C组成三角形ABC,如图5所示,根据各点的经纬度坐标可以确定三角形ABC的外接圆的半径。
S42、将三角形ABC的外接圆的半径的倒数确定为该目标形状点的曲率。
较佳的,步骤S41中,可以但不限于按照图6所示的步骤确定三角形的外接圆的半径:
S421、根据原始形状点集合中沿道路方向且以该目标形状点为中间点的连续三个相邻的形状点的经纬度坐标,得到连续三个相邻的形状点构成的三角形的边长。
具体实施时,根据各点的经纬度坐标按照公式两点间距离的公式可以确定出两点之间的距离。以确定三角形ABC的边长AC为例,假设A的经纬度坐标为(x1,y1),C的经纬度坐标为(x2,y2),则同理,可以得到边长AB和边长BC的长度,假设边长AC的长度为b,边长AB的长度为c,边长AB的长度为a。
S422、根据连续三个相邻的形状点构成的三角形的边长,确定该目标形状点在三角形中对应的角的角度α。
具体实施时,可以根据连续三个相邻的形状点构成的三角形的边长,利用余弦定
理确定目标形状点在所述三角形中对应的角的角度α。如图5所示,三角形ABC中,以形状点B
对应的角为α为例,根据边长AB、边长AC和边长BC利用余弦定理确定出α,具体的,可以按照
公式b2=a2+c2-2accosα确定,即
S423、将该目标形状点在三角形中的对边的长度l和角度α代入公式得到三角形的外接圆的半径r。
其中:l为该目标形状点的对边的长度,α为该目标形状点在原始形状点集合中以该目标形状点为中间点的连续相邻的三个形状点组成的三角形中对应的角的角度,本例中,l即为边长AC的长度b,α为目标形状点B在三角形中对应的角的角度。
根据步骤S42可以确定道路1的道路曲率为
本发明实施例中,首先获取道路的原始形状点集合,并利用抽稀算法对原始形状点集合进行抽稀处理得到目标形状点集合,针对目标形状点集合中包含的每一目标形状点,根据该中间形状点及该目标形状点在原始形状点集合中相邻的两个形状点组成的三角形的外接圆来确定该目标形状点处的道路曲率,由于上述过程中,无需专门的采集设备采集道路曲率,从而能够提高道路曲率确定的效率,同时,其适用于任何道路曲率的确定,提高了道路曲率确定的通用性;另一方面,由于在对原始形状点集合进行抽稀的过程中,利用抽稀算法去除了采集道路原始形状点过程中的误差形状点,从而使得得到的道路曲率更加准确且稳定,适用于工业化产品。
基于同一发明构思,本发明实施例中还提供了一种电子地图中道路曲率的确定装置,由于上述装置解决问题的原理与上述的电子地图中道路曲率方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图7所示,为本发明实施例提供的电子地图中道路曲率的确定装置的结构示意图,包括:
获取单元71,可以用于获取道路的原始形状点集合;
抽稀单元72,可以用于对获取单元71获取的原始形状点集合中的形状点进行抽稀,得到该道路的目标形状点集合;
确定单元73,可以用于针对目标形状点集合中的每一目标形状点,根据所原始形状点集合中沿道路方向且以该目标形状点为中间点的连续三个相邻的形状点的经纬度坐标,得到该目标形状点的曲率。
其中,确定单元73可以包括:
第一确定子单元,用于根据所述原始形状点集合中沿道路方向且以该目标形状点为中间点的连续三个相邻的形状点的经纬度坐标,得到连续三个相邻的形状点构成的三角形的外接圆的半径;
第二确定子单元,用于将所述外接圆的半径的倒数确定为该目标形状点的曲率。
较佳的,第一确定子单元,可以包括:
第一确定子模块,可以用于根据所述原始形状点集合中沿道路方向且以该目标形状点为中间点的连续三个相邻的形状点的经纬度坐标,得到连续三个相邻的形状点构成的三角形的边长;
第二确定子模块,可以用于根据所述三角形的边长,确定该目标形状点在所述三角形中对应的角的角度α;
第三确定子模块,可以用于将该目标形状点在所述三角形中的对边的长度l和所述角度α代入公式得到连续三个相邻的形状点构成的三角形的外接圆的半径r。
其中,第二确定子模块,可以用于根据连续三个相邻的形状点构成的三角形的边长,利用余弦定理确定该目标形状点在所述三角形中对应的角的角度α。
较佳的,抽稀单元72,可以包括:
第三确定子单元,用于根据所述原始形状点集合中的形状点的经纬度坐标,确定由所述道路上连续三个相邻的形状点构成的三角形的面积;
判断子单元,用于判断所述第三确定子单元确定出的面积是否大于或者等于预设的面积阈值;
处理子单元,用于在所述判断子单元的判断结果为是时,将位于连续三个相邻的形状点中间的一个形状点作为目标形状点添加至该道路的目标形状点集合中。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。