自动地图生成的制作方法

文档序号:19184155发布日期:2019-11-20 01:19阅读:612来源:国知局
自动地图生成的制作方法

本发明涉及从gps轨迹创建地图。



背景技术:

许多驾驶员依靠地图数据到达目的地。在许多情况下,车辆可以包括结合gps(全球定位系统)接收器的车载信息娱乐(ivi)系统。此类ivi系统存储地图数据,使其能够提供分路段指引。该地图数据存在一些不足之处。必须购买此地图数据。地图数据也可能不准确或不是最新的。

需要一种改进的方式来生成用于导航的地图数据。



技术实现要素:

在本发明的一个方面中,计算机系统接收包括多个第一点的地图轨迹;从导航系统接收包括多个第二点的第二轨迹;并且对于多个第二点的一部分中的每个第二点,为多个第一点计算新点,该新点是每个第二点的位置和地图轨迹上的位置的平均值。

在一些实施例中,地图轨迹上的位置是地图轨迹上最靠近每个第二点的位置。

在一些实施例中,新点是每个第二点的位置和位于地图轨迹上的最靠近位置的位置按与地图轨迹相关联的权重加权得到的加权平均值。

在一些实施例中,该方法包括将多个第二点的一部分识别为在距离地图轨迹的距离阈值内。

在一些实施例中,该方法包括将多个第二点的一部分识别为具有第一阈值航向变化内的航向,所述第一阈值航向变化从地图轨迹上最靠近多个第二点的一部分中的每个第二点的位置开始。

在一些实施例中,该方法还包括识别多个第二点中的多个关键点,多个第二点的一部分是多个关键点的至少一部分;其中多个关键点被识别为以下中的至少一个:第二点的方位点,其符合第二轨迹内的第二阈值航向变化;以及第二点的跨度点,其在方位点之间的第二轨迹的大于最大间隔阈值的跨度内。

在一些实施例中,该方法还包括将新点添加到地图轨迹中的多个第一点。

在一些实施例中,当将新点添加到多个第一点将导致地图轨迹中超过第三阈值航向变化的航向变化时,该方法包括将新点改变为每个第二点和多个第一点中最靠近所述每个第二点的第一点的平均值;以及将新点添加到地图轨迹中的多个第一点。

在一些实施例中,当每个第二点在与多个第一点中的特定第一点的阈值接近度内时,该方法还包括将新点设置为每个第二点和该特定第一点的平均值。

在一些实施例中,当未定义从地图轨迹到每个第二点的垂直线时,该方法包括将新点设置为每个第二点和多个第一点中最靠近所述每个第二点的第一点的平均值。

在一些实施例中,该方法还包括定义从每个第二点出发并与地图轨迹垂直相交的第一线;定义从多个第一点中最靠近每个第二点的第一点出发并与第二轨迹垂直相交的第二线;并且当第一线的第一中点在与第二线的第二中点的阈值接近度内时,将新点设置为第一中点和第二中点之间的第三中点。

在一些实施例中,该方法包括在将多个第二点的一部分的新点添加到多个第一点之后:

移除多个第一点中满足以下两者的那些第一点:

不符合地图轨迹内的第二阈值航向变化;并且

不是使得多个点的第一点之间的地图轨迹的跨度不大于最大间隔阈值所需的。

还公开了执行该方法的对应系统程序。

附图说明

为了易于理解本发明的优点,将通过参考附图中所示的特定实施例来呈现对上面简要描述的本发明的更具体的描述。应当理解,这些附图仅示出本发明的典型实施例,并且因此不应被理解为限制本发明的范围,将通过使用附图更详细和具体地描述和解释本发明,其中:

图1是实现根据本发明实施例的系统的组件的示意框图;

图2是根据本发明实施例的用于将gps轨迹添加到地图数据的方法的过程流程图;

图3是根据本发明实施例的具有识别的关键点的gps轨迹的曲线图;

图4a和图4b是根据本发明实施例的gps轨迹和地图数据的曲线图,示出了关键点与地图数据的合并;

图5是根据本发明实施例的用于将gps轨迹的关键点与地图数据合并的方法的过程流程图;

图6a至图6c是示出根据本发明实施例的当图4b的方式导致过度航向变化时关键点与地图分段的合并的图示;

图7a至图7b示出了根据本发明实施例的根据接近度将关键点与地图数据中的点合并的方式;

图8a和图8b示出了根据本发明实施例的将关键点与地图数据点合并的方式,其中未定义垂直距离;

图9a和图9b示出了根据本发明实施例的将关键点与地图数据合并的方式,其中定义了相互垂直距离;以及

图10是适合于实现根据本发明的实施例的方法的示例性计算装置的示意性框图。

具体实施方式

参考图1,可以使用所示系统100执行本文公开的方法。地图模块102将地图数据库104作为输入,地图数据库104包含以下中的一者或两者:(a)由地图制作工具编辑以辅助导航的整合地图数据,以及(b)根据本文公开的方法通过评估gps(全球定位系统)轨迹生成和/或修改的地图数据。

地图模块102还将gps轨迹106作为输入。gps轨迹106可以是从车辆中的gps接收器接收的gps读数的有序列表。还可以从慢跑者、骑车人或任何类型的私人车辆携带的接收器接收轨迹106,以便创建用于娱乐目的的地图数据。因此,gps轨迹106可以被定义为一系列原始gps坐标,其中直线段被理解为在连续坐标之间延伸以限定轨迹。坐标的排序还定义了分段的方向或方位,使得每个分段从定义该分段的连续坐标的较早接收到的坐标指向较晚接收到的坐标。gps轨迹106可以包括每次读取的时间数据。或者,可以以一致的采样周期对坐标进行采样,从而可以推断出每对连续坐标的经过时间并且由此推断出速度。

来自地图数据库104的地图数据可以由地图模块102根据本文描述的方法根据gps轨迹106进行更新。然后可以将更新的地图数据存储在地图数据库104中。

导航模块108诸如本领域中已知的用于提供分路段指引的任何导航系统或利用电子地图的任何其他软件然后可以利用数据库104中的地图数据。根据本文公开的方法生成的地图数据对于引导自动驾驶车辆可能特别有用。

参考图2,地图模块102可以实施方法200以将gps轨迹106添加到地图数据库104。可以针对许多gps轨迹106重复执行方法200,以便更好地增强地图数据库104。

方法200可以包括识别gps轨迹106中的关键点202。相对于图3详细描述了该过程,并且该过程包括识别在gps轨迹106中处于符合阈值量值的方位变化的那些点,或者是使得关键点之间的间隔不超过预定义的最大间隔所需的那些。步骤202的结果是一组关键点,每个关键点具有gps坐标和与其相关联的方位以及连接连续关键点的分段。可以明确定义这些分段,或者可以将这些分段理解为从排序中的关键点延伸到紧随其后的关键点。该关键点的排序与对应于原始gps轨迹106中的关键点的坐标的排序相同。识别202关键点减少了需要根据下面描述的方法处理的坐标数量。

然后,方法200可以包括根据方法200的后续步骤迭代地处理204每个关键点(“主题点”)。具体地讲,方法200可以包括相对于地图数据评估206主题点,以确定主题点在来自地图数据库104的地图数据中是否具有匹配的地图轨迹。下面相对于图4a和图4b描述该过程,并且该过程包括相对于地图数据中的地图轨迹评估主题点的位置和方位。在主题点的位置在地图轨迹上的特定位置的接近度阈值内并且主题点的方位在地图轨迹上该特定位置的方位的方位阈值内的情况下,可以确定主题点匹配该地图轨迹206。

如果未发现匹配,则将主题点添加到地图数据库中的地图数据208。如果已经合并了gps轨迹中的相邻关键点(参见步骤210),则对应于合并的关键点的地图数据中的新点与主题点之间的连接可以包括在地图数据中(例如,分段),从而定义分支。在未合并主题点的相邻关键点的情况下,主题点和这些相邻关键点将被添加到地图轨迹中,其中地图轨迹的分段在它们之间显式地或隐式地延伸。

如果发现匹配,则将主题点与在步骤206发现主题点匹配的地图轨迹合并210。相对于图4b、图5和图6a至图10详细描述该过程。通常,合并210包括确定主题点和发现206主题点所匹配的地图轨迹上的特定点的位置的平均值,从而获得新点。然后将新点添加到地图轨迹中。下面相对于图5和图6a至图10描述该方式的各种改进和例外。

在gps轨迹106的一个或多个关键点已被添加到地图数据库104中的地图数据之后,可根据步骤212评估地图数据。由于已经将点添加到地图数据中的地图轨迹,因此可能存在不再符合如上文相对于步骤202所述关键点的定义的多余点。因此,可以从地图数据中的轨迹中移除满足以下两者的点:(a)不符合方位变化阈值,并且(b)不是使得其他关键点之间的跨度不大于预定义的最大间隔所需的。可以以与下面相对于图3描述的相同方式执行步骤212。

参考图3,gps轨迹106由实线表示,并且包括一系列gps读数,每个读数具有纬度和经度。可以在三个连续点p1、p2和p3的集合中评估gps读数,每个点包括定义其位置的纬度和经度。向量v1可以被计算为(p2-p1)并且向量v2可以被计算为(p3-p1)。可以诸如通过计算每个向量的方位并从另一个中减去一个计算这些向量的角度差。可以将角度差计算为向量v1和v2的向量积或者具有向量v1和v2的方向的单位向量。向量积的量值随方位的变化而增加,并且如果向量v1和v2平行则为零。

在一些实施例中,方位变化阈值是8度。因此,如果向量v1和v2之间的方位的变化具有至少8度的量值,则可以选择点p1、p2和p3中的一个作为关键点。例如,可以选择最后一个值p3作为关键点。可以使用方位变化阈值的其他值,诸如5到12度之间的值。关键点可以包括选择点(例如,p3)的位置以及航向诸如从p1到p2的航向、从p2到p3的航向或这些航向的平均值之一。

还可以识别关键点,使得关键点之间的间隔不超过某个最大间隔。最大间隔可以表示为点之间的原始gps坐标的距离或数量。例如,最大间隔可以被限制为250米。可以从gps轨迹104中的第一点处开始处理gps轨迹,并且按照轨迹内的顺序处理每个点以确定该点及其后面的两个点是否符合方位变化阈值。如果到达gps轨迹中不满足方位变化阈值但与前一关键点相隔最大间隔的特定点,则该特定点可以被选择为关键点。

在另一种方式中,识别符合方位变化阈值的关键点,然后识别超过最大间隔的这些关键点之间的跨度。然后选择这些跨度中的gps轨迹中的点作为关键点,使得关键点之间的间隔不再超过最大间隔。例如,跨度的长度可以除以除数(d),增加该除数(d)直到除法的结果小于最大间隔。然后可以从gps轨迹中选择等于d-1的若干个关键点,使得它们分布在跨度任一端处的关键点之间,并且不再超过最大间隔。

图3中的实线表示gps轨迹106。显然,关键点300位于符合方位变化阈值的曲线上。因此,沿着gps轨迹106的弯曲部分存在更大密度的识别关键点。关键点302和304之间的跨度长且相对直。因此,可以选择关键点306,使得点302和306之间以及点306和304之间的间隔不超过最大间隔。也可以在关键点306处计算方位,并且位置和方位存储为关键点306。

在识别关键点之后,简化轨迹可以被定义为由从原始gps轨迹106(实线)中选择的关键点300、302、304、306之间延伸的虚线所表示。简化轨迹中关键点的排序与其在原始gps轨迹中的排序相同。

图4a示出了用于确定关键点是否匹配地图数据以及用于合并关键点的方式。地图数据可以包括轨迹,该轨迹按顺序包括点400和点402,其中分段404从点400延伸到点402。因此,分段404具有从点400指向点402的恒定方位406。

gps轨迹408包括具有所示位置和方位412的关键点410。该方法可以包括计算从关键点410到分段404上的位置416的线414的长度,线414垂直于分段404。可以相对于预定义的最小间隔阈值评估该长度。也可以相对于预定义的最小方位阈值评估方位412和方位406之间的差异418。如果线414的长度符合最小间隔阈值,例如小于预定义的最小间隔阈值,并且差异418符合最小方位阈值,例如小于最小方位阈值,则关键点410可以被确定为匹配分段404。

最小方位阈值可以与用于识别关键点的方位变化阈值相同或不同。例如,方位变化阈值可以是8度,而最小方位阈值可以是16度。最小间隔阈值和最小方位阈值可以是动态的。例如,这些阈值可以是速度的函数,例如随着车辆速度的增加而增加,如包括关键点410的原始gps轨迹中的连续点之间的间隔所指示的。

参考图4b,可以通过计算点410和分段404(示出为虚线)上的位置416的中点420执行将关键点410与分段404合并。这可以被计算为点410和位置416的平均纬度和平均经度,其可以包括加权平均值。例如,分段404或分段404的任一端处的点400、402可具有与其相关联的权重。例如,每次gps轨迹与分段合并时,该分段和/或任一端处的点400、402可以增加它们的权重。因此,在使用n个gps轨迹定义分段404和/或点400、402的情况下,中点420可以计算为(n*l1+l2)/(n+1),其中l1是点416的纬度并且l2是点410的纬度。可以以相同的方式计算平均经度。响应于与点410的合并,新点420的权重可以被设置为n=n+1或者增加某个其他量。响应于与点410的合并,点400、402的权重也可以以相同的方式递增或以其他方式增加。

然后将中点420添加到地图轨迹。例如,可以在点400和402之间添加中点420,使得从点400到点420的分段422现在包括在地图轨迹中,并且从点420到点402的分段424也包括在地图轨迹中。

参考图5,图4b所示的合并方式在某些情况下可能不可行。可以由地图模块102执行方法500以便处理这些情况。

方法500可以包括根据图4b的方式确定新点位置502(参见例如用于计算添加点420的位置的方式)。然后,方法500可以包括评估添加该新点是否会导致地图轨迹中的过度航向变化504。如果是,则从地图轨迹中移除现有点并添加新点506。

这种方式在图6a至图6c中示出。在所示实例中,地图轨迹包括点600,其后是点602,其中分段604连接它们,而另一个分段606连接到点600。要合并的gps轨迹包括点608,接着是点610。

如图6b所示,通过在点610和位置612之间的中点(平均值或加权平均值)处添加新点614从而将点610与分段604合并,其中在位置612处垂直于分段604的线与点610相交。这导致分段604被点602和点614之间的分段616,并且被点614和通过将点608与分段604合并产生的新点620之间的分段618所替换。可以以与关键点610相同的方式为关键点608计算新点620。

如图6b中显而易见的,添加新点620导致点600和620之间的分段622与分段606之间的急剧航向变化。这同样导致分段622和分段618之间的急剧航向变化。

因此,如果根据图4b的方式添加点620将导致超过预定义的最大航向变化的航向变化,则不使用该方式。最大航向变化可以作为合并产生的一个或多个新分段之间(例如,分段622和618之间以及分段626和618之间)的比较来测量。

最大航向变化可以与用于识别关键点的航向变化相同或不同。例如,为了确定是否可以使用图4b的方式,最大航向变化可以是30到50度之间的值,例如45度。最大航向变化可以取决于速度,例如,随着速度的增加而减小,如由关键点608的区域中的速度限制所指示的或由关键点608处的gps轨迹所指示的。

不使用产生最大航向变化的图4b的方式,而是可以使用图6c的方式。在该方式中,地图轨迹中最靠近点608的点600被点600和点608之间的中点(平均值或加权平均值)处的新点624代替。先前连接到点600的分段606现在连接到新点624。同样,连接到点600的分段604(或由相邻点的合并产生的新分段618)现在连接到新点624。显然,这极大地减少了使用图6b的方式产生的航向变化。

如图6a至图6c中显而易见的,gps轨迹可包括连接到关键点608的分段626,从关键点608连接到关键点610的分段628,以及连接到关键点610的分段630。如图6b所示,当合并分段628两端处的关键点608、610时,消除该分段628。然而,如图6b和图6c所示,连接到与地图轨迹合并的关键点608、610的分段626、630可以保持连接到新点624、614,当这些分段626、630的另一端的关键点没有合并时,所述新点替换那些关键点608、610。

在下面的实例中,描述了单个关键点的合并,并且gps轨迹的分段与其连接。应当理解,在分段的两端的关键点被合并的情况下,该分段将被消除并由连接新点(替换关键点)的新分段替换。

再次参考图5,方法500可以包括评估关键点是否在与地图轨迹中的点的阈值接近度内508。该阈值接近度可以与在步骤206处使用用于确定关键点是否应该与地图数据合并的接近度相同或者更小。

如果发现符合阈值接近度508,则可以将关键点与地图数据中满足阈值接近度的点合并510。这在图7a和图7b中示出。

地图轨迹包括在gps轨迹中的关键点702的阈值接近度内的点700。点700连接到地图轨迹中的分段704和706,并且关键点702连接到分段708和710。

计算新点712作为点700和702的中点(平均值或加权平均值)。先前连接到点700、702的分段704、706、708、710然后可以连接到新点712。当根据本文公开的方法合并分段708、710的其他端点时,可以修改分段704、706、708、710。

再次参考图5,如图4b和图6a所示,关键点可以合并到位于与地图轨迹的分段垂直相交的线上的新点。然而,在某些情况下,发现未定义这样的线512。因此,在这样的实施例中,关键点可以与地图轨迹上最靠近它的点合并514。

该方式在图8a和图8b中示出。地图轨迹可包括连接到分段802、804的点800。gps轨迹可包括连接到分段808、810的关键点806。如图8a中显而易见的,与点806相交并垂直于分段804的线812不与分段804相交。同样,与点806相交并垂直于分段802的线不与分段802相交。

因此,可以通过对点800、806进行平均(例如,加权平均或非加权平均)来合并地图轨迹的最靠近点806的点800,以获得新点814。然后,连接到点800、806的分段802、804、808、810可以连接到新点814。当根据本文公开的方法合并分段808、810的其他端点时,可以修改分段802、804、808、810。

再次参考图5,在某些情况下,可能会发现定义了相互垂直的交叉线516。因此,在这样的实施例中,可以合并这些线的中点以定义新点518。该方式在图9a和图9b中示出。

地图轨迹可包括连接到分段902、904的点900。gps轨迹可包括连接到分段908、910的点906。如图所示,可以从点900定义与分段908垂直相交的线。同样,可以从点906定义与分段902垂直相交的线。这些线中的每一条具有点900、906以及分段908、902上的交叉位置的对应中点912、914(平均或加权平均)。

当存在图9a的情况时,可以在中点912、914的中点(平均或加权平均)处将新点916添加到地图轨迹,如图9b所示。在使用加权平均值的情况下,中点912可具有与地图轨迹中的点900相关联的权重。

先前连接到点900、906的分段902、904、908、910然后可以连接到新点。当根据本文公开的方法合并分段908、910的其他端点时,可以修改分段902、904、908、910。

再次参考图5,在未发现存在步骤504至516的条件的情况下,然后可以将根据图4b的方式确定的新点添加到相对于图4b所述的地图轨迹520。

图10是示出示例性计算装置1000的框图。计算装置1000可以被用来执行各种程序,诸如本文所讨论的那些程序。计算装置1000可用于实现地图模块102并且被编程为执行本文公开的方法。

计算装置1000包括一个或多个处理器1002、一个或多个存储器装置1004、一个或多个接口1006、一个或多个大容量存储装置1008、一个或多个输入/输出(i/o)装置1011和显示装置1030,所有这些装置都耦接到总线1012。处理器1002包括执行存储在存储器装置1004和/或大容量存储装置1008中的指令的一个或多个处理器或控制器。处理器1002还可包括各种类型的计算机可读介质诸如高速缓存存储器。

存储器装置1004包括各种计算机可读介质诸如易失性存储器(例如,随机存取存储器(ram)1014)和/或非易失性存储器(例如,只读存储器(rom)1016)。存储器装置1004还可以包括可重写rom诸如快闪存储器。

大容量存储装置1008包括各种计算机可读介质诸如磁带、磁盘、光盘、固态存储器(例如,快闪存储器)等。如图10所示,特定大容量存储装置是硬盘驱动器1024。各种驱动器也可以包括在大容量存储装置1008中,以使得能够从各种计算机可读介质进行读取和/或对其进行写入。大容量存储装置1008包括可移动介质1026和/或不可移动介质。

i/o装置1010包括允许将数据和/或其他信息输入到计算装置1000中或从计算装置检索数据和/或其他信息的各种装置。示例性i/o装置1010包括光标控制装置、键盘、小键盘、传声器、监视器或其他显示装置、扬声器、打印机、网络接口卡、调制解调器、镜头、电荷耦合器件(ccd)或其他图像捕获装置等。

显示装置1030包括能够向计算装置1000的一个或多个用户显示信息的任何类型的装置。显示装置1030的实例包括监视器、显示终端、视频投影装置等。

接口1006包括允许计算装置1000与其他系统、装置或计算环境交互的各种接口。示例性接口1006包括任何数量的不同网络接口1020诸如到局域网(lan)、广域网(wan)、无线网络和互联网的接口。其他接口包括用户接口1018和外围装置接口1022。接口1006还可以包括一个或多个外围接口诸如用于打印机、指向装置(鼠标、跟踪板等)、键盘等的接口。

总线1012允许处理器1002、存储器装置1004、接口1006、大容量存储装置1008、i/o装置1010和显示装置1030彼此通信,并且与耦接到总线1012的其他装置或组件通信。总线1012表示几种类型的总线结构诸如系统总线、pci总线、ieee1394总线、usb总线等中的一个或多个。

出于说明的目的,虽然程序和其他可执行程序组件在本文中被示出为离散块,但应当理解,所述程序和组件可以在各种时间驻留在计算装置1000的不同存储组件中,并且由处理器1002执行。或者,本文描述的系统和过程可以用硬件或硬件、软件和/或固件的组合来实施。例如,可以编程一个或多个专用集成电路(asic)以执行本文描述的系统和过程中的一个或多个。

在以上公开中,已经参考了附图,所述附图形成了本发明的一部分,并且其中通过图示的方式示出可以实践本公开的具体实现方式。应当理解的是,在不脱离本公开的范围的情况下,可以利用其他实现方式并且可以进行结构改变。说明书中对“一个实施例”、“实施例”、“示例性实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可能未必包括特定的特征、结构或特性。此外,这些短语不一定指的是相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,所服从的是,无论是否明确描述,结合其他实施例影响这些特征、结构或特性在本领域技术人员的知识范围内。

本文所公开的系统、装置和方法的实现方式可以包括或利用专用或通用计算机,所述专用或通用计算机包括计算机硬件诸如一个或多个处理器和系统存储器,如本文所讨论的。本公开范围内的实现方式还可以包括用于承载或存储计算机可执行指令和/或数据结构的物理介质和其他计算机可读介质。这种计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质(装置)。承载计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实现方式可以包括至少两种完全不同的计算机可读介质:计算机存储介质(装置)和传输介质。

计算机存储介质(装置)包括ram、rom、eeprom、cd-rom、固态驱动器(“ssd”)(例如,基于ram)、快闪存储器、相变存储器(“pcm”)、其他类型的存储器、其他光盘存储装置、磁盘存储装置或其他磁存储装置、或可用于以计算机可执行指令或数据结构的形式存储所需程序代码装置并可由通用或专用计算机访问的任何其他介质。

本文公开的装置、系统和方法的实现方式可以通过计算机网络进行通信。“网络”被定义为能够在计算机系统和/或模块和/或其他电子装置之间传输电子数据的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线或硬连线或无线的组合)传递或提供给计算机时,计算机正确地将连接视为传输介质。传输介质可以包括网络和/或数据链路,其可用于以计算机可执行指令或数据结构的形式承载所需程序代码装置并可由通用或专用计算机访问的。上述的组合也应当包括在计算机可读介质的范围内。

例如,计算机可执行指令包括在处理器上执行时使得通用计算机、专用计算机或专用处理装置执行特定功能或功能组的指令和数据。例如,计算机可执行指令可以是二进制代码、中间格式指令诸如汇编语言、或者甚至是源代码。尽管用结构特征和/或方法动作专用的语言描述了主题,但应当理解的是,所附权利要求书中限定的主题不必限于上述特征或动作。而是,所描述的特征和动作被公开为实现权利要求的示例性形式。

本领域技术人员将理解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中实践,所述计算机系统配置包括内置式车辆计算机、个人计算机、台式计算机、膝上型计算机、消息处理器、手持式装置、多处理器系统、基于微处理器的或可编程的消费电子设备、网络pc、小型计算机、大型计算机、移动电话、pda、平板电脑、寻呼机、路由器、交换机、各种存储装置等等。本公开还可以在分布式系统环境中实践,其中通过网络(通过硬连线数据链路、无线数据链路或者通过硬连线和无线数据链路的组合)链接的本地和远程计算机系统两者都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储装置两者中。

此外,在适当的情况下,可以在以下中的一个或多个中执行本文描述的功能:硬件、软件、固件、数字组件或模拟组件。例如,可以对一个或多个专用集成电路(asic)编程以执行本文描述的系统和程序中的一个或多个。某些术语贯穿本说明书和权利要求书用于指代特定系统组件。如本领域技术人员将理解的,可以通过不同的名称来引用组件。本文件不意图区分名称不同但功能相同的组件。

应当注意的是,上面讨论的传感器实施例可以包括计算机硬件、软件、固件或其任何组合以执行其功能的至少一部分。例如,传感器可以包括被配置为在一个或多个处理器中执行的计算机代码,并且可以包括由计算机代码控制的硬件逻辑/电路。这些示例性装置在本文中被提供用于说明的目的,而不是限制性的。如相关领域的技术人员将知道的,本公开的实施例可以在其他类型的装置中实现。

本公开的至少一些实施例涉及计算机程序产品,其包括存储在任何计算机可用介质上的这种逻辑(例如,以软件的形式)。这种软件在一个或多个数据处理装置中执行时使得装置如本文所述的那样进行操作。

虽然上面已经描述了本公开的各种实施例,但是应当理解的是,它们仅以示例的方式呈现并且不是限制。对于相关领域的技术人员明显的是,在不脱离本公开的精神和范围的情况下,可以在其中进行形式和细节方面的各种改变。因此,本公开的广度和范围不应受任何上述示例性实施例的限制,而应当仅根据以下权利要求及其等同物来限定。已经出于说明和描述的目的呈现了前面的描述。其并非旨在穷举或将本公开限制于所公开的精确形式。鉴于上述教导,许多修改和变化都是可能的。此外,应当注意的是,任何或所有的上述替代性实现方式可能以期望的任何组合使用以形成本公开的附加混合实现方式。

根据本发明,一种方法包括由计算机系统:接收包括多个第一点的地图轨迹;从导航系统接收包括多个第二点的第二轨迹;以及对于多个第二点的一部分中的每个第二点,为多个第一点计算新点,该新点是每个第二点的位置和地图轨迹上的位置的平均值。

根据一个实施例,地图轨迹上的位置是地图轨迹上最靠近每个第二点的位置。

根据一个实施例,新点是每个第二点的位置和位于地图轨迹上的最靠近位置的位置按与地图轨迹相关联的权重加权得到的加权平均值。

根据一个实施例,上述发明的特征还在于将多个第二点的一部分识别为在距离地图轨迹的距离阈值内。

根据一个实施例,上述发明的特征还在于将多个第二点的一部分识别为具有第一阈值航向变化内的航向,所述第一阈值航向变化从地图轨迹上最靠近多个第二点的一部分中的每个第二点的位置开始。

根据一个实施例,上述发明的特征还在于识别多个第二点中的多个关键点,多个第二点的一部分是多个关键点的至少一部分;其中多个关键点被识别为以下中的至少一个:第二点的方位点,其符合第二轨迹内的第二阈值航向变化;以及第二点的跨度点,其在方位点之间的第二轨迹的大于最大间隔阈值的跨度内。

根据一个实施例,上述发明的特征还在于将新点添加到地图轨迹中的多个第一点。

根据一个实施例,上述发明的特征还在于当将新点添加到多个第一点将导致地图轨迹中超过第三阈值航向变化的航向变化时:将新点改变为每个第二点和多个第一点中最靠近所述每个第二点的第一点的平均值;以及将新点添加到地图轨迹中的多个第一点。

根据一个实施例,上述发明的特征还在于当每个第二点在与多个第一点中的特定第一点的阈值接近度内时,将新点设置为每个第二点和该特定第一点的平均值。

根据一个实施例,上述发明的特征还在于当未定义从地图轨迹到每个第二点的垂直线时,将新点设置为每个第二点和多个第一点中最靠近所述每个第二点的第一点的平均值。

根据一个实施例,上述发明的特征还在于定义从每个第二点出发并与地图轨迹垂直相交的第一线;定义从多个第一点中最靠近每个第二点的第一点出发并与第二轨迹垂直相交的第二线;以及当第一线的第一中点在与第二线的第二中点的阈值接近度内时,将新点设置为第一中点和第二中点之间的第三中点。

根据一个实施例,上述发明的特征还在于在将多个第二点的一部分的新点添加到多个第一点之后:移除多个第一点中满足以下两者的那些第一点:不符合地图轨迹内的第二阈值航向变化;并且不是使得多个点的第一点之间的地图轨迹的跨度不大于最大间隔阈值所需的。

根据本发明,提供了一种系统,其具有:一个或多个处理装置和可操作地耦接到该一个或多个处理装置的一个或多个存储器装置,该一个或多个存储器装置存储可执行代码,该可执行代码有效地使得该一个或多个处理装置:接收包括多个第一点的地图轨迹;从导航系统接收包括多个第二点的第二轨迹;将多个第二点的一部分识别为在距离地图轨迹的距离阈值内并且具有第一阈值航向变化内的航向,所述第一阈值航向变化从地图轨迹上最靠近多个第二点的一部分中的每个第二点的位置开始;以及对于多个第二点的一部分中的每个第二点,为多个第一点计算新点,该新点是每个第二点的位置和位于地图轨迹上的最靠近位置的位置按与地图轨迹相关联的权重加权得到的加权平均值。

根据一个实施例,可执行代码还有效地使得该一个或多个处理装置:识别多个第二点中的多个关键点,多个第二点的一部分专门地选自多个关键点,其中多个关键点被识别为以下中的至少一个:第二点的方位点,其符合第二轨迹内的第二阈值航向变化;以及第二点的跨度点,其在方位点之间的第二轨迹的大于最大间隔阈值的跨度内。

根据一个实施例,可执行代码还有效地使得该一个或多个处理装置:将新点添加到地图轨迹中的多个第一点。

根据一个实施例,可执行代码还有效地使得该一个或多个处理装置:当将新点添加到多个第一点将导致地图轨迹中超过第三阈值航向变化的航向变化时:将新点改变为每个第二点和多个第一点中最靠近所述每个第二点的第一点的平均值;以及将新点添加到地图轨迹中的多个第一点。

根据一个实施例,可执行代码还有效地使得该一个或多个处理装置:当每个第二点在与多个第一点中的特定第一点的阈值接近度内时,将新点设置为每个第二点和该特定第一点的平均值。

根据一个实施例,可执行代码还有效地使得该一个或多个处理装置:当未定义从地图轨迹到每个第二点的垂直线时,将新点设置为每个第二点和多个第一点中最靠近所述每个第二点的第一点的平均值。

根据一个实施例,可执行代码还有效地使得该一个或多个处理装置:定义从每个第二点出发并与地图轨迹垂直相交的第一线;定义从多个第一点中最靠近每个第二点的第一点出发并与第二轨迹垂直相交的第二线;以及当第一线的第一中点在与第二线的第二中点的阈值接近度内时,将新点设置为第一中点和第二中点之间的第三中点。

根据一个实施例,可执行代码还有效地使得该一个或多个处理装置在将多个第二点的一部分的新点添加到多个第一点之后:移除多个第一点中满足以下两者的那些第一点:不符合地图轨迹内的第二阈值航向变化;并且不是使得多个点的第一点之间的地图轨迹的跨度不大于最大间隔阈值所需的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1