CN112414428B - 导航信息的显示方法、装置、电子设备及存储介质 - Google Patents
导航信息的显示方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112414428B CN112414428B CN202011187999.7A CN202011187999A CN112414428B CN 112414428 B CN112414428 B CN 112414428B CN 202011187999 A CN202011187999 A CN 202011187999A CN 112414428 B CN112414428 B CN 112414428B
- Authority
- CN
- China
- Prior art keywords
- target
- line
- navigation
- path
- 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.)
- Active
Links
Images
Classifications
-
- 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/3626—Details of the output of route guidance instructions
- G01C21/3632—Guidance using simplified or iconic instructions, e.g. using arrows
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
本发明公开了一种导航信息的显示方法和装置。该方法包括:将目标行程的多条子导航线转换为用于表达目标行程的导航信息的一条目标导航线;基于目标导航线中的折点,对目标导航线进行切分,生成至少两种类型的路径线,其中,不同类型的路径线所包括的折点的数量不同;对于目标类型的路径线,按照目标类型的路径线所包括的折点的数量,对目标类型的路径线进行平滑插值处理,生成宽度为预设宽度的目标类型的路径面,其中,目标类型为至少两种类型中的每种类型;基于目标类型的路径线中每个点的拥堵状态所对应的第一显示参数以及目标类型的路径线中每个点对应的定位位置,将目标类型的路径面渲染至地图界面进行显示。
Description
技术领域
本发明的实施例涉及计算机技术领域,特别是涉及一种导航信息的显示方法、装置、电子设备及计算机可读存储介质。
背景技术
在电子地图应用中,导航线是地图中重点需要展示的位置信息之一,其具有实时展示导航信息的作用。
在相关技术中,为了在地图应用中显示导航线,主要是通过将不同颜色(不同颜色对应不同路况)的普通线进行首尾相接,形成一条能够反映各路段实时路况的导航路径面。具体的,对于各部分普通线,在扩展成面时,可以将普通线的起点和终点按照线帽类型(例如bevel(切角)、miter(尖角)、round(圆角)等类型)扩展成面;此外,由于导航路径线中存在弯折的点(称作折点),在对折点扩展成面时,也可以按照上述任意一种线帽类型将折点扩展成面,例如如图1所示,分别示出了将存在折点的线以尖角的方式扩展成的面11、将存在折点的线以圆角的方式扩展成的面12、将存在折点的线以切角的方式扩展成的面13,而各部分普通线的其他点则可以按照线宽进行扩展形成面。
从图1可以看出,相关技术中在对存在折点的普通线中的弯折处按照线帽类型扩展成面时,会导致折点处形成的面的面积较大,并且弯折的夹角越小,则弯折处的重叠面积越大,且该弯折处的面的宽度会远大于导航路径线直路处的线宽。
因此,相关技术中所形成的具有一定线宽的导航路径线在显示在地图界面时,会导致导航路径线中拐弯的线路部分对地图元素存在较大面积的遮挡、且显示的导航路径线中的拐弯处的过渡较为尖锐,过渡效果较差。
发明内容
本发明的实施例提供一种导航信息的显示方法,以解决相关技术中所形成的具有一定线宽的导航路径线(即导航路径面)中的弯折处(或者说拐弯处)对地图元素的遮挡率较高,以及弯折处较为尖锐的问题。
为了解决上述问题,第一方面,本发明实施例提供了一种导航信息的显示方法,包括:
将目标行程的多条子导航线转换为用于表达所述目标行程的导航信息的一条目标导航线;
基于所述目标导航线中的折点,对所述目标导航线进行切分,生成至少两种类型的路径线,其中,不同类型的路径线所包括的折点的数量不同、且不同路径线之间无定位位置相同的重叠线段;
对于目标类型的路径线,按照所述目标类型的路径线所包括的折点的数量,对所述目标类型的路径线进行平滑插值处理,生成宽度为预设宽度的所述目标类型的路径面,其中,所述目标类型为所述至少两种类型中的每种类型;
基于所述目标类型的路径线中每个点的拥堵状态所对应的第一显示参数以及所述目标类型的路径线中每个点对应的定位位置,将所述目标类型的路径面渲染至地图界面进行显示。
第二方面,本发明实施例提供了一种导航信息的显示装置,包括:
转换模块,用于将目标行程的多条子导航线转换为用于表达所述目标行程的导航信息的一条目标导航线;
切分模块,用于基于所述目标导航线中的折点,对所述目标导航线进行切分,生成至少两种类型的路径线,其中,不同类型的路径线所包括的折点的数量不同、且不同路径线之间无定位位置相同的重叠线段;
处理模块,用于对于目标类型的路径线,按照所述目标类型的路径线所包括的折点的数量,对所述目标类型的路径线进行平滑插值处理,生成宽度为预设宽度的所述目标类型的路径面,其中,所述目标类型为所述至少两种类型中的每种类型;
显示模块,用于基于所述目标类型的路径线中每个点的拥堵状态所对应的第一显示参数以及所述目标类型的路径线中每个点对应的定位位置,将所述目标类型的路径面渲染至地图界面进行显示。
第三方面,本发明实施例还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例所述的导航信息的显示方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本发明实施例公开的导航信息的显示方法的步骤。
在本发明实施例中,通过将目标行程的多条子导航线转换为用于表达所述目标行程的导航信息的一条目标导航线,并基于所述目标导航线中的折点,对所述目标导航线进行切分,生成至少两种类型的路径线,然后,对于目标类型的路径线,按照所述目标类型的路径线所包括的折点的数量,对所述目标类型的路径线进行平滑插值处理,生成宽度为预设宽度的所述目标类型的路径面,其中,所述目标类型为所述至少两种类型中的每种类型;最后,基于所述目标类型的路径线中每个点的拥堵状态所对应的第一显示参数以及所述目标类型的路径线中每个点对应的定位位置,将所述目标类型的路径面渲染至地图界面进行显示。这样,所形成的具有一定线宽的导航路径线(即导航路径面)中的弯折处(或者说拐弯处)的宽度为预设宽度,并不会超过预设宽度,不存在两个具有预设宽度的路径线在拐弯处叠加的问题,降低了所显示的路径面对地图元素的遮挡率,也使得拐弯处较为圆滑。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中以不同线帽类型对折点扩展成面的示意图;
图2是本发明一个实施例的导航信息的显示方法的步骤流程图;
图3是本发明一个实施例的目标导航线的示意图;
图4是本发明一个实施例的对图3中的路径线进行平滑插值处理的示意图;
图5是本发明一个实施例的对图3中的路径线进行平滑插值处理后生成的曲线的示意图;
图6是本发明一个实施例的图5的曲线进行宽度扩展后生成的路径面的示意图;
图7是本发明一个实施例的路径面的示意图之一;
图8是本发明一个实施例的路径面的示意图之二;
图9是现有技术中一种导航信息的显示界面的示意图;
图10是本发明一个实施例的导航信息的显示界面的示意图之一;
图11是本发明一个实施例的导航信息的显示界面的示意图之二;
图12是本发明一个实施例的导航信息的显示装置的结构框图;
图13示意性地示出了用于执行根据本公开的方法的计算处理设备的框图;以及
图14示意性地示出了用于保持或者携带实现根据本公开的方法的程序代码的存储单元。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种导航信息的显示方法,如图2所示,该方法可以包括如下步骤:
步骤101,将目标行程的多条子导航线转换为用于表达所述目标行程的导航信息的一条目标导航线;
可选地,所述多条子导航线分别对应不同的拥堵状态,所述目标导航线中的每个点对应一种拥堵状态;
在一个应用场景下,用户在电子地图应用中输入起始点和终止点,则系统可以生成从起始点到终止点这一目标行程的导航路线,该导航路线具有一定的线宽,并将该导航路线显示在电子地图的界面中,而由于导航路线的不同路段的路况信息不一定相同,因此,如相关技术中方案提到的,系统可以首先生成该目标行程的多条普通线,该多条普通线可以为这里的多条子导航线,这里的多条子导航线对应的路段的拥堵状态存在差异,例如子导航线1是绿色的表示畅通状态的线,子导航线2是橙色的表示轻微堵塞状态的线,子导航线3是红色的表示严重拥堵状态的线,当然,对应于同一种拥堵状态的子导航线可以是1条或多条(多条的情况下,则这多条子导航线之间在该目标行程的完整的导航路线中是间隔开的)。
而本发明实施例的方法为了实现该具有一定线宽的导航路线的显示,则可以将多条子导航线转换为一条能够表达该目标行程的导航信息(包括行驶方向、行驶路径、拥堵状态等)的目标导航线,然后,再对该目标导航线进行线到面的扩展,以形成具有一定线宽的导航路线(即本发明后续实施例所述的多个连接的路径面)。
其中,转换为后的目标导航线包括多个点,每个点都带有定位位置信息,即每个点都是地图界面中的一个定位点,且每个点都可以对应有一种拥堵状态,该拥堵状态的表现方式可以是该点的颜色,也可以是该点的纹理。
可选地,所述多条子导航线中每条子导航线包括带有定位位置的两个端点,即起点和终点;
其中,每条子导航线可以包括多个带有定位位置的点,这多个点中的两个端点即为该条子导航线的起点和终点。
可选地,在一个实施例一中,在执行步骤101时,可以按照相关技术中的方案,对多条子导航线(即多条普通线)进行首尾连接,来形成目标导航线。例如子导航线1的终点1的定位位置,与子导航线2的起点2的定位位置相同,则可以将终点1与起点2进行连接,来达到子导航线1与子导航线2连接的目的,其他子导航线的连接同理,以此来生成一条目标导航线。
可选地,在另一个实施例二中,在执行步骤101时,可以对于目标行程的多条子导航线中不同子导航线之间的端点,将定位位置相同的端点进行合并,并在合并后的端点处,将被合并的端点所分别对应的不同子导航线进行连接,生成用于表达所述目标行程的导航信息的一条目标导航线。
例如子导航线1的终点1的定位位置,与子导航线2的起点2的定位位置相同,则可以将子导航线1的终点1与子导航线2的起点2合并为一个点,从而将子导航线1与子导航线2连接,相比于上一个实施例实现步骤101的方案,本发明实施例的方法可以将不同子导航线之间重复的端点进行合并,减少重复定位点的数量,对于其他子导航线之间的连接方式,与上述举例同理,以此来生成一条目标导航线。
发明人在实现本发明的过程中发现,相关技术中采用不同拥堵状态(例如不同颜色)的普通线进行首尾相接的方式来生成目标导航线的方式,由于需要将两条连接的普通线的端点扩展成面(例如圆头),然后,再将扩展成面的两条普通线之间的定位相同的端点进行首尾连接,那么被首尾连接的两个端点之间实质上存在两个扩展后的圆头的区域,而由于被连接的两条普通线的拥堵状态不同,例如颜色不同,这将导致所生成的目标导航线在两条普通线的连接处(两个圆头的区域)颜色不连续。此外,首尾连接的两个普通线之间被连接的两个点可以理解为拥堵状态发生变化的点,或者说颜色变化点,那么相关技术中的这种生成目标导航线的方案,则会导致颜色变化点处的不连续问题。
那么为了解决该问题,在本实施例二的方法中,则是将不同子导航线之间定位位置相同的端点(来自不同的子导航线)进行合并,那么被合并后的端点实质就是拥堵状态发生变化的点,例如颜色变化点,那么这种通过合并端点的方式来实现不同子导航线之间的连接,可以使得颜色变化点处是连续的,不会存在两条子导航线之间的连接处存在拥堵状态(例如颜色)不连续的问题;此外,由于在将导航线扩展成面之前,预先将多条子导航线进行合并,则可以为下述实施例的对一条整体的目标导航线进行整体抽稀作基础。
此外,在上述实施例二中,由于每条子导航线是由多个点构成的,每个点带有定位位置的信息、以及拥堵状态,其中,该拥堵状态可以用颜色或者纹理来表达,后文以用颜色来表达为例进行说明。
由于上述实施例二在生成目标导航线时,涉及端点的合并,因此,可以对目标导航线中的点,即合并后的各个点的颜色数据进行存储,以便于通过查询目标导航线中各点的颜色数据,来在地图界面中绘制用于显示的形成一定线宽的路径面。
具体的,可以设置颜色数组,该颜色数组中以目标导航线中的点为单位,对目标导航线中的点进行颜色值的存储。例如目标导航线包括500个点,按照导航方向排序依次为点1~点500,则颜色数组可以对这500个点的颜色值进行存储,例如按照导航方向点1~点100为绿色,点101~点200为橙色,点201~点300为红色,点301~点500为绿色。
此外,还可以设置颜色变化点(即拥堵状态发生变化的临界点)的索引数组,该索引数组主要存储目标导航线中临界点的颜色值。例如在上述举例中,从点100到点101发生了颜色的变化,从绿色变成了橙色,那么可以将点100或点101中的任意一个点作为点1到点200这段内的颜色变化点,这里以点101作为颜色变化点为例,则该索引数组中的颜色变化点可以包括目标导航线中点101的颜色值、点201的颜色值、点301的颜色值,这三个点都是目标导航线中的颜色变化点,即上述临界点。
可选地,在步骤101之后,在步骤102之前,根据本发明实施例的方法还可以包括:首先,根据所述地图界面的比例尺信息以及所述预设宽度,确定抽稀参数;然后,采用预设抽稀算法,按照所述抽稀参数对所述目标导航线进行点的抽稀。
其中,该地图界面为用于显示最终形成的路径面的地图界面。
本实施例中,可以获取到该地图界面的比例尺信息,以及对目标导航线扩展成面时,要求的线宽信息(这里为预设宽度),这两类信息可以是外部输入得到的。然后,借助于这两类信息,来确定对该目标导航线进行点的抽稀的抽稀参数。
发明人在实现本发明的过程中发现,需要展示的地图界面的比例尺越小(例如北京市的比例尺1:1000是小于北京市海淀区的比例尺1:100的),则导航线的细节信息就越少,因此不需要显示那么多点,所以对目标导航线的抽稀程度就越大,即抽稀参数对应的抽稀程度就越大(即下述举例的阈值D的取值越大);此外,发明人还发现,目标导航线扩展后的线宽越大,则为了清楚的展示导航线中的弯折情况,可以对导航线进行较大程度的抽稀(即下述举例的阈值D的取值越大)。
因此,地图界面的比例尺信息与抽稀参数的抽稀程度具有负相关的关系,而对目标导航线进行宽度扩展时的预设宽度,则与抽稀参数的抽稀程度具有正相关的关系。所以,可以结合所述地图界面的比例尺信息以及所述预设宽度,来确定抽稀参数。
由于抽稀算法的不同,抽稀参数也可以存在差异,本发明实施例所采用的预设抽稀算法可以是已知以及未来开发的任意一种抽稀算法,这里以道格拉斯抽稀算法为例进行说明。
在道格拉斯抽稀算法中,该抽稀参数可以是阈值D,可以将该阈值D和该目标导航线的各个点的数据(主要是定位数据)传入该算法中进行计算,完成对目标导航线中点的抽稀(即过滤部分点)。
道格拉斯-普克(Douglas-Peuker)算法一般从整体角度来考虑一条完整的曲线或一段确定的线段,其基本思路为:
1)对曲线的首末点虚连一条直线,求曲线上所有点与直线的距离,并找出最大距离值dmax,用dmax与事先给定的阈值D相比:
2)若dmax<D,则将这条曲线上的中间点全部舍去;
3)若dmax≥D,保留dmax对应的坐标点,并以该点为界,把曲线分为两部分,对这两部分重复使用该方法,即重复1),2)步,直到所有dmax均<D,即完成对曲线的抽稀。
显然,本算法的抽稀精度也与阈值D相关,阈值越大,简化程度越大,点减少的越多,抽稀程度越大,反之,化简程度越低,点保留的越多,抽稀程度越小,抽稀后的曲线形状也越趋于原曲线的形状。
可选地,如果存在上述实施例所述的目标导航线的数组,由于本实施例的方法中涉及点的抽稀,即过滤,因此,还需要基于过滤的点,来对上述两类数组进行更新。举例来说,例如点2和点3被抽稀掉,则颜色数组中原本存储点2的颜色值的数组位置更新为存储点4的颜色值,原本存储点3的颜色值的数组位置更新为存储点5的颜色值。
在本发明实施例中,可以对目标行程的一条完整的目标导航线,根据所述地图界面的比例尺信息以及所述预设宽度,确定抽稀参数;并采用预设抽稀算法,按照所述抽稀参数对所述目标导航线进行点的抽稀,能够实现对目标导航线的整体抽稀过滤,以获得在当前地图界面的比例尺和用于显示目标导航线的线宽条件下的显示效果最佳的路径线数据,减少目标导航线中不必要的点数据,从而在利用目标导航线进行扩展生成需要渲染的路径面时,减少不必要的点数据的渲染,降低导航数据的显示延迟,提升渲染效率;而且,在上述相关技术中的方案中,由于是逐个对各个普通线进行扩展成面的操作,因此,其难以对整体的导航线进行点的优化抽稀,而本发明实施例的方法首先将多条子导航线转换为一条完整的目标导航线(例如以定位位置重复的端点合并的方式),然后,再对完整的目标导航线进行抽稀,实现了对导航线的整体抽稀,提升导航线的显示效果,这是相关技术中的技术方案所难以实现的。
可选地,在执行所述采用预设抽稀算法,按照所述抽稀参数对所述目标导航线进行点的抽稀的步骤时,可以通过S201~S205来实现:
S201,按照所述目标导航线的导航方向,识别所述目标导航线的多个点中对应于拥堵状态发生变化的临界点;
例如,根据上述索引数组中存储的数据可知,这里的目标导航线的500个点中的临界点(或者说颜色变化点)包括点101、点201、点301。
需要说明的是,这里识别临界点时,并不限制于通过上述索引数组来识别,可以通过目标导航线中各点的拥堵状态,来直接识别出对应于拥堵状态发生变化的临界点。
S202,在所述目标导航线中,识别临近所述临界点、且对应于目标拥堵状态的目标子导航线的第一长度,其中,所述目标拥堵状态为所述临界点对应的变化后的拥堵状态;
以临界点中的点101为例,该点101对应的目标拥堵状态为橙色表示的轻微堵塞状态,由于在目标导航线的500个点中,点101~点200为橙色,因此,临近该点101且为橙色的目标子导航线为点101~点200这条橙色的线,其第一长度可以以该条线所包括的点的数量来表示,例如100个点;
再以临界点中的点301为例,该点301对应的目标拥堵状态为绿色表示的畅通状态,虽然在目标导航线的500个点中,点1~点100为绿色,点301~点500也为绿色,但是临近该点301且为绿色的目标子导航线为点301~点500这条绿色的线,因此,其第一长度可以以该条线所包括的点的数量来表示,例如200个点。
其中,在确定目标子导航线时,可以沿所述导航方向来确定。
需要说明的是,由于目标导航线是通过对多条子导航线进行端点合并所生成的,因此,这里的目标子导航线的至少一个端点是经过合并处理后的合并的端点,一条目标子导航线也可以理解为上述多条子导航线中的一条。
S203,根据预设参数和所述第一长度,识别所述临界点中不需要抽稀的目标临界点,其中,所述预设参数包括所述预设宽度(例如用所包括的像素点的数量来表达),和/或,所述目标导航线的第二长度;
其中,该第二长度为沿导航方向的该目标导航线的整体长度,并非目标导航线中起始点到终止点之间的距离;该第二长度也可以用该目标导航线所包括的点的总数量来表达。
可选地,在该预设参数包括所述预设宽度时,则可以通过判断所述第一长度是否大于预设数量的所述预设宽度,来确定该临界点是否应该被抽稀,例如该预设数量为1个,则在该临界点(或者说颜色变化点)所控制的目标拥堵状态的路线长度(即第一长度)大于一个预设宽度时,则说明该临界点所控制的具有该目标拥堵状态的这段路线是较长的,而如果将该临界点抽稀掉,则会导致抽稀后的目标导航线中这段路线的导航信息(特别是拥堵状态的信息)不够精准,因此,可以确定该临界点不应该被抽稀掉;相反,如果该临界点(或者说颜色变化点)所控制的目标拥堵状态的路线长度(即第一长度)小于或等于一个预设宽度,则说明该临界点所控制的具有该目标拥堵状态的这段路线是较短的,例如该目标拥堵状态为严重拥堵,但是由于其路线长度较短,因此,抽稀掉该临界点,对这段路线的拥堵状态的表示也不会受很大影响,所以,说明该临界点是可以被抽稀掉的。
可选地,在该预设参数包括所述目标导航线的第二长度时,则可以通过计算所述第一长度与所述目标导航线的第二长度的比值,即通过确定该临界点所控制的具有该目标拥堵状态的这段路线的长度占该目标导航线的总长度的比例大小,来确定所述临界点是否应该被抽稀;例如该比例大于预设阈值,则确定该临界点不应该被抽稀掉,如果该比例小于或等于预设阈值,则确定该临界点可以被抽稀掉。
可选地,在该预设参数包括所述预设宽度和所述第二长度时,则可以在满足第一长度大于例如一个预设宽度、且第一长度与第二长度的比值大于预设阈值的情况下,确定该临界点不应该被抽稀掉,否则,则可以被抽稀掉。
S204,采用预设抽稀算法,按照所述抽稀参数对所述目标导航线进行点的抽稀,得到抽稀后的目标导航线;
可选地,S205,若所述目标导航线中被抽稀的点包括所述目标临界点,则将所述目标临界点还原至抽稀后的目标导航线中。
除了采用S205的方式,来将不需要抽稀的目标临界点保留在目标导航线中,还可以通过在执行S204的过程中,对目标临界点的抽稀结果进行调整,使得该目标临界点不会被过滤掉。例如在道格拉斯算法中,如果目标临界点对应的最大距离值dmax是小于D的,则可以增大该dmax的取值,使之大于或等于D,那么该目标临界点就不会被过滤掉。
在本发明实施例中,为了避免在对目标导航线进行整体抽稀的过程中,对导航线路中拥堵信息的错误显示,提升对路况的显示准确度,可以按照所述目标导航线的导航方向,识别所述目标导航线的多个点中对应于拥堵状态发生变化的临界点;在所述目标导航线中,识别临近所述临界点、且对应于目标拥堵状态的目标子导航线的第一长度,其中,所述目标拥堵状态为所述临界点对应的变化后的拥堵状态;那么如果结合目标导航线扩展后的线宽(即预设宽度)和/或目标导航线的第二长度,确定该临界点对应的目标拥堵状态的路段较长,则为了防止临界点(或者说拥堵状态发生变化的点)在最终显示的导航线信息中丢失,错误展示当前路况信息,可以在对目标导航线进行点的抽稀时,若所述目标导航线中被抽稀的点包括该临界点,则将该临界点还原至抽稀后的目标导航线中,确保显示的导航信息中路况的准确度。
步骤102,基于所述目标导航线中的折点,对所述目标导航线进行切分,生成至少两种类型的路径线,其中,不同类型的路径线所包括的折点的数量不同、且不同路径线之间无定位位置相同的重叠线段;
在一个示例中,图3显示了目标导航线的示意图,箭头方向为导航方向,图3中的折点包括点a、点b、点c、点d,该目标导航线还包括起始点M、终止点N,当然,该目标导航线中还有其他未列举的点,例如起始点M和点a之间的多个点,该目标导航线按照导航方向依次经过起始点M、点a、点b、点c、点d、终止点N。
其中,在目标导航线进行切分时,可以按照切分后的路径线所包括的折点数量来对切分后的路径线进行分类,每类路径线的数量可以是一条或多条。
并且,在切分时,不会对目标导航线中的同一段路径进行二次切分,因此,所生成的不同路径线(这里并不限制为不同类型的路径线,只要是生成的路径线,它们之间都是不同的)之间是不存在重叠线段的,所谓重叠线段即两个线段的定位位置完全相同,是覆盖的关系;或者说,切分后生成的不同路径线之间最多可以有一个定位位置相同的点(即被切分位置的点),而不会存在两个或两个以上定位位置相同的点。
此外,在对目标导航线进行切分时,都是以折点为基础进行切分的,因此,生成的至少两种类型的路径线可以包括类型1路径线和类型2路径线;
其中,类型1路径线为不含有折点的路径线;
类型2路径线为包含折点的路径线。
在类型2路径线中还可以细分为包括1个折点的类型2-1路径线,包括2个或2个以上折点的类型2-2路径线。
此外,这里说明一下,路径线的长度定义与上述说明的目标导航线的长度定义是相同的,路径线的长度是该路径线的总长度,并非路径线中起点到终点之间的距离。
而这里不同类型的路径线的长度可以相同或不同。
可选地,类型2路径线的长度可以与上述预设宽度存在关联,例如该长度与预设宽度的取值相同,当然,在其他实施例中,该类型2路径线的长度也可以是1.5个预设宽度或者与该预设宽度成其他比例关系,优选二者相同。
而由于类型1路径线是切分后自然生成的不包括折点的直线段,因此,其长度不受限制。
这里以图3为例来说明切分过程,以预设宽度为类型2路径线的长度进行切分,在切分时,可以按照导航方向的顺序,依次以各个折点为基础进行切分:在图3中,首先以点a为基础,在目标导航线中以点a向左半个预设宽度(例如沿与线段Ma垂直的穿过点e的虚线)在点e切分,以点a向右半个预设宽度在点f进行切分,生成包括一个折点的路径线1(线段eaf);按照导航方向,然后,以下一个未生成为路径线的点b为基础,在目标导航线中以点b向左半个预设宽度在g点切分,以点b向右半个预设宽度在h点进行切分(即这里点b到点c到点d到点h的这整个个线段的长度为半个预设宽度),生成包括3个折点的路径线2(线段gbcdh);由于目标导航线中的折点都已经被切分结束,因此,不再基于折点进行切分,上述两次切分后还得到了路径线3(线段hN),以及路径线0(线段Me),以及路径线4(线段fg);其中,路径线3、路径线4以及路径线0都是不包括折点的类型1路径线。
此外,需要说明的是,如果在基于折点对目标导航线进行切分时,例如上述基于点b进行切分时,如果点b向左的剩余未被切分的线段fb的长度是小于半个预设宽度的,则无需再以点b向左进行切分,直接在b点向右切分即可,也就是说,在以一个预设线宽来生成类型2路径线时,该类型2路径线的长度也是可以小于或等于一个预设线宽的。
此外,在基于一个折点,以一个预设线宽来生成类型2路径线时,也不限制于向左和向右切分的长度必须是相同的,例如上述半个预设线宽,只要确保生成的类型2路径线的长度是接近一个线宽即可。
步骤103,对于目标类型的路径线,按照所述目标类型的路径线所包括的折点的数量,对所述目标类型的路径线进行平滑插值处理,生成宽度为预设宽度的所述目标类型的路径面,其中,所述目标类型为所述至少两种类型中的每种类型;
其中,经过步骤102的切分,可以得到至少两种类型的路径线,那么每种类型的路径线的数量可以是一个或多个。
那么本步骤中,对于上述至少两种类型的路径线中的每种类型的路径线,都需要对该路径线进行平滑插值处理,来生成宽度为上述预设宽度的该类型的路径面,且在进行平滑插值处理时需要按照该类型的路径线所包括的折点的数量来进行平滑插值处理的操作,来使得插值后的路径面在折点对应的拐弯处是平滑的。
可选地,在执行步骤103时,在所述目标类型的路径线不包括折点的情况下,可以通过对所述目标类型的路径线进行宽度扩展,来生成宽度为所述预设宽度的所述目标类型的路径面。
其中,对于上述的类型1路径线,即不包含折点的路径线,在对其进行平滑插值处理时,由于其包括拐弯部分,都是平直的路段,因此,可以直接对该路径线进行宽度的扩展。
以图3中的路径线0(即线段Me)为例,可以在穿过点e的虚线方向上(实质可以是在与类型1路径线所在的第一方向垂直的第二方向(即类型1路径线的法线方向)上,例如垂直于线段Me的任意一条线,不限于上述虚线),对线段Me进行宽度扩展,例如向左扩展半个预设宽度(0.5D),向右扩展半个预设宽度(0.5D),则得到与线段Me对应的虚线矩形框21所示的区域(即为由线段Me所扩展得到的路径面);当然,在对线段Me进行宽度扩展时,也不限制于按照图3所示在穿过点e的虚线方向上左右各扩展半个预设宽度(其中,左右扩展的尺寸相同,可以确保生成的显示在地图界面中的导航线是宽度均匀、且对地图界面中的地图元素遮挡率较低的导航信息),也可以是向左扩展0.3D,向右扩展0.7D,只要确保扩展后的总宽度为1个预设宽度(即1D)即可。
同理,对于图3中的路径线3(线段hN)、路径线4(线段fg),可以采用与路径线0(线段Me)所举例的扩展方法,来实现对线的平滑插值,从而生成宽度为预设宽度的路径面,这里不再赘述。
在本发明实施例中,能够针对目标导航线所切分的不同类型的路径线,针对不包括折点的目标类型的路径线,通过对所述目标类型的路径线进行宽度扩展的方式,来生成宽度为所述预设宽度的所述目标类型的路径面,在线扩展成面的方式上,更加便捷,利于提升对导航信息的显示效率。
可选地,在执行步骤103时,在所述目标类型的路径线包括折点的情况下,可以通过S301~S303来实现:
S301,确定与所述折点的数量匹配的目标平滑插值算法;
如上文所述,在类型2路径线中还可以细分为包括1个折点的类型2-1路径线,以及包括2个或2个以上折点的类型2-2路径线。
而由于路径线所包括的折点的数量的区别会使得路径线的拐弯路况存在较大差异,例如类型2-1路径线表达的是一种三点折线拐弯,而类型2-2路径线表达的是一种三点以上折线的连续短距离拐弯,因此,为了能够对两类拐弯路径线进行较优的平滑插值处理,它们对应的平滑插值算法会存在区别。
例如预先可以设置折点为1个的路径线对应于平滑插值算法1,折点为2个或以上的路径线对应于平滑插值算法2。
在一个示例中,类型2-1路径线对应的目标平滑插值算法可以为二阶贝塞尔曲线算法;类型2-2路径线对应的目标平滑插值算法可以为三阶闭合b-spline(b样条)曲线算法。
S302,按照所述目标平滑插值算法,对所述目标类型的路径线进行平滑插值处理,生成与所述目标类型的路径线匹配的曲线;
以图3中属于类型2-1路径线的路径线1(线段eaf)为例进行说明,如图4所示,可以二阶贝塞尔曲线算法计算路径线1的拐弯处(或者说折点处,即点a处)的插值点个数,以及每个插值点的定位位置,从而生成图4所示的包括上述插值点的曲线S1S2(即圆弧状的起点为S1终点为S2的曲线),该曲线S1S2中的每个点为计算的插值点;而图5所示的曲线eS1S2f(按照导航方向依次包括直线段eS1、上述曲线S1S2、直线段S2f)则是与路径线1匹配的曲线。
S303,确定所述曲线中每个点的法线,并在所述法线的方向上对所述曲线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面。
继续以图5为例说明,由于曲线eS1S2f按照导航方向依次包括直线段eS1、上述曲线S1S2、直线段S2f,因此,需要对这三部分分别进行宽度扩展。而直线段的宽度扩展方式实质与类型1路径线的宽度扩展方式类似,因此,对于直线段eS1、直线段S2f的宽度扩展的具体方案,可以参照上述实施例中,在图3对路径线0(即线段Me)进行宽度扩展时的举例,这里不再赘述。
在对图5中的上述曲线S1S2进行宽度扩展时,可以确定曲线S1S2中各点的法线(曲线S1S2中各点具有切线,而各点的法线则是垂直于该切线的线),在所述法线的方向上对所述曲线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面。实质上,对曲线S1S2进行宽度扩展的方案与上述对直线段在法线的方向上进行宽度扩展的方案是类似的,区别仅仅在于直线段和曲线的法线的确定方式不同而已,那么以对图5中曲线eS1S2f,在各点的法线方向上左右各扩展半个预设宽度为例,则可以生成如图6所示的路径面22。
对于图3中的类型2路径线,例如包括3个折点的路径线2(线段gbcdh),则与上述举例的对图3中的属于类型2-1路径线的路径线1(线段eaf)进行处理的方式类似,通过使用三阶闭合b-spline(b样条)曲线算法,可以得到与图3中的线段gbcdh匹配的宽度为预设宽度的路径面,这里不再赘述。
相比于相关技术中所最终生成的展示在地图界面中的导航路径线中的拐弯的线路部分(例如图1所示)重叠面积较大(往往大于一个线宽),对地图元素存在较大面积的遮挡,在本发明实施例中,在目标类型的路径线包括折点的情况下,可以按照与所述折点的数量匹配的目标平滑插值算法,对所述目标类型的路径线进行平滑插值处理,生成与所述目标类型的路径线匹配的曲线;并确定所述曲线中每个点的法线,并在所述法线的方向上对所述曲线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面,这样所生成的路径面中折点所对应的拐弯区域的宽度也是一个预设宽度,不会存在拐弯区域重叠面积较大的情况,降低了对地图元素的遮挡率,实现了显示在地图界面中的涉及拐弯区域的路径面的拐弯的平滑过渡以及连续短距离拐弯的平滑过渡。
可选地,在执行S303时,可以通过S401~S403来实现:
S401,确定所述曲线中每个点的第一法线;
其中,该曲线为对目标类型的路径线平滑插值处理后,所生成的与该路径线匹配的曲线,例如上文举例的图5所示的曲线,由于本步骤中的曲线存在直线段以及部分曲线,那么关于该曲线中所包括的直线段和曲线中每个点的法线的确定方式可以参照上文,这里不再赘述。第一法线即为对包括折点的路径线进行平滑插值处理后得到的曲线中每个点的法线。
S402,在所述目标类型的路径线包括至少两个折点、且存在两个相邻的第一法线之间的夹角大于第一预设角度的情况下,在所述两个相邻的第一法线之间线性插值出多条第二法线;
发明人在实现本发明的过程中发现,面对包括两个或两个以上折点的类型2-2路径线,如果该路径线中存在极小锐角的拐弯,则对其进行平滑插值后所生成的路径面,例如图7所示的路径面的拐弯处(虽然经过了插值,但是会存在缺口)会存在缺口31,因此,在本发明实施例中,对于类型2-2路径线,如果该路径线中存在两个相邻的点的各自的法线之间的夹角大于第一预设角度(例如30度,或45度等锐角),则说明按照上述S303的方式进行宽度扩展,容易生成图7所示的存在缺口的路径面,因此,在本发明实施例中,可以对于夹角大于第一预设角度的两个相邻法线之间再线性插值出多条第二法线。
可选地,所述多条第二法线可以将所述夹角平分(例如夹角大于30度的两个相邻的第一法线与地图界面中的水平线的夹角分别为100度和170度,则线性插值的多条第二法线与该水平线的夹角可以分别为110度、120度、130度、140度、150度、160度,即生成这6种角度的6条第二法线)。当然,多条第二法线在评分上述两条第一法线时,并不限制为相邻法线的夹角为10度,还可以是20度等其他角度。
S403,在所述第一法线和所述第二法线的方向上分别对所述曲线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面。
其中,本步骤中在第二法线的方向上对曲线进行宽度扩展的原理,与在第一法线的方向上对曲线进行宽度扩展的原理类似,这里不再一一赘述,这样,就可以将存在极小锐角的连续拐弯的路径线,生成为例如图8所示的路径面,在图8中的连续拐弯处,不存在图7所示的缺口31。
在本发明实施例中,考虑到在对包括至少两个折点的路径线扩展为路径面时,如果存在两个相邻的第一法线之间的夹角大于第一预设角度,则生成的路径面的连续拐弯处容易存在缺口,导致生成的路径面的拐弯处不够圆滑,那么在本发明实施例中,则可以在夹角大于上述第一预设角度的两个相邻的第一法线之间线性插值出多个第二法线,然后,在所述第一法线和所述第二法线的方向上分别对所述曲线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面,这样,通过在第二法线方向上,对上述曲线进行宽度扩展,从而将路径面中原本存在的缺口进行了补齐,转换为圆弧的拐弯;使得本发明实施例的方法可以支持极端路线的圆滑连续效果展示,如极小锐角的折线、异常弯曲的山路路径线展示。
步骤104,基于所述目标类型的路径线中每个点的拥堵状态所对应的第一显示参数以及所述目标类型的路径线中每个点对应的定位位置,将所述目标类型的路径面渲染至地图界面进行显示。
其中,由于不同路径线是对目标导航线切分后的结果,而不同路径面是对不同路径线进行平滑插值处理后的结果,因此,在将导航信息显示到地图界面时,需要按照切分时不同路径线之间的连接顺序,来将不同路径面进行连接,使得显示的导航信息是多个路径面连接后的结果,例如图10、图11所示的导航线路。
其中,用于表达路径线中各点的拥堵状态的第一显示参数可以是颜色参数,也可以是纹理参数。其中,不同的颜色表达不同的拥堵状态。
此外,路径线中每个点都具有定位位置。
因此,可以获取每种类型的路径线中每个点的拥堵状态所对应的第一显示参数,以及该路径线中每个点的定位位置,利用这两类信息,来确定由该路径线所生成的路径面所对应的第二显示参数以及定位信息(其中,该第二显示参数和定位信息可以是该路径面中每个点的显示参数以及定位信息,也可以是该路径面中部分点(例如下文的关于对路径面进行三角剖分得到的三角形区域中的顶点)的显示参数和定位信息),最后,按照该第二显示参数以及定位信息在地图界面中渲染该路径面,从而形成具有预设宽度的导航路线、且该导航路线中以不同的颜色参数或不同的纹理参数来表达不同路段的拥堵状态。
可选地,在确定由该路径线所生成的路径面所对应的第二显示参数以及定位信息时,以第二显示参数包括颜色参数为例,可以根据目标导航线的颜色数组,来确定切分得到的每种类型的各条路径线中每条路径线中每个点的颜色值,而每条路径线中每个点的定位位置则可以直接获取到;而由于路径线经过平滑插值处理,生成了路径面,而在对路径面进行渲染时可以通过OpenGL ES(OpenGL for Embedded Systems,是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计)进行渲染。但是OpenGL ES只可以处理点、线、和三角形区域,因此,需要对得到的路径面进行三角剖分来生成多个三角形区域。因此,可以基于路径线中每个点的定位位置来获取由该路径线所生成的路径面所对应的每个三角形区域中各顶点的定位位置,以及基于路径线中每个点的颜色值来获取由该路径线所生成的路径面所对应的每个三角形区域中各顶点的颜色值;然后,将该路径面对应的每个三角形区域的各顶点的定位位置和颜色值传输给OpenGL ES进行计算,例如OpenGL ES可以基于接收到的数据进行颜色计算、抗锯齿、混合等处理,从而可以按照该路径面对应的每个三角形区域的各顶点的定位位置和颜色值,在地图界面中渲染出该路径面。
参照图10,示意性的示出了采用本发明实施例的方法得到的在地图界面中所显示的导航线路(即对目标导航线的不同路径线进行宽度扩展后得到的不同路径面);图11,示意性的示出了对图10进行地图比例尺放大之后,具体为,将图10中左上角的椭圆框所示意的导航路段51进行放大之后的显示效果图,需要说明的是,图10和图11中除导航线路之外的关于地图界面中的各种地名的地图元素不用于限制本发明,因此,图10和图11中各种地名的具体内容本发明不做限制。
同理,如果第一显示参数为纹理参数,则第二显示参数也是纹理参数,即采用不同的纹理来表达不同的拥堵状态。在用纹理参数来表达拥堵状态时,可以预先接收到一张纹理图片,目标导航线中的每个点可以被赋予该纹理图片中的纹理坐标,这样,就可以通过在该纹理图片中查询该纹理坐标的颜色值,来确定目标导航线中每个点的颜色值;与上述举例的第二显示参数包括颜色参数类似,可以基于目标导航线中每个点的纹理坐标,确定各类型的每条路径线中各点的纹理坐标,也可以以数组的方式对该纹理坐标进行存储;然后,基于路径线中各点的纹理坐标和所述纹理图片,来确定该路径线所生成的路径面进行三角剖分后每个三角形区域的顶点的纹理坐标(即第二显示参数),然后,将该路径面中每个三角形区域的顶点的纹理坐标、该顶点的定位位置(在地图界面)以及上述纹理图片一起传输给OpenGL ES进行计算,这样OpenGL ES就可以利用每个三角形区域的顶点的纹理坐标来从纹理图片中采样得到每个三角形区域中各点的颜色值,从而在地图界面中绘制并渲染生成纹理与该纹理图片中的纹理相匹配的路径面。
那么在本发明实施例中,在第一显示参数包括纹理图片的纹理坐标的情况下,则可以在对路径面进行三角化过程中计算三角形区域的顶点的纹理坐标,并利用该纹理坐标在带有边框色的纹理图片中进行颜色值的采样,可以使得渲染生成的路径面带有边框效果,进而避免相关技术中通过以不同线宽和不同颜色来对路径线进行两次绘制的方式(第一次绘制边框、第二次绘制颜色)所带来的内存和CPU消耗较大的问题,降低对导航数据进行显示时的性能消耗,降低了对系统资源的占用,提升了导航数据的绘制效率。此外,在相关技术中,由于在对同一路径线扩展成路径面进行显示时,需要两次绘制路径线,第一遍画边框,第二遍涂颜色,那么如果路径线中存在交叉路段,例如图9中示意的盘桥路段41,则会导致边框被颜色覆盖,因此,在图9中的路段交叉的叠加处会存在前后连通,如果图9中的导航线路内不存在箭头指引,则在该盘桥路段41则用户容易不清楚导航方向,存在着导航方向混淆的问题,对用户导航产生误导;而在本发明实施例中,由于只需要进行一次绘制、且利用该纹理坐标在带有边框色的纹理图片中进行颜色值的采样,可以使得渲染生成的路径面带有边框效果,从而解决相关技术中在交叉路段存在导航方向误导的问题。
在本发明实施例中,通过将目标行程的多条子导航线转换为用于表达所述目标行程的导航信息的一条目标导航线,并基于所述目标导航线中的折点,对所述目标导航线进行切分,生成至少两种类型的路径线,然后,对于目标类型的路径线,按照所述目标类型的路径线所包括的折点的数量,对所述目标类型的路径线进行平滑插值处理,生成宽度为预设宽度的所述目标类型的路径面,其中,所述目标类型为所述至少两种类型中的每种类型;最后,基于所述目标类型的路径线中每个点的拥堵状态所对应的第一显示参数以及所述目标类型的路径线中每个点对应的定位位置,将所述目标类型的路径面渲染至地图界面进行显示。这样,所形成的具有一定线宽的导航路径线(即导航路径面)中的弯折处(或者说拐弯处)的宽度为预设宽度,并不会超过预设宽度,不存在两个具有预设宽度的路径线在拐弯处叠加的问题,降低了所显示的路径面对地图元素的遮挡率,也使得拐弯处较为圆滑。
此外,借助于本发明实施例的上述技术方案,通过对原始导航路径线数据进行合并、抽稀过滤、颜色重算(颜色数组等),得出一条在当前地图比例尺和线宽的条件下显示效果最佳的路径线数据,然后将该线数据切分为两点直线就可以表示的路干、需平滑插值的三点折线拐弯以及三个点以上的连续短距离拐弯三种类型的路径线,然后,对路径线进行插值之后,都变成了宽度为预设线宽的路径面,且能够对三种类型路径线采用各自最优的平滑插值算法,使得最终显示的路径面,即导航蚯蚓线更加圆滑优美。
本实施例公开了一种导航信息的显示装置,如图12所示,所述装置包括:
转换模块501,用于将目标行程的多条子导航线转换为用于表达所述目标行程的导航信息的一条目标导航线;
可选地,所述多条子导航线分别对应不同的拥堵状态,所述目标导航线中的每个点对应一种拥堵状态;
切分模块502,用于基于所述目标导航线中的折点,对所述目标导航线进行切分,生成至少两种类型的路径线,其中,不同类型的路径线所包括的折点的数量不同、且不同路径线之间无定位位置相同的重叠线段;
处理模块503,用于对于目标类型的路径线,按照所述目标类型的路径线所包括的折点的数量,对所述目标类型的路径线进行平滑插值处理,生成宽度为预设宽度的所述目标类型的路径面,其中,所述目标类型为所述至少两种类型中的每种类型;
显示模块504,用于基于所述目标类型的路径线中每个点的拥堵状态所对应的第一显示参数以及所述目标类型的路径线中每个点对应的定位位置,将所述目标类型的路径面渲染至地图界面进行显示。
可选地,所述多条子导航线中每条子导航线包括带有定位位置的两个端点;
所述转换模块501包括:
合并子模块,用于对于目标行程的多条子导航线中不同子导航线之间的端点,将定位位置相同的端点进行合并,并在合并后的端点处,将被合并的端点所分别对应的不同子导航线进行连接,生成用于表达所述目标行程的导航信息的一条目标导航线。
可选地,所述装置还包括:
第一确定模块,用于根据所述地图界面的比例尺信息以及所述预设宽度,确定抽稀参数;
抽稀模块,用于采用预设抽稀算法,按照所述抽稀参数对所述目标导航线进行点的抽稀。
可选地,所述抽稀模块包括:
第一识别子模块,用于按照所述目标导航线的导航方向,识别所述目标导航线的多个点中对应于拥堵状态发生变化的临界点;
第二识别子模块,用于在所述目标导航线中,识别临近所述临界点、且对应于目标拥堵状态的目标子导航线的第一长度,其中,所述目标拥堵状态为所述临界点对应的变化后的拥堵状态;
第三识别子模块,用于根据预设参数和所述第一长度,识别所述临界点中不需要抽稀的目标临界点,其中,所述预设参数包括所述预设宽度,和/或,所述目标导航线的第二长度;
抽稀子模块,用于采用预设抽稀算法,按照所述抽稀参数对所述目标导航线进行点的抽稀,得到抽稀后的目标导航线;
还原子模块,用于若所述目标导航线中被抽稀的点包括所述目标临界点,则将所述目标临界点还原至抽稀后的目标导航线中。
可选地,所述处理模块503包括:
第一扩展子模块,用于在所述目标类型的路径线不包括折点的情况下,对所述目标类型的路径线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面。
可选地,所述处理模块503包括:
第一确定子模块,用于在所述目标类型的路径线包括折点的情况下,确定与所述折点的数量匹配的目标平滑插值算法;
生成子模块,用于按照所述目标平滑插值算法,对所述目标类型的路径线进行平滑插值处理,生成与所述目标类型的路径线匹配的曲线;
第二扩展子模块,用于确定所述曲线中每个点的法线,并在所述法线的方向上对所述曲线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面。
可选地,所述第二扩展子模块包括:
确定单元,用于确定所述曲线中每个点的第一法线;
插值单元,用于在所述目标类型的路径线包括至少两个折点、且存在两个相邻的第一法线之间的夹角大于第一预设角度的情况下,在所述两个相邻的第一法线之间线性插值出多条第二法线;
扩展单元,用于在所述第一法线和所述第二法线的方向上分别对所述曲线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面。
本发明实施例公开的导航信息的显示装置,用于实现本发明上述各个实施例所述的导航信息的显示方法的各步骤,装置的各模块的具体实施方式参见相应步骤,此处不再赘述。
本发明实施例公开的导航信息的显示装置,通过将目标行程的多条子导航线转换为用于表达所述目标行程的导航信息的一条目标导航线,并基于所述目标导航线中的折点,对所述目标导航线进行切分,生成至少两种类型的路径线,然后,对于目标类型的路径线,按照所述目标类型的路径线所包括的折点的数量,对所述目标类型的路径线进行平滑插值处理,生成宽度为预设宽度的所述目标类型的路径面,其中,所述目标类型为所述至少两种类型中的每种类型;最后,基于所述目标类型的路径线中每个点的拥堵状态所对应的第一显示参数以及所述目标类型的路径线中每个点对应的定位位置,将所述目标类型的路径面渲染至地图界面进行显示。这样,所形成的具有一定线宽的导航路径线(即导航路径面)中的弯折处(或者说拐弯处)的宽度为预设宽度,并不会超过预设宽度,不存在两个具有预设宽度的路径线在拐弯处叠加的问题,降低了所显示的路径面对地图元素的遮挡率,也使得拐弯处较为圆滑。
相应的,本发明还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明上述任意一个实施例所述的导航信息的显示方法。所述电子设备可以为PC机、移动终端、个人数字助理、平板电脑等。
本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明上述任意一个实施例所述的导航信息的显示方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明提供的一种导航信息的显示方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本公开的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开实施例的计算处理设备中的一些或者全部部件的一些或者全部功能。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图13示出了可以实现根据本公开的方法的计算处理设备。该计算处理设备传统上包括处理器1010和以存储器1020形式的计算机程序产品或者计算机可读介质。存储器1020可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器1020具有用于执行上述方法中的任何方法步骤的程序代码1031的存储空间1030。例如,用于程序代码的存储空间1030可以包括分别用于实现上面的方法中的各种步骤的各个程序代码1031。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为如参考图14所述的便携式或者固定存储单元。该存储单元可以具有与图13的计算处理设备中的存储器1020类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码1031’,即可以由例如诸如1010之类的处理器读取的代码,这些代码当由计算处理设备运行时,导致该计算处理设备执行上面所描述的方法中的各个步骤。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本公开的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
Claims (9)
1.一种导航信息的显示方法,其特征在于,包括:
将目标行程的多条子导航线转换为用于表达所述目标行程的导航信息的一条目标导航线;所述目标导航线包括多个定位点,每个所述定位点携带位置信息,并对应拥堵状态;
基于所述目标导航线多个所述定位点中的折点,对所述目标导航线按照导航方向的顺序依次以折点为基础分别向左和向右半个预设宽度进行切分,生成至少两种类型的路径线;其中,在进行所述切分时,每次切分以未生成为路径线且与上一次生成的路径线相邻的折点为起始点进行切分,直到切分完所有的折点,得到所述至少两种类型的路径线;其中,不同类型的所述路径线所包括的所述折点的数量不同、且不同路径线之间无定位位置相同的重叠线段;
对于目标类型的路径线,按照所述目标类型的路径线所包括的折点的数量,对所述目标类型的路径线进行平滑插值处理,生成宽度为预设宽度的所述目标类型的路径面,其中,所述目标类型为所述至少两种类型中的每种类型;其中,在所述目标类型的路径线包括折点的情况下,所述目标类型的路径线所包括的折点数量不同对应的所述平滑插值算法不同;
基于所述目标类型的路径线中每个所述定位点的拥堵状态所对应的第一显示参数以及所述目标类型的路径线中每个所述定位点对应的定位位置,将所述目标类型的路径面渲染至地图界面进行显示;
其中,在所述目标类型的路径线不包括折点的情况下,对所述目标类型的路径线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面;在所述目标类型的路径线包含所述折点的情况下,确定与所述折点的数量匹配的目标平滑插值算法,按照所述目标平滑插值算法对所述目标类型的路径线进行所述平滑插值处理。
2.根据权利要求1所述的方法,其特征在于,所述多条子导航线中每条子导航线包括带有定位位置的两个端点;
所述将目标行程的多条子导航线转换为用于表达所述目标行程的导航信息的一条目标导航线,包括:
对于目标行程的多条子导航线中不同子导航线之间的端点,将定位位置相同的端点进行合并,并在合并后的端点处,将被合并的端点所分别对应的不同子导航线进行连接,生成用于表达所述目标行程的导航信息的一条目标导航线。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述目标导航线中的折点,对所述目标导航线进行切分,生成至少两种类型的路径线之前,所述方法还包括:
根据所述地图界面的比例尺信息以及所述预设宽度,确定抽稀参数;
采用预设抽稀算法,按照所述抽稀参数对所述目标导航线进行点的抽稀。
4.根据权利要求3所述的方法,其特征在于,所述采用预设抽稀算法,按照所述抽稀参数对所述目标导航线进行点的抽稀,包括:
按照所述目标导航线的导航方向,识别所述目标导航线的多个点中对应于拥堵状态发生变化的临界点;
在所述目标导航线中,识别临近所述临界点、且对应于目标拥堵状态的目标子导航线的第一长度,其中,所述目标拥堵状态为所述临界点对应的变化后的拥堵状态;
根据预设参数和所述第一长度,识别所述临界点中不需要抽稀的目标临界点,其中,所述预设参数包括所述预设宽度,和/或,所述目标导航线的第二长度;
采用预设抽稀算法,按照所述抽稀参数对所述目标导航线进行点的抽稀,得到抽稀后的目标导航线;
若所述目标导航线中被抽稀的点包括所述目标临界点,则将所述目标临界点还原至抽稀后的目标导航线中。
5.根据权利要求1所述的方法,其特征在于,所述对于目标类型的路径线,按照所述目标类型的路径线所包括的折点的数量,对所述目标类型的路径线进行平滑插值处理,生成宽度为预设宽度的所述目标类型的路径面,包括:
在所述目标类型的路径线包括折点的情况下,确定与所述折点的数量匹配的目标平滑插值算法;
按照所述目标平滑插值算法,对所述目标类型的路径线进行平滑插值处理,生成与所述目标类型的路径线匹配的曲线;
确定所述曲线中每个点的法线,并在所述法线的方向上对所述曲线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面。
6.根据权利要求5所述的方法,其特征在于,所述确定所述曲线中每个点的法线,并在所述法线的方向上对所述曲线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面,包括:
确定所述曲线中每个点的第一法线;
在所述目标类型的路径线包括至少两个折点、且存在两个相邻的第一法线之间的夹角大于第一预设角度的情况下,在所述两个相邻的第一法线之间线性插值出多条第二法线;
在所述第一法线和所述第二法线的方向上分别对所述曲线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面。
7.一种导航信息的显示装置,其特征在于,包括:
转换模块,用于将目标行程的多条子导航线转换为用于表达所述目标行程的导航信息的一条目标导航线;
切分模块,用于基于所述目标导航线中的折点,对所述目标导航线按照导航方向的顺序依次以折点为基础分别向左和向右半个预设宽度进行切分,生成至少两种类型的路径线;其中,在进行所述切分时,每次切分以未生成为路径线且与上一次生成的路径线相邻的折点为起始点进行切分,直到切分完所有的折点,得到所述至少两种类型的路径线;其中,不同类型的所述路径线所包括的所述折点的数量不同、且不同路径线之间无定位位置相同的重叠线段;
处理模块,用于对于目标类型的路径线,按照所述目标类型的路径线所包括的折点的数量,对所述目标类型的路径线进行平滑插值处理,生成宽度为预设宽度的所述目标类型的路径面,其中,所述目标类型为所述至少两种类型中的每种类型;其中,在所述目标类型的路径线包括所述折点的情况下,所述目标类型的路径线所包括的折点数量不同对应的所述平滑插值算法不同;
显示模块,用于基于所述目标类型的路径线中每个点的拥堵状态所对应的第一显示参数以及所述目标类型的路径线中每个点对应的定位位置,将所述目标类型的路径面渲染至地图界面进行显示;
其中,在所述目标类型的路径线不包括折点的情况下,对所述目标类型的路径线进行宽度扩展,生成宽度为所述预设宽度的所述目标类型的路径面;在所述目标类型的路径线包含所述折点的情况下,确定与所述折点的数量匹配的目标平滑插值算法,按照所述目标平滑插值算法对所述目标类型的路径线进行所述平滑插值处理。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任意一项所述的导航信息的显示方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至6任意一项所述的导航信息的显示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011187999.7A CN112414428B (zh) | 2020-10-29 | 2020-10-29 | 导航信息的显示方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011187999.7A CN112414428B (zh) | 2020-10-29 | 2020-10-29 | 导航信息的显示方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112414428A CN112414428A (zh) | 2021-02-26 |
CN112414428B true CN112414428B (zh) | 2023-06-27 |
Family
ID=74828214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011187999.7A Active CN112414428B (zh) | 2020-10-29 | 2020-10-29 | 导航信息的显示方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112414428B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113256029A (zh) * | 2021-06-23 | 2021-08-13 | 合肥量圳建筑科技有限公司 | 建筑内寻路方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142146A (zh) * | 2010-01-28 | 2011-08-03 | 北京中科大洋科技发展股份有限公司 | 一种对视频目标区域进行跟踪的方法 |
EP2490447A1 (en) * | 2011-02-16 | 2012-08-22 | British Telecommunications Public Limited Company | Compact cumulative bit curves |
CN107085438A (zh) * | 2017-04-28 | 2017-08-22 | 中国船舶重工集团公司第七0九研究所 | 基于准均匀样条曲线的无人机路径修正方法及系统 |
CN108389243A (zh) * | 2018-02-24 | 2018-08-10 | 武汉大学 | 一种矢量线要素多尺度Bézier曲线分段拟合方法 |
CN109521763A (zh) * | 2017-09-18 | 2019-03-26 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的基于约束平滑样条的路径优化 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7791617B2 (en) * | 2005-12-19 | 2010-09-07 | Nvidia Corporation | Method and system for rendering polygons having abutting edges |
US8730241B2 (en) * | 2008-09-08 | 2014-05-20 | Fair Isaac Corporation | Techniques for drawing curved edges in graphs |
US9619853B2 (en) * | 2012-08-09 | 2017-04-11 | Qualcomm Incorporated | GPU-accelerated path rendering |
US10008014B2 (en) * | 2016-08-25 | 2018-06-26 | Adobe Systems Incorporated | Tool for creating and editing arcs |
CN106446223B (zh) * | 2016-09-30 | 2020-04-07 | 北京百度网讯科技有限公司 | 地图数据的处理方法和装置 |
CN107481300B (zh) * | 2017-08-16 | 2021-03-30 | 城市生活(北京)资讯有限公司 | 一种导航路面生成方法及系统 |
CN109427237B (zh) * | 2017-09-04 | 2022-02-22 | 阿里巴巴(中国)有限公司 | 一种道路文字标注位置确定方法及装置 |
CN109945888B (zh) * | 2019-03-11 | 2021-03-16 | 百度在线网络技术(北京)有限公司 | 导航引导线的生成方法、装置及计算机设备 |
-
2020
- 2020-10-29 CN CN202011187999.7A patent/CN112414428B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142146A (zh) * | 2010-01-28 | 2011-08-03 | 北京中科大洋科技发展股份有限公司 | 一种对视频目标区域进行跟踪的方法 |
EP2490447A1 (en) * | 2011-02-16 | 2012-08-22 | British Telecommunications Public Limited Company | Compact cumulative bit curves |
CN107085438A (zh) * | 2017-04-28 | 2017-08-22 | 中国船舶重工集团公司第七0九研究所 | 基于准均匀样条曲线的无人机路径修正方法及系统 |
CN109521763A (zh) * | 2017-09-18 | 2019-03-26 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的基于约束平滑样条的路径优化 |
CN108389243A (zh) * | 2018-02-24 | 2018-08-10 | 武汉大学 | 一种矢量线要素多尺度Bézier曲线分段拟合方法 |
Non-Patent Citations (3)
Title |
---|
Path-based clustering for grouping of smooth curves and texture segmentation;Fischer等;《 IEEE Transactions on Pattern Analysis and Machine Intelligence》;第25卷(第4期);513 – 518 * |
基于改进势场栅格法的全局路径规划与平滑;陈呈;王直;;信息通信(第06期);第22-25页 * |
基于改进蚁群算法的机器人路径规划方案研究;孙海洋;夏庆锋;杨冠男;郭黎黎;;软件导刊(第09期);第26-28页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112414428A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10627241B2 (en) | Map-centric map matching method and apparatus | |
US9299176B2 (en) | Visualizing large graphs | |
US9262848B2 (en) | Method for stroking paths | |
CN114777799B (zh) | 一种路口高精地图生成方法、装置、电子设备及存储介质 | |
CN110657804A (zh) | 室内位置服务 | |
CN112414428B (zh) | 导航信息的显示方法、装置、电子设备及存储介质 | |
CN113806457B (zh) | 一种经纬度点区域归属判别方法及系统 | |
CN114240976B (zh) | 一种地图迭代切分方法、装置、设备及存储介质 | |
CN111739043A (zh) | 一种停车位绘制方法、装置、设备和存储介质 | |
US4633433A (en) | Display system for displaying maps having two-dimensional roads | |
US7813301B2 (en) | Shrink wrap technique for enclosing multiple polygons | |
CN111192216A (zh) | 一种车道线平滑处理方法及系统 | |
CN114202625B (zh) | 路肩线的提取方法、装置及电子设备 | |
CN111431953A (zh) | 一种数据处理方法、终端、服务器及存储介质 | |
US9880004B2 (en) | Geographical constraints-aware map routing | |
CN113506356A (zh) | 面积图的绘制方法、装置、可读介质和电子设备 | |
CN113449798A (zh) | 港口无人驾驶地图生成方法、装置、电子设备、存储介质 | |
CN113362421A (zh) | 地图中导流区的绘制方法、装置和电子设备 | |
CN113536025B (zh) | 兴趣点的招牌朝向确定方法、装置、电子设备和存储介质 | |
CN114184189B (zh) | 面状地物要素的测量方法、装置、存储介质及程序产品 | |
CN115797585B (zh) | 一种停车场地图生成方法及装置 | |
CN111238505A (zh) | 一种道路地图的道路线段描画方法、装置及相关系统 | |
Li et al. | A Study on Curve Simplification Method Combining Douglas-Peucker with Li-Openshaw | |
CN116358524A (zh) | 裁剪空间的确定方法、数据裁剪方法、装置及电子设备 | |
CN115761044A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |