使用来自移动数据源的数据估算道路交通状况转让专利

申请号 : CN200780015916.2

文献号 : CN101438335B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 克雷格·H·查普曼亚历克·巴克米切尔·A·小博恩斯罗伯特·C·卡恩奥利弗·B·唐斯杰西·S·赫奇斯科特·R·兰弗

申请人 : 因瑞克斯有限公司

摘要 :

所描述的技术用于基于所获得的交通相关数据以各种方式估算道路交通状况,例如,所述交通相关数据是来自在道路上行驶的车辆和其它移动数据源来的数据样本,以及在一些情况下来自一个或多个其它来源(例如道路附件或嵌入在道路内的物理传感器)的数据。基于所获得的数据样本的道路交通状况的估算可以包括数据样本的各种过滤和/或调整,以及来自数据样本的对所感兴趣的交通相关特征的各种推测和概率性确定。在一些实施例中,推断包括重复地在所感兴趣的时间段内针对所感兴趣的道路段确定交通流量特征,例如确定平均交通速度、交通量和/或占用率,并包括以各种方式对各种数据样本进行加权(例如,基于数据样本的等待时间和/或数据样本的来源)。

权利要求 :

1.一种计算机执行的方法,用于基于反映了道路上行驶状况的数据样本,针对在这些道路上行驶的车辆来确定估算平均速度信息,所述方法包括:接收一个或多个道路的一个或多个路段的指示,每个道路段具有多个关联的数据样本,每个所述数据样本反映了在报告时间处道路段上的车辆的报告速度;

对于至少一个道路段的每个,自动地通过如下步骤来估算某个时间段内在道路段上行驶的车辆的平均交通速度:

识别与所述时间段内出现报告时间的道路段关联的多数据样本的组;

基于这些数据样本的影响这些数据样本的报告速度的精确度的一个或多个属性,确定对于所述组的数据样本的权重,其中,所述组的数据样本包括从多个源提供的数据样本,用于确定权重的组的数据样本的一个或多个属性包括数据样本的来源,从而来自所述多个源中一个或多个源的组的数据样本接收与来自所述多个源中的一个或多个其它源的组的数据样本不同的所确定的权重;

至少部分地基于所述组的数据样本的报告速度的加权平均,确定所述时间段内在道路段上行驶的车辆的估算平均交通速度,使用所确定的权重计算所述加权平均;和使用一个或多个估算平均交通速度来辅助在一个或多个道路上的行驶。

2.根据权利要求1的方法,其中,所述接收的所述一个或多个道路的一个或多个道路段的指示包括:所述一个或多个道路的多个道路段的指示,其中针对多个时间段的每个,执行在时间段内在至少一个道路段的每个上行驶的车辆的平均交通速度的自动估算,其中识别与所述时间段内出现报告时间的道路段关联的多数据样本的组,包括:在时间段内接收有关多个道路段的当前交通状况的信息,所接收的信息包括所述时间段的多个数据样本,每个所述数据样本都从多个车辆的一个所报告并反映了在所述时间段内报告时间处在道路段之一的报告位置处的一个车辆的报告速度,所述多个车辆是所述时间段内在所述道路段上行驶的所有车辆的子集,所述接收的信息还包括所述时间段内的多个附加数据样本,每个所述附加数据样本都从监视多个道路段的多个交通传感器之一报告,并基于针对所述时间段内一个或多个报告时间的道路段的位置处的一部或多个车辆的一个或多个速度读数,反映报告速度;和对于多个道路段的每个,识别所述时间段内所述道路段的多数据样本的组,所述多数据样本来自多个数据样本和多个附加数据样本中的至少一个,其中用于确定数据样本的权重的、该组的数据样本的一个或多个属性包括:数据样本报告时间的年龄和数据样本的来源,以便对于报告时间越久远的数据样本比报告时间越新近的数据样本给予更小的权重,并且对于从一个或多个道路上的车辆所报告的数据样本与从交通传感器所报告的数据样本给予不同的权重,从而基于反映了道路段上实际车辆行驶状况的数据样本,来确定道路段的平均交通速度,对所述数据样本进行加权以反映数据样本的年龄和数据样本的来源。

3.根据权利要求2的方法,其中,对于所述时间段的至少一个的每个和所述道路段的至少一个的每个,在所述时间段内针对所述道路段的多数据样本的识别组包括:来自所述时间段内其报告位置位于所述道路段上的多个数据样本的多数据样本,以及来自所述时间段内其位置位于所述道路段上的多个附加数据样本的多数据样本。

4.根据权利要求2的方法,其中,对于时间段的至少一个的每个和道路段的至少一个的每个,确定该组的每个数据样本的每个的权重还至少部分地基于针对数据样本的报告速度的预期精确度,以便对于其报告速度具有较低预期精确度的数据样本,相比于其报告速度具有较高预期精确度的数据样本被给予较低的权重。

5.根据权利要求4的方法,其中,对于至少一个时间段和至少一个道路段,通过使用指数加权函数来确定该组的每个数据样本的每个的权重,以便对于其报告速度具有较低预期精确度的数据样本,相比于其报告速度具有较高预期精确度的数据样本被给予指数性减小的权重。

6.根据权利要求2的方法,还包括,对于至少一个所述时间段的每个和至少一个所述道路段的每个,将所述时间段划分成多个重叠的时间窗,并使用其报告时间在该时间窗内的数据样本,针对每个时间窗执行所述时间段内所述道路段上行驶的车辆的平均交通速度的估算,以便至少一些数据样本用于多个时间窗并向这些时间窗给予不同的所确定的权重。

7.根据权利要求2的方法,其中,对于至少一个所述时间段的每个和至少一个所述道路段的每个,确定所述时间段内在所述道路段上行驶的车辆的估算平均交通速度包括:针对估算平均交通速度产生置信值,以反映估算平均交通速度的可能错误程度,使用所述时间段内的一个或多个估算平均交通速度包括:使用所产生的置信值以辅助未来在所述一个或多个道路上的行驶。

8.根据权利要求2的方法,其中,以实时方式使用近来接收的数据样本来执行对所述时间段内在道路段上行驶的车辆的平均交通速度的估算,其中以基本上实时的方式来执行在所述时间段内一个或多个估算平均交通速度的使用,以辅助在所述一个或多个道路上即将的行驶。

9.根据权利要求8的方法,其中,使用所述时间段内的一个或多个估算平均交通速度以辅助在一个或多个道路上的行驶包括:至少部分地基于估算平均交通速度来推断一个或多个道路的至少一个道路段的交通量,并向考虑在所述一个或多个道路上将要行驶的一个或多个人们提供有关估算平均交通速度和推断的交通量的信息。

10.根据权利要求1的方法,其中,对于至少一些道路段的一个或多个的每个,用于确定权重的所述组的数据样本的一个或多个属性包括所述数据样本的报告时间的年龄。

11.根据权利要求10的方法,其中,基于所述数据样本的报告时间的年龄来执行数据样本的权重的确定,以便对于报告时间越久远的数据样本比报告时间越新近的数据样本给予更小的权重。

12.根据权利要求1的方法,其中,对于所述道路段的至少一个中的每个,数据样本的多个来源之一包括一个或多个车辆,所述一个或多个车辆在所述道路段上行驶并且基于行驶状况报告了数据样本,数据样本的多个来源的另一个包括一个或多个交通传感器,所述交通传感器监视道路段并且基于反映了经过车辆的读数来报告数据样本。

13.根据权利要求1的方法,其中,对于所述道路段的至少一个中的每个,数据样本的多个来源包括多个车辆,所述车辆在道路段上行驶并且均报告一个或多个反映车辆的位置和/或速度的数据样本。

14.根据权利要求1的方法,其中,对于所述道路段的至少一个中的每个,数据样本的多个来源包括多个交通传感器,所述交通传感器监视道路段,并且均报告基于反映一个或多个经过车辆的读数的一个或多个数据样本。

15.根据权利要求1的方法,还包括,对于所述道路段的至少一个中的每个,估算用于道路段的数据样本的多个来源中每个的可靠性,其中基于数据样本的来源确定这些数据样本的权重,以便对于其来源具有较低估算可靠性的数据样本,相比于其来源具有较高估算可靠性的数据样本给予较低的权重。

16.根据权利要求1的方法,其中,对于至少一些道路段的一个或多个的每个,用于确定权重的组的数据样本的一个或多个属性包括该组的数据样本的总量。

17.根据权利要求1的方法,其中,对于至少一些道路段的一个或多个的每个,为该组的数据样本执行权重的确定,以便对于其属性反映较低的预期精确度的数据样本,相比于其属性反映较高预期精确度的数据样本给予较低的权重。

18.根据权利要求1的方法,其中,对于至少一些道路段的一个或多个的每个,为该组的数据样本确定权重使用了指数加权。

19.根据权利要求1的方法,其中,对于至少一些道路段的一个或多个的每个,还基于一个或多个当前状况为该组的数据样本确定权重。

20.根据权利要求19的方法,其中,所述当前状况包括以下内容中的至少一个:近来交通事故、运动赛事、当前一天中的时间(time-of-day)、当前一周中的周几(day-of-week)、当前一月的第几天(day-of-month)、当前一月的第几周(week-of-month)和当前一年中第几个月(month-of-year)。

21.根据权利要求1的方法,其中,对于至少一些道路段的一个或多个的每个,与所识别的组的道路段关联的数据样本是从一个或多个车辆提供的,所述车辆在所述时间段在道路段上行驶并基于行驶状况报告数据样本,所述一个或多个车辆是在所述时间段内在道路段上行驶的所有车辆的子集,并且确定在所述时间段在道路段上行驶的车辆的估算平均交通速度,以估算在所述时间段内在道路段上行驶的所有车辆的平均交通速度。

22.根据权利要求1的方法,其中,对于至少一些道路段的一个或多个的每个,对于多个相异时间段的每个,执行在时间段内在道路段上行驶的车辆的平均交通速度的估算。

23.根据权利要求1的方法,其中,对于至少一些道路段的一个或多个的每个,针对所述时间段内重叠的多个时间窗的每个,执行在时间段内在道路段上行驶的车辆的平均交通速度的估算,以便将道路段的关联数据样本的至少一些用于多个时间窗的每个。

24.根据权利要求23的方法,其中,对于一个或多个道路段的每个,修改在所述时间段内多个重叠的时间窗来反映一个或多个当前的状况。

25.根据权利要求1的方法,其中,对于至少一些道路段的一个或多个的每个,对所述时间段内在道路段上行驶的车辆的平均交通速度的估算包括确定用于所估算的平均交通速度的置信值,所述一个或多个估算平均交通速度的使用包括:使用一个或多个所确定的置信值,来辅助在所述一个或多个道路上的未来行驶。

26.根据权利要求1的方法,其中,一个或多个估算平均交通速度的使用包括:至少部分地基于一个或多个估算平均交通速度为至少一个所述道路段推断交通量。

27.根据权利要求1的方法,其中,一个或多个估算平均交通速度的使用包括:给一个或多个人提供所述一个或多个估算平均交通速度的指示,以辅助人们在所述一个或多个道路上行驶时作决定。

28.根据权利要求27的方法,其中,相对于接收用于所述确定的数据样本,以基本上实时的方式执行所述一个或多个估算平均交通速度的确定和所述一个或多个估算平均交通速度的使用,以使人们能基本上实时进行决定。

29.根据权利要求1的方法,其中,以基本上实时的方式执行所述估算平均交通速度的至少一个的自动估算。

30.根据权利要求1的方法,其中,对于至少一些道路段的一个或多个的每个,只有当与所述道路段关联的多数据样本的识别组大到足以使报告的速度的加权平均的统计有效性超出阈值时,才至少部分地基于所述组的数据样本的报告速度的加权平均来确定在所述时间段内在所述道路上行驶的车辆的估算平均交通速度。

31.一种被配置成为行驶车辆估算平均速度信息的计算系统,包括:

第一组件,被配置成针对多个道路的每个,接收与道路关联的多个数据样本的指示,每个所述数据样本均反映在道路上行驶的车辆的速度;和数据样本速度估算组件,被配置成针对多个道路的每个:

基于所述这些数据样本的一个或多个属性来确定与道路关联的数据样本的权重,其中,与道路相关联的数据样本包括从多个源提供的数据样本,用于确定权重的组的数据样本的一个或多个属性包括数据样本的来源,从而来自所述多个源中一个或多个源的与道路关联的数据样本接收与来自所述多个源中的一个或多个其它源的数据样本不同的所确定的权重;

至少部分地基于与道路关联的数据样本的速度的加权平均,一次或多次估算在道路上行驶的车辆的交通速度,使用所确定的权重来计算加权平均;和提供估算交通速度的指示,以辅助在道路上的行驶。

32.根据权利要求31的计算系统,其中,对于多个道路的至少一个的每个,与道路关联的多个数据样本的每个均具有与速度关联的报告时间,估算交通速度用于在包括报告时间的时间段内在道路上行驶的车辆,确定与道路关联的数据样本的权重,以反映这些数据样本速度的预期精确度,并且提供估算交通速度的指示,以便辅助在道路上的行驶包括:向车辆的驾驶者呈现估算交通速度,以用于影响有关在道路上行驶的决定。

33.根据权利要求31的计算系统,其中,所述第一组件和所述数据样本速度估算组件均包括用于所述计算系统的存储器中的供执行的软件指令。

34.根据权利要求31的计算系统,其中,所述第一组件包括接收装置,用于针对多个道路的每个,接收与道路关联的多数据样本的指示,每个数据样本反映了在道路上行驶的车辆的速度,所述数据样本速度估算组件包括装置,用于针对多个道路的每个,基于这些数据样本的一个或多个属性来确定与道路关联的数据样本的权重,至少部分地基于使用所确定的权重计算的与道路关联的数据样本的速度的加权平均来一次或多次估算道路上行驶的车辆的交通速度,并提供估算交通速度的指示,以辅助在道路上的行驶。

说明书 :

使用来自移动数据源的数据估算道路交通状况

技术领域

[0001] 以下的公开文本总体上涉及一种从各种数据源获取的数据来估算道路交通状况的技术,例如通过基于反映了感兴趣道路上的实际行驶的数据样本来推断这些道路上有关交通的信息。

背景技术

[0002] 由于道路交通以比道路容量更大地速率持续增加,激增的交通拥堵已经对商业和政府运作以及个人幸福感产生恶劣的影响。因此,以各种方式进行了各种努力来抗击激增的交通拥堵,诸如通过获取当前交通状况的信息并将信息提供给个人和组织。可以通过各种方式(例如,经由射频广播、互联网网站,互联网网站显示了地理区域的地图,其中该地理区域的一些主要道路上当前的交通拥堵由彩色编码信息表示,信息可以发送到蜂窝式移动电话和其它便携式消费设备等)将这样的当前交通状况信息提供给感兴趣方。
[0003] 获取有关当前交通状况信息的一种来源包括人工提供的观测(例如,提供有关交通流量和事故一般信息的交通直升机,由司机经由移动电话发来的报告等),而在一些更大型的都市区域中,另一种来源是交通传感器网络,其能在区域中测量各种道路的交通流量(例如,通过嵌入在道路路面内的传感器)。尽管人工提供的观测可以在有限的情况下提供一些值,这样的信息通常每次仅限于少数区域并且通常缺乏足以使用的足够细节。
[0004] 在一些情况下,交通传感器网络可以提供一些道路交通状况的更详细的信息。但是这样的信息以及由其它类似的来源所提供的信息存在各种问题。例如,很多道路没有道路传感器(例如,没有道路传感器的地理区域和/或并未足够大到具有道路传感器而作为临近网络一部分的干道),甚至具有道路传感器的道路也可能经常不能提供精确的数据,这极大地削弱了交通传感器所提供的数据值。非精确和/或非可靠数据的一种原因包括交通传感器损坏,从而不能提供数据,或提供间断数据,或不能正确读取数据。非精确和/或非可靠数据的另一种原因包括在一个或多个传感器进行数据暂时传输的问题,导致间断传送,或延迟传送,或不传送数据。此外,很多传感器没有配置或设计来报告有关驾驶者状态(例如,他们机能是否正常),即便报告了驾驶者的状态信息也可能不正确(例如,报告驾驶者机能正常但实际上却并非如此),这样就很难或不可能确定由交通传感器所提供的数据是否精确。此外,有关交通的信息仅能以原始和/或离散的形式得到,从而使用有限。
[0005] 隐藏,提供一种改进的技术来获取并估算有关交通的信息并提供各种相关附加的能力是很有益处的。

附图说明

[0006] 图1是图示了用于至少部分地基于从车辆和其它移动数据源所获取的数据来估算道路交通状况的系统的实施例的组件之间的数据流的方框图。
[0007] 图2A-2E图示了至少部分地基于从车辆和其它移动数据源获取的数据来估算道路交通状况的实例。
[0008] 图3是图示了适于执行所描述的数据样本管理系统(DataSample Manager System)实施例的计算系统的方框图。
[0009] 图4是数据样本过滤器例程的示例性实施例的流程图。
[0010] 图5是数据样本异常值去除器(Outlier Eliminator)例程的示例性实施例的流程图。
[0011] 图6是数据样本速度估算器例程的示例性实施例的流程图。
[0012] 图7是数据样本流量估算器例程的示例性实施例的流程图。
[0013] 图8是移动数据源信息提供例程的示例性实施例的流程图。
[0014] 图9A-9C图示了获取并提供有关道路交通状况中移动数据源的动作实例。
[0015] 图10A-10B图示了修正从道路交通传感器获取的数据样本的实例。
[0016] 图11是传感器数据读取错误检测器例程的示例性实施例的流程图。
[0017] 图12是传感器数据读取错误校正器例程的示例性实施例的流程图。
[0018] 图13是传感器数据读取收集器例程的示例性实施例的流程图。
[0019] 图14是交通流量估算器例程的示例性实施例的流程图。

具体实施方式

[0020] 基于获取的交通相关的数据,以各种方式来描述估算道路交通状况的技术,诸如来自在道路上行驶的车辆和其它移动数据源和/或来自交通传感器(例如,嵌入在道路内或附近的物理传感器)。此外,在至少一些实施例中,从移动数据源来的数据样本可以用从一个或多个其它来源的数据补充,诸如通过获取在道路附件或道路内的物理传感器读取的数据。基于所获取的数据样本(例如,从道路交通传感器,从各个移动数据源或收集数据点读取的数据)对道路交通状况的估算可以包括数据样本和读数的各种过滤和/或调整,以及感兴趣的交通相关特征的各种推断和概率确定。
[0021] 如所述,在一些实施例中所获取的道路交通状况信息数据可以包括由移动数据源(例如,车辆)提供的多个数据样本,来自基于道路的交通传感器(例如嵌入在道路路面内的环形传感器)的数据读数,和来自其它数据源的数据。数据可以以诸如估算的平均交通速度和所感兴趣的道路的特定部分内估算的总车辆总量等的各种方式分析以便于确定所感兴趣的交通状况特征,以便以实时或近于实时(例如在接收底层数据样本和/或读数)的方式执行交通状况的确定。例如,所获取的数据可以以各种方式调整以检测和/或校正在数据中的错误。如果所获取的道路交通状况信息是不精确的或不能代表所感兴趣的实际交通状况特征,则在各个实施例中还可以以各种方式进行过滤以去除数据,包括通过将至少部分基于道路的非感兴趣的数据样本与根据其它数据样本关联的数据样本和/或作为统计异常值的数据样本视为相同,在一些实施例中,过滤还可以包括执行将数据样本与特定道路的关联。过滤后的数据样本还可以包括其它反映车辆位置或非感兴趣的行为(例如,停泊的车辆,车辆在停车场或建筑中打转等)的数据样本和/或其它不能代表在感兴趣的道路上实际车辆行驶的数据样本。在至少一些实施例中估算所获取的数据可以包括至少部分地基于所获取的数据样本确定用于在特定地理区域中道路网络各个部分的交通状况(例如,交通流量和/或平均交通速度)。接着可以使用所估算的数据来执行涉及分析、预测,预报,和/或提供交通相关信息的其它功能。在至少一些实施例中,数据样本管理系统使用至少一些所描述的技术来准备由交通数据客户端所使用的数据,诸如在未来多个时间产生交通状况的多个预报的预测交通信息提供系统,这将在以下详细描述。
[0022] 在一些实施例中,所获取数据样本的调整可以包括修正错误的数据样本,诸如通过以各种方式检测和/或校正当前数据中的错误(例如,从道路交通传感器接收的数据读数)。具体地,诸如基于由这些数据源提供的数据样本的分析,描述用于估算特定数据源(例如基于道路的交通传感器)的“健康”的技术以便确定数据源是否工作正常并可靠地提供精确数据样本。例如,在一些实施例中,将由给定的交通传感器提供的当前数据读数与该交通传感器提供的以前的数据读数(例如,历史平均数据)进行比较,以确定当前交通数据读数是否与以前通常的数据读数显著不同,例如这可以由该交通传感器非正常工作和/或数据中的其它问题所导致,和/或可以替换来反映异常的当前交通状况。在各个实施例中可以以各种方式来执行对特定数据源和/或当前交通数据读数中可能错误的这种检测和分析,这将在以下更详细讨论,包括至少部分基于诸如使用神经网络、贝叶斯分类器、决策树等的分类技术。
[0023] 在检测诸如到来自未正常工作的受损数据源的不可靠数据样本后,可以以这种方式校正或修正这种不可靠数据样本(以及丢失的数据样本)。例如在一些实施例中,可以通过使用相关信息的一个或其它来源来修正一个或多个数据源(例如,交通传感器)的丢失数据和不可靠数据,例如通过来自临近或其它正常工作的相关交通传感器的同时数据样本(例如,通过对由相邻交通传感器提供的数据读数取平均数),通过涉及丢失和不可靠数据样本的预见性信息(例如,通过使用这些数据源的预见性和/或预报性交通状况信息来确定一个或多个数据源的期望数据读数),经由一个或多个数据源的历史信息(例如,通过使用历史平均数据读数),经由使用有关一致偏差或导致错误能得以补偿的其它错误类型来调整以校正数据样本等。涉及修正丢失和不可靠数据样本的其它细节将在以下详细描述。
[0024] 此外,描述的技术还用于以各种其它方式估算交通状况信息,诸如在当前可用的数据允许可靠地执行特定数据源(例如,特定交通传感器)的数据样本的修正的情况。例如,多个未正常工作的不健康交通传感器的存在可能导致没有足够数据来对这些交通传感器中的各个充分可信地估算交通流量信息。在这种情况中,交通状况信息可能以各种其它方式来估算,包括基于相关交通传感器组和/或涉及道路网络结构的其它信息。例如,如以下要更详细描述地,每个感兴趣的道路可以通过使用多个道路段来建模或表示,每个道路段可以有多个关联的交通传感器和/或从一个或多个其它数据源(例如,移动数据源)得到的数据。假如这样的话,可以以各种方式针对特定道路段(或多个相关交通传感器的其它组)来估算道路交通状况信息,例如通过使用用于估算相邻道路段的交通状况信息、用于特定道路段的预测信息(例如,在诸如三小时等有限的未来时间段内产生,至少部分地基于当前和预定时间内近来的情况),对特定道路段的预报信息(例如,在诸如两周或更长时间的未来时间段内产生,以便不使用用于预测的当前和近来状况信息的一些或全部)、特定道路段的历史平均状况等。通过使用这样的技术,即便在只有少量或没有一个或多个临近传感器或其它数据源的当前交通状况数据时也能提供交通状况信息。涉及这样的交通状况信息估算的其它细节将在以下详细描述。
[0025] 如前所述,在各种实施例中有关道路交通状况的信息可以从移动数据源以各种方式获得。在至少一些实施例中,移动数据源包括道路上的车辆,其每个包括一个或多个提供有关车辆移动数据的计算系统。例如,每部车辆可以包括GPS(“全球定位系统”)设备和/或其它能确定地理位置、速度、方向和/或其它表征或涉及车辆行驶的数据的地理定位设备,并且有时车辆上的一个或多个设备(无论是否为地理定位设备或相异通信设备)可以将这样的数据(例如,通过无线链路)提供给一个或多个能使用这样的数据的系统(例如,数据样本管理系统,将在以下更详细描述)。例如,这样的车辆可以包括由各个不相关的用户操作的车辆的分布式网络、车队(例如,用于快递公司(delivery company)、出租车和公交车公司、运输公司、政府部门或代理,车辆租赁服务的车辆等)、隶属提供相关信息(例如,OnStar服务)的商业网络的车辆、被操作来获取这样的交通状况信息的车辆组(例如,通过行驶预定的路线,或行驶在道路上动态改变方向,以获取有关所感兴趣的道路的信息)、装载有移动电话设备的车辆(例如,作为内置设备和/或拥有车载物(vehicle occupant))能提供位置信息(例如,基于设备的GPS能力和/或基于由移动网络提供的地理定位能力)等。
[0026] 在至少一些实施例中,移动数据源可以包括或基于计算设备和道路上行驶的用户的其它移动设备,诸如用户是道路上车辆的驾驶者和/或乘客。这样的用户设备可以包括具有GPS能力的设备(例如,移动电话和其它手持设备),或在其它实施例中位置和/或移动信息替换地也可以以其它方式产生。例如,在车辆和/或用户设备中的设备可以与能检测和跟踪有关设备信息的外部系统进行通信(例如,通过系统操作的网络中的多个发射机/接收机各自通过的设备),从而使得设备的位置和/或移动信息以具有各种细节水平的各种方式被确定,或者这样的外部系统还能检测和跟踪有关车辆和/或用户的信息而不与设备交互(例如,能观测并识别驾驶牌和/或用户面部的相机系统)。例如,这样的外部系统可以包括移动电话塔和网络,其它无线网络(例如,Wi-Fi热点),使用各种通信技术的车辆换能器的检测器(例如,RFID,或“射频标识”),车辆和/或用户的其它检测器(例如,使用红外线,声纳,雷达或激光测距设备以确定车辆的位置和/或速度)等。
[0027] 可以以各种方式使用从移动数据源获得的道路交通状况信息,无论单独还是与来自一个或多个其它来源(例如,从道路交通传感器)的其它道路交通状况信息一起使用。在一些实施例中,使用这样的从移动数据源获得的道路交通状况信息,来提供信息类似于来自道路传感器的数据,但对于没有运行的道路传感器的道路(例如,对于缺少传感器的道路,诸如对于没有道路传感器网络的地理区域和/或没有大到足以有传感器的干道,对于损坏的道路传感器等),以校验从道路传感器或其它来源接收的复制信息,从而识别提供非精确数据的道路传感器(例如,由于临时或当前问题)等。而且,道路交通状况可以以一种或多种方式测量或表示,无论是基于来自移动数据源和/或交通传感器数据读数的数据样本,例如在绝对方面中(例如,平均速度;所指示的时间段中的交通量;一个或多个交通传感器或道路上的其它位置的平均占用时间,例如以表示车辆通过或激活传感器时间的平均百分数;一个或多个道路拥堵的计算等级,例如基于一个或多个其它交通状况测量的;
等等)和/或在相对方面(例如,表示与通常情况或最大情况的差异)。
[0028] 在一些实施例中,一些道路交通状况信息可以采取由各种数据源提供的数据样本的形式,例如与车辆关联的数据源以报告车辆的行驶特征。各个数据样本可以包括变化的信息量。例如,由移动数据源提供的数据样本可以包括一个或多个来源标识符、速度标识符、方位或方向指示、位置指示、时间戳和状态标识符。来源标识符可以是标识作为数据源的车辆(或人和其它设备)的数字或串。在一些实施例中,移动数据源标识符可以与移动数据源永久或暂时关联(例如,对于移动数据源的寿命;对于一个小时;对于当前使用的会话,例如以便每一次开启车辆或数据源设备就分配一个新的标识符)。在至少一些实施例中,来源标识符与移动数据源关联,以使涉及来自移动数据源的数据的私密关系最小化(无论是永久还是暂时关联),例如通过以阻止基于标识符来识别与该移动数据源与标识符关联的移动数据源的方式来创建和/或操作源标识符。速度指示可以反映以各种方式表示的移动数据源的即时或平均速度(例如,英里每小时)。方位可以反映行驶的方向,并且是以“度”表示的角度或其它度量(例如,基于罗盘的方位或弧度)。位置指示可以反映以各种方式表示的物理位置(例如纬度/经度对或Universal Transverse Mercator坐标)。时间戳可以指示移动数据源记录给定时间样本的时间,例如以本地时间或UTC(“Universal Coordinated Time”)时间。状态标识符可以表示移动数据源的状态(例如,车辆在移动、停止、引擎运转着停止等)和/或感测、记录和/或发射设备的至少一些状态(例如,电量低、信号强度弱等)。
[0029] 在一些实施例中,在给定地理区域内的道路网络可以通过使用多个道路段来建模或表示。每个道路段可以用于表示道路(或多个道路)的一部分,例如通过将给定的物理道路分割成多个道路段(例如,每个道路段具有特定的长度,诸如一英里长的道路,或选择反映出类似的交通状况特征的道路部分作为道路段),这样的多个道路段可以是道路连续的部分,或替换地在一些实施例中,它们可以重叠或任何道路段都没有相互干扰的部分。此外,道路段可以表示给定物理道路上的一个或多个行驶车道。因此,在两个方向的每个上都有一个或多个行驶车道的特定多车道可以与至少两条道路段关联,其中至少一个道路段与一个方向上的行驶关联,而至少另一个与另一方向上的行驶关联。此外,在一些情况中,在单一方向上行驶的单一道路的多个车道可以由多个车道段表示,例如如果车道具有不同的行驶状况特征。例如,给定的高速公路系统可以具有快速或高占用率(”HOV”)车道,其可以由与表示相同方向上行驶的常规(例如,非HOV)车道迥然不同的方式表示以作为快速或HOV车道。车道段还可以连接到其它相邻的道路段或与其它相邻的道路段关联,从而形成道路段网络。
[0030] 图1是图示了用于至少部分地基于从车辆和其它移动数据源获取的数据估算道路交通状况的系统的实施例的组件之间的数据流的流程图。所示的数据流程图意欲反映在数据源,即数据样本管理系统的实施例的组件,和交通数据客户端之间的数据流的逻辑表示。也就是说,实际的数据流可能经由各种机制而发生,包括直接流(例如,由通过参数实现或诸如消息的网络通信)和/或经由一个或多个数据库系统或其它诸如文件系统的存储系统的间接流。所示的数据样本管理系统100包括数据样本异常值去除组件106、数据样本速度估算组件107、数据样本流估算组件108和可选传感器收集组件110。
[0031] 在所示的实施例中,数据样本管理系统100的组件104-108和110从各种数据源获取数据样本,这包括基于车辆的数据源101、道路交通传感器103和其它数据源102。基于车辆的数据源101可以包括在一个或多个道路上行驶的多个车辆,其每个都可以包括一个或多个计算系统和/或能提供有关车辆行驶数据的其它设备。如另外所要更详细描述地,每部车辆可以包括GPS和/或能确定有关车辆行驶的位置、速度和/或其它数据的地理定位设备。这样的数据可以由所述数据样本管理系统的组件通过无线数据链路(例如,卫星上行链路和/或移动电话网络)或其它方式(例如,在车辆到达某个物理位置后,例如在车队回到其基地后进行物理有线/电缆连接)获得。道路交通传感器102可以包括安装在各个街道、高速公路或其它道路内、上或附近的多个传感器,例如嵌入在路面内的环形传感器能测量每单位时间通过该传感器上的车辆数量、车辆速度和/或涉及交通流量的其它数据。数据可以类似地从道路交通传感器102经由基于有线或无线的数据链路获得。其它数据源103可以包括各种其它类型的数据源,包括提供有关道路网络信息的地图服务和/或数据库,例如道路间的链接以及涉及该道路的交通控制信息(例如,交通控制信号的存在和/或位置和/或限速区域)。
[0032] 虽然在该实例中所示的数据源101-103将数据样本直接提供给数据样本管理系统100的各个组件104-108和110,但在其它实施例中数据样本也可以在被提供给这些组件之前先进行处理。这样的处理可以包括基于时间、位置、地理区域和/或单个数据源的身份(例如,车辆、交通传感器等)组织和/或收集数据样本到逻辑集合中。此外,这样的处理可以包括合并或组合数据样本到更高级的逻辑数据样本或其它值。例如,从多个地理上协同定位的道路交通传感器获得的数据样本可以通过平均或其它收集方式合并入单个的逻辑数据样本。此外,这样的处理可以包括基于一个或多个所获得的数据样本而导出或合成数据样本或数据样本的元素。例如,在一些实施例中,至少一些基于车辆的数据源的每个可以提供仅包括来源标识符和地理位置的数据样本,假如这样的话,那么以特定时间间隔或其它时间段而周期性提供的多个相异数据样本组就能与另一个关联而作为特定车辆所提供的。还可以进一步处理这样的数据样本组来确定其它有关行驶的信息,例如每个数据样本的方位(例如,通过计算在数据样本的位置和先前和/或后继数据样本的位置间的角度)和/或每个数据样本的速度(例如,通过计算在数据样本的位置和先前和/或后继数据样本的位置之间的距离,并将距离除以相应的时间)。
[0033] 在所示的实施例中,数据样本过滤组件104从基于车辆的数据源101和其它数据源102获取数据样本,并在将它们提供给数据样本异常值去除组件106以及可选地在提供给数据样本流估算组件108之前对所获取的数据样本过滤。如在别处将更详细讨论地,这样的过滤可以包括:将数据样本与相应于在地理区域中道路的道路段关联,和/或识别不相应于所感兴趣的道路段或反映不感兴趣的车辆位置或行为的数据样本。将数据样本与道路段关联可以包括:使用每个数据样本的报告位置和/或方位来确定该位置和方位是否相应于先前限定的道路段。识别不相应于所感兴趣的道路段的数据样本可以包括:去除或识别这样的数据样本以便不对它们建模、考量或由数据样本管理系统100的其它组件处理,要去除的这样的数据样本可以包括那些相应于不感兴趣的特定功能的道路类的道路(例如,居住区街道)的数据样本、那些相应于不感兴趣的道路的部分或区域的数据样本(例如,坡道和采集器/分流车道/告诉公路道路)等。识别数据样本是否反映不感兴趣的车辆位置或行为可以包括:识别与处于空闲状态(例如,引擎开着停车)、在停车库驾驶(例如,以非常低的速度打转)等的车辆相对应的数据样本。此外,在一些实施例中,过滤可以包括为呈现或进一步分析而识别道路段是(或不是)感兴趣的。例如,这样的过滤可以包括分析在特定时间段(例如,小时、天、星期)内交通流量的可变性和/或各条道路段的拥堵的程度,以便从进一步分析中排除具有低时间段内(intra-time period)可变性和/或低拥堵的一些或全部道路段(例如,对于传感器数据读数不可用或它们的功能性的道路类别表示更小或更少行驶道路的道路段)作为不感兴趣的道路和道路段。
[0034] 传感器数据调整器105辅助修正错误的数据样本,例如通过检测和校正从道路交通传感器103获得的读数的错误。在一些实施例中,由传感器数据调整组件检测为不可靠的数据样本并不转发到其它组件来使用(或提供特定数据样本的非可靠表示,以便其它组件能处理这些数据样本),例如,不转发到数据样本异常值去除器106。假如这样的话,数据样本异常值去除组件接着可以确定是否有足够的可靠数据样本可用,如果不是的话,则发起校正行为。替换地,在一些实施例和环境中,传感器数据调整组件还可以对数据样本执行一些校正,正如以下将要更详细讨论地,接着将校正后的数据提供给传感器收集组件110(并可选地提供给其它组件,例如数据样本异常值去除组件和/或数据样本流估算组件)。检测错误数据样本可以使用各种技术,包括统计测量,将由给定的道路交通传感器报告的当前数据样本的分布与在相应的时间段(例如,相同的星期天数和一天内相同的时间)内由该道路交通传感器报告的数据样本的历史分布进行比较。实际和历史分布范围的差异可以由统计测量值计算,例如Kullback-Leibler散度,其提供了在两个概率分布间的相似度的凸度测量,和/或统计信息熵。此外,一些道路传感器可以报告传感器健康的指示,还可以使用这样的指示来检测所获得的数据样本的错误。如果在所获得的数据样本中检测出错误,则可以以各种方式修正出错的数据样本,包括利用来自确定无错的相邻/旁边道路传感器的相邻(例如,旁边)的数据样本的平均值来替换这样的数据样本。此外,可以通过使用诸如由预测交通信息系统提供的先前或同时预测和/或预测的值进行替换,来修正出错的数据样本。涉及预测交通信息提供的其它细节将另外提供。
[0035] 数据样本异常值去除组件106从数据样本过滤组件104获得过滤后的数据样本和/或从传感器数据调整组件105获得调整或修正后的数据样本,接着识别并考虑去除那些不代表所感兴趣的道路和道路段上的实际车辆行驶的数据样本。在所示的实施例中,对于每个所感兴趣的道路段,组件分析在特定时间段内所记录并与道路段关联的数据样本组(例如,通过数据样本过滤组件104),以确定如果要去除,应当去除哪个。可以以各种方式执行这样的对非代表性数据样本的确定,包括基于以下技术:相对于数据样本组中的其它数据样本,检测数据样本是统计异常值。涉及数据样本异常值去除的其它细节将另外提供。
[0036] 数据样本速度估算组件107从数据样本异常值去除组件106获得数据样本,以便在所示实施例中获得的数据样本表示在所感兴趣的道路和道路段上的实际车辆行驶。数据样本速度估算组件107接着分析所获得的数据,以基于已经与该道路段(例如,通过数据样本过滤组件104,或通过从道路段部分的传感器来的读数)和时间段关联的数据样本组,估算在至少一个所感兴趣的时间段内所感兴趣的道路段的一个或多个速度。在一些实施例中,所估算的速度可以包括该组多个数据样本的速度平均值,也可以由数据样本的一个或多个属性加权(例如,年龄(age),以便给较新的数据样本较大的加权;和/或数据样本的来源或类型,以便从移动数据源或从道路传感器改变数据样本的加权来给具有较高预期可靠性或可用性的来源更大的加权)。涉及从数据样本进行的速度估算的更多细节将在别处提供。
[0037] 数据样本流估算组件108在至少一个所感兴趣的时间段为所感兴趣的道路段估算交通流信息,以估算交通量(例如,表示为在诸如每分钟或每小时的特定时间量内到达或经过道路段的车辆总量或平均数)、估算交通密度(例如,表示为诸如每英里或公里等的每单位距离的车辆平均数或总量)和估算交通占用率(例如,表示为在例如每分钟或每小时等的特定时间量车辆占用特定点或区域的平均或总的时间量)等。在所示的实施例中,对交通流信息的估算至少部分地基于由数据样本速度估算组件107和数据样本异常值去除组件106提供的涉及交通速度的信息,可选地可以基于由传感器数据调整组件105和数据样本过滤组件104提供的交通数据样本信息。涉及交通样本流估算的其它细节将在别处提供。
[0038] 如果存在,则诸如在传感器数据调整组件已经去除了任何不可靠的数据样本和/或已经修正了任何丢失和/或非可靠数据样本后,传感器数据收集组件110收集由传感器数据调整组件105提供的基于传感器的交通状况信息。替换地,在其它实施例中,传感器数据收集组件可以替代地执行这种丢失和/或不可靠数据样本的去除和/或校正。在一些情况中,传感器数据收集组件110可以通过收集(例如,平均)由与每个道路段关联的多个单独交通传感器提供的信息为这些道路段的每个提供交通流信息。同样地,如果存在,传感器数据收集组件110可以提供信息,以补充由例如数据样本速度估算组件107和/或数据样本流估算组件108等的组件提供的估算交通状况,或可以在来自移动数据源的数据样本根本不可靠或没有足够量的可靠数据样本来允许诸如数据样本速度估算组件107和数据样本流估算组件108等的其它组件提供精确的估算道路交通状况信息的情况下替换地使用。
[0039] 在所示的实施例中一个或多个交通数据客户端109获得由数据样本速度估算组件107和/或数据样本流估算组件108提供的估算的道路交通状况信息(例如,速度和/或流数据),并可以以各种方式使用这样的数据。例如,交通数据客户端109可以包括其它组件和/或由数据样本管理系统100的操作者操作的交通信息系统,例如预见性交通信息提供系统,使用交通状况信息来产生在多个未来时间的未来交通状况预报的交通状况信息;和/或实时(或近于实时)的交通信息呈现系统获或提供系统,向终端用户和/或第三方客户端提供实时(或近于实时)的交通状况信息。此外,交通数据客户端109可以包括由第三方操作的计算系统以向其客户提供交通信息。此外,在一些环境中(例如,在当不能为数据样本速度估算组件和/或数据样本流估算组件得到足够的数据来执行精确的估算,和/或当从基于车辆或其它数据源不能得到数据的情况下)该一个或多个交通数据客户端109可选地获得由传感器数据收集组件110提供的道路交通状况信息,可以替代来自数据样本速度估算组件和/或数据样本流估算组件来的数据,或在此之外额外获得。
[0040] 为了图示的目的,一些实施例在以下描述,其中以特定的方式估算特定类型的道路交通状况,并且以各种特定的方式使用这样的估算交通信息。但,应当理解的是,可以以其它方式并使用在其它实施例中其它类型的输入数据产生这样的交通状况估算,所描述的技术可以在非常广泛的其它情况中使用,并且本发明并不限于所提供的示例性细节。
[0041] 图2A-2E图示了基于从车辆和其它移动数据源获取的数据估算道路交通状况的实例,正如由所描述的数据样本管理系统所执行的那样。具体地,图2A图示了数据样本过滤的实例,用于具有数条道路201、202、203和204并具有指示朝北方向的图例指示309的实例区域200。在该实例中,道路202,诸如高速公路或交汇公路的受限进入道路(limited access road),被分成在西向和东向上分别行驶车辆的相异车道组202a和202b。车道组202a包括HOV车道202a2和多个其它常规车道202a1,车道组202b类似地包括HOV车道
202b2和多个其它常规车道202b1。道路201是穿行道路202(例如,经由天桥或桥),道路
204是斜坡弯道,其将道路201的北行车道201b连接到道路202的东行车道组202b。道路
203是相邻道路202的当地沿街道路。
[0042] 可以以各种方式表示在图2A中所示的道路,以用于所描述的数据样本管理系统。例如,一个或多个道路段可以与每个物理道路关联,例如将北行和南行道路段分别与北行车道201a和南行车道202b关联。类似地,至少一个西行道路段和至少一个东行道路段可以分别与道路202的西行车道组202a和东行车道组202b关联。例如,道路201的东行车道组202b东的部分可以是与道路201的西行车道组202b西的部分相独立的道路段,例如基于一般的道路交通状况或经常在道路段间改变(例如,由于通常车辆显著从斜坡弯道204流入到道路201的车道组202b,这样一般来说导致在到道路201东向的车道组202b上更大的拥堵)。此外,可以将一个或多个车道组分解到多个道路段中,例如如果不同的车道一般或经常具有不同的道路交通状况特征(例如,基于这些享有类似交通状况特征的车道将车道组202b的给定部分作为相应于车道202b1的第一道路段,而将由于其具有不同交通状况特征因而作为相应于HOV车道202b2的第二车道段)—在其它这种情况中,只有单个道路段可以用于这样的车道组,但在估算该车道组的的道路交通状况时一些数据样本(例如,相应于HOV车道的202b2的那些)可以从使用中排除(例如通过数据样本过滤组件和/或数据样本异常值去除组件)。替换地,一些实施例可以将多个给定道路的多个车道表示为单条道路段,即便该车道是在相反方向上行车,例如在两个方向上通常道路交通状况类似时——例如,沿街道路205a可以具有两个相反的行车车道,但可以由一个道路段来表示。
在至少一些实施例中道路段至少部分地可以以其它方式来确定,例如与地理信息关联(例如,物理维度和/或方位和/或交通相关信息(例如,限速)。
[0043] 图2A还描述了在特定时间间隔或其它时间段(例如,1分钟,5分钟,10分钟,15分钟等)期间行驶在区域200内的多个移动数据源(例如,车辆,未示出)所报告的多个数据样本205a-k。在由多个移动数据源的一个报告时,数据样本205a-k的每个都被演示为箭头,其表示数据样本的方位。数据样本205a-k以这样的方式叠加在区域200上以便反映每个数据样本所报告的位置(例如,以维度和精度单位表示,诸如基于GPS读数),其在记录数据样本时可以与车辆的实际位置不同(例如,由于不精确或错误的读数,或由于所使用的位置传感机制固有的变量精度)。例如,数据样本205g显示了道路202b略北的位置,其可以反映被拖到车道202b2北侧的车辆(例如,由于机械故障),或它可以反映在车道202b2或其它车道的东行方向上实际行驶的车辆的非精确位置。此外,单个移动数据源可以是比所示的数据样本更多的数据样本的来源,例如如果样本205i和样本205h都由在时间段内沿道路202东向行驶的单部车辆所报告(例如,通过包含用于多个先前时间点的多个数据样本的单一传输,以便每5分钟或每15分钟报告数据样本)。有关存储和提供多个所获取数据样本的更多细节将包括在以下的内容中。
[0044] 在一些实施例中所述的数据样本管理系统可以过滤所获得的数据样本,以便将数据样本映射到预定的道路段和/或识别并不相应于所感兴趣的道路段的数据样本。在一些实施例中,如果报告位置在与道路段相对应的道路和/或车道的预定距离(例如,5米)内,并且其方位在与该道路段相对应的道路和/或车道的方位的预定角度(例如正或负15度)内,则数据样本与道路段关联。虽然在其它实施例中对道路段的数据样本的关联可以在数据样本可用于数据样本管理系统之前执行,所示实施例中的道路段与足够的基于位置的信息(例如,道路段的方位,道路段的物理范围等)关联,以作出这样的确定。
[0045] 如所示的实例,数据样本205a可以与相应于道路203的道路段关联,因为其报告位置落在道路203的范围内并且其方位与关联道路203的至少一个方位相同(或近于相同)。在一些实施例中,当使用单条道路段来表示在相反的方向上行驶的多个车道时,可以将数据样本的方位与道路段的两个方位比较以确定数据样本是否可以与该道路段关联。例如,数据样本205k具有大致与数据样本205a相反的方位,但如果使用道路段来表示道路203的两个相反车道,则它也可以与相应于道路203的道路段关联。
[0046] 然而,由于道路203与车道组202a接近,还可能的是,由于数据样本205k的方位与车道组202a的方位相同,则数据样本205k反映在车道组202a上行驶的车辆,例如如果数据样本205k的报告位置在车道组202a的一个或多个车道中行驶的车辆位置错误的空白处。在一些实施例中,多个可能的道路段用于一个数据样本的情况可以基于与该数据样本关联的其它信息来去除。例如,在这种情况中,数据样本205k的报告速度的分析可以有助于这种去除,例如如果车道组202a相应于65mph限速的高速公路,道路203为具有30mph限速的当地沿街道路,并且数据样本所报告的速度为75mph(导致与高速公路车道的关联比与当地沿街道路关联的可能性要大)。一般地说,如果数据样本205k的报告速度相比车道组202a的观测或发送速度更类似于道路203的观测或发送速度,则这样的信息可以用于部分地确定将数据样本与道路203关联而不是车道组202a。替换地,如果数据样本205k的报告速度相比于观测或发送的道路203的速度更类似于车道组202a的观测或发送速度,则它就与车道组202a关联而不是道路203。其它类型的信息类似地也可作为于这种去除的一部分(例如,位置;方位;状态;其它涉及数据样本的信息,例如从相同移动数据源来的其它新近数据样本等),例如作为加权分析的部分来反映数据样本信息类型与候选道路段的匹配程度。
[0047] 例如,对于将数据样本205b与适合的道路段关联,它所报告的位置出现在车道201b和车道组202a重叠的部分,并且它临近车道201a和其它道路。但,数据样本所报告的方位(大致北行)相比于其它候选车道/道路的方位与车道201b的方位(北行)更接近,因此在这个实例中它很可能与相应于车道201b的道路段关联。类似地,数据样本205c包括可以匹配多个道路/车道(例如车道201a,201b,和车道组202a)的报告位置,但它的方位(大致西行)可以用于选择用于车道组202a的道路段作为用于该数据样本最合适的道路段。
[0048] 还是这个实例,数据样本205d可以不与任何道路段关联,因为它的方位(大致东行)与相应于该数据样本的报告位置的车道组202a(西行)的处于相反方向。如果没有其它合适的候选道路段,其与数据样本205d所报告的位置足够近(例如,在预定的距离内),例如如果具有类似方位的车道组202b太远,则在从该数据样本的分析的后续使用过滤期间排除该数据样本。
[0049] 数据样本205e可以与相应于车道组202a的诸如相应于HOV车道202a2的道路段的道路段关联,这是因为它的报告位置和方位相应于该车道的位置和方位,例如如果用于该数据样本的位置的基于位置的技术具有足够的分辨率来区分车道(例如,不同的GPS,红外线,声纳或雷达测距设备)。数据样本还可以基于除了基于位置信息外的因素而与多车道道路的特定车道关联,例如如果车道具有不同的交通状况特征。例如,在一些实施例中,可以使用数据样本的报告速度来通过对用于每个这样的候选车道的数据样本所观测的速度(或交通流量的其它测量)的预期分布(例如,通常或高斯分布)建模,而将数据样本与特定车道相符或匹配。例如,由于该数据样本所报告的速度相比于在常规车道202a1上行驶的车辆的观测、推断或历史平均速度更接近于HOV车道202a2上行驶的车辆的观测、推断或历史平均速度,因此数据样本205e可以与相应于HOV车道202a2的道路段关联,例如通过基于其它数据样本来确定观测或推断速度(例如,使用由一个或多个道路交通传感器提供的数据读数)和/或其它相关的当前数据的分析。
[0050] 以类似的方式,数据样本205f,205h,205i和205j可以分别与相应于车道201a,车道202a1,车道202b1和斜坡204的道路段关联,因为它们所报告的位置和方位相应于这些道路或车道的位置和方位。
[0051] 即便它的报告位置在所示道路的范围外,数据样本205g也可以与相应于车道组202b的道路段关联(例如,用于HOV车道202b2的道路段),这是因为报告位置可以在道路的预设距离(例如5米)内。替换地,如果数据样本205b的报告位置远离道路,则它也可以不与任何道路段关联。在一些实施例中,可以给由不同数据源提供的数据样本使用不同的预设距离,以便反映数据源公知或期望的精确度水平。例如,由使用未校正GPS信号的移动数据源提供的数据样本可以使用相对高(例如,30米)的预设距离,而由使用差异校正GPS设备的移动数据源提供的数据样本可以相比较而言使用低(例如,1米)的预设距离。
[0052] 此外,数据样本过滤可以包括识别不与所感兴趣的道路段相对应的数据样本和/或不能代表在道路上行驶的实际车辆的数据样本。例如,可以根据考量去除一些数据样本,因为它们与数据样本管理系统不考虑的道路关联。例如,在一些实施例中,与次要功能道路类的道路(例如,居民区街道和/或干道)关联的数据样本可以被过滤掉。再返回图2A,例如,可以滤除数据样本205a和/或205k,因为道路203是位于非常低的功能分类的当地临街道路而不被数据样本管理系统所考虑,或者也可以滤除数据样本205j,因为斜坡弯道太短而并不与高速路分离。过滤还可以基于其它因素,例如在一个或多个道路段上其它移动数据源的推断或报告行为。例如,与道路段关联并由单个移动数据源提供的全部都表示相同位置的一系列数据样本有可能表示该移动数据源已经停止了。如果与相同道路段关联的所有其它数据样本都表示移动的移动数据源,则相应于停止的移动数据源的数据样本可以由于不能表示在该道路段上行驶的实际车辆而被滤除,例如由于移动数据源是停泊的车辆。而且,在一些实施例中,数据样本可以包括车辆驱动状态的报告指示(例如,车辆传输为引擎开动的“泊车”,车辆停止以进行发送),如果这样的话,类似地可以使用这样的指示来滤除这样的不能表示实际行驶车辆的数据样本。
[0053] 图2B图示了与在特定时间间隔或其它时间段内从多个数据源获得与一个道路段关联的多个数据样本的视图,其中数据样本标出在曲线210上,并且x轴210b是测量的时间,y轴210a是测量的速度。在这个实例中,从多个移动数据源以及一个或多个与道路段关联的道路交通传感器获得所示的数据样本,并在所示的图例中以不同的形状显示(即,黑实心菱形“◆”用于从道路交通传感器获得的数据样本,而空心方形“□”用于从移动数据源获得的数据样本)。如参考图2A所述,所示的从移动数据源来的数据样本可以与道路段关联。
[0054] 示例性的数据样本包括道路交通传感器数据样本211a-c和移动数据源数据样本212a-d。给定的数据样本的报告速度和记录时间可以通过其在曲线图上的位置确定。移动数据源数据样本212d具有(或其它速度单位)15英里每小时的报告速度并相对于一些开始点在大约37分钟(或其它时间单位)被记录。如以下要更详细描述地,一些实施例可以在所示时间段内的特定时间窗中分析或处理所获得的数据,例如时间窗213。在这个实例中,时间窗213包含从时间30分钟到40分钟的10分钟的时间间隔内所记录的数据样本。此外,一些实施例还可以将在特定时间窗内产生的数据样本组分成两个或多个组,例如,组214a和组214b。例如,应当注意的是,所示的数据样本表现为反映了报告速度的双模型(bi-modal)分布,其具有成批数据样本,报告在25-30英里每小时范围或0-8英里每小时范围内的速度。可能产生速度的这种双模型或其它多模型(multi-modal)分布是因为,例如底层交通流量模式是非均一的,这里由于例如使得交通以停-走模式流动的交通控制信号,或道路段包括多个以不同速度移动的交通车道(例如,HOV车道或快速车道具有比其它非HOV车道相对高的速度)。在存在速度数据的这种多模型分布中,一些实施例可以将数据样本分成两个或多个组来处理,以便产生提高的处理精确度或分辨率(例如,通过计算更精确地反映各个交通流量速度的平均速度)以及所感兴趣的附加信息(例如,在HOV交通和非HOV交通间差异的速度),或识别数据样本组来排除(例如,不包括HOV交通作为后续分析的一部分)。虽然这里没有图示,但数据样本的这种相异的组可以以各种方式识别,包括通过为每组观测速度的差异分布建模(例如正常或高斯分布)。
[0055] 图2C图示了对过滤器执行数据样本异常值去除或考量将不表示在特定道路段上行驶的车辆的数据样本排除的实例,在该实例中其基于用于数据样本的报告速度(虽然在其它实施例中数据样本的一个或多个可以替换来用作分析的一部分,而不论是替换还是排除所报告的速度)。具体地,图2C显示了表220,其图示了对于十个数据样本的实例组执行数据样本异常值去除(在实际使用中,被执行分析的数据样本的数量可以更大)。所示的数据样本可以,例如,是在特定时间窗(例如图2B的时间窗213)内发生的所有数据样本,或替换地可以包括特定时间窗的数据样本的子集(例如在图2B的组214a或214b中所包括的)或者可以包括更长时间段内可以得到的所有数据样本。
[0056] 在本实例中,在所确定的数据样本组中,通过从组中的其它数据样本的平均速度来确定数据样本组中每个速度样本的速度偏差,将非代表性的数据样本识别为相对于其它数据样本的统计异常值。可以测量每个速度样本的偏差,例如相对于在组中的其它数据样本的平均速度相差的标准差的数值,其偏差比预定阈值(例如2个标准差)大的数据样本被识别为异常值,并从进一步的处理中排除(例如,通过丢弃)。
[0057] 表220包括方位行222,其描述了多个列221a-f的内容。表220的每行223a-j图示了对于十个数据样本中一个相异数据样本的异常值去除分析,列221a表示要为每行分析的数据样本,由于要分析每行数据样本,因此将它从该组的其它样本中排除以确定该结果的差异。行223a的数据样本可以参考为第一数据样本,行223b的数据样本可以参考为第二数据样本等。列221b包含每个数据样本的报告速度,其以多少英里每小时测量。列221c列出了相对于要被比较的给定行的数据样本的、组中的其它数据样本,列221d列出了由列221c指示的数据样本组的大致平均速度。列221e包含了在从列221b排除的数据样本的速度和列出在列221d中的其它数据样本的平均速度之间的大致偏差,其以标准差测量。基于在列221e中列出的偏差是否比为该实例目的的1.5个标准差要大,列221f指示给定数据样本是否应当被去除。此外,用于所有10个数据样本的平均速度224显示为大约25.7英里每小时,而所有10个数据样本的标准差225显示为大约14.2。
[0058] 这样,例如,行223a图示了数据样本1的速度为26英里每小时。接下来,计算其它数据样本2-10的平均速度为大约25.7英里每小时。接着计算数据样本1的速度与其它数据样本2-10的平均速度的偏差大约为.02个标准差。最后,由于数据样本1的偏差低于1.5个标准差的阈值,因此确定数据样本1不是异常值。此外,行223c图示了数据样本3的速度为0英里每小时,而其它数据样本1-2和4-10的平均速度被计算为大约28.6英里每小时。接着计算数据样本3的速度与其它数据样本1-2和4-10的平均速度的偏差大约为
2.24个标准差。最后,由于数据样本3的偏差高于1.5个标准差的阈值,因此确定数据样本
3是异常值。
[0059] 更形式化地,给定N个数据样本v0,v1,v2,...,vn,在给定的时间段内记录并与给定的道路段关联,当前的数据样本vn将被去除,如果
[0060]
[0061] 其中,vi为被分析的当前数据样本的速度;为其它数据样本(v0,...,vi-1,vi+1,...,vn)的平均速度;σi为其它数据样本的标准差;c为恒定阈值(例如,1.5)。此外,作为处理可能存在的除以零的特殊情况,如果其它数据样本的标准差σi为零并且当前数据样本的速度并不等于其它数据样本 的平均速度,则去除当前的样本vi。
[0062] 对每个vi要注意的是,并不一定要迭代所有的其它数据样本(v0,...,vi-1,vi+1,...,vn)来计算平均 和标准差σi。其它数据样本v0,...,vi-1,vi+1,...,vn的平均也可以如下表示:
[0063]
[0064] 并且其它数据样本v0,...,vi-1,vi+1,...,vn的标准差σi可以如下表示:
[0065]
[0066] 其中,N为数据样本的总数(包括当前的数据样本);v为所有数据样本v0,v1,v2,...,vn的平均数;vi是当前数据样本,而σ是所有数据样本v0,v1,v2,...,vn的标准差。通过使用上述公式,可以高效地计算平均值和标准差,并且具体地可以以恒定时间计算。由于上述的运算法则为每个道路段上的每个数据样本计算了平均值和标准差,因此该法则运行O(MN)时间,其中M是道路段数,N是每个道路段的数据样本数。
[0067] 在其它实施例中,也可以使用其它异常值去除和/或数据去除运算法则,可以替代或是附加所描述的异常值检测,例如基于神经网络分类器,自然贝叶斯分类器,和/或回归模型技术,以及多个数据样本组一起考虑(例如,如果至少一些数据样本并不与其它数据样本独立)的技术。
[0068] 图2D图示了使用数据样本执行平均速度估算的实例,并显示了类似于在图2B中所描述的用于特定道路段和时间段的实例数据样本。数据样本已在曲线图230中标出,其在x轴230b测量时间在y轴230a测量速度。在一些实施例中,给定道路段的平均速度可以按周期性基准(例如,每5分钟)计算。每次计算可以在诸如10分钟或15分钟的预定时间窗(或间隔)内考虑多个数据样本。如果在这样的时间窗上计算平均速度,例如在时间窗的末端或近于末端处,则当收集数据样本的速度时,在时间窗内的数据样本可以以各种方式加权,例如考虑数据样本的“年龄”(例如,基于对由于交通状况的改变,因此较老的数据样本不像在更接近当前时刻处记录的较新的数据样本那样能够提供关于时间窗末端或其他当前时刻的实际交通状况的精确信息这样的直觉或预期,而对较老的数据样本打折扣)。类似地,在一些实施例中,当加权数据样本时可以考虑其它数据样本属性,例如数据源的类型或用于数据样本的特定数据源(例如,如果数据样本来自于比其它数据源更精确的或者能提供比其它数据源更好的数据的数据源类型或特定数据源,则对其的加权就更重),以及一个或多个其它加权因素类型。
[0069] 在所示的实例中,用于实例道路段的平均速度在15分钟的时间窗上每五分钟计算一次。该实例描述了两个图示的数据样本231a和231b的相对权重,因为它们对两个时间窗235a和235b每个所计算的平均速度有贡献。时间窗235a包括在时刻30和45之间记录的数据样本,而时间窗235b包括在时刻35和50之间记录的数据样本。数据样本231a和231b都落在时间窗235a和235b内。
[0070] 在所示的实例中,在给定时间窗内的每个数据样本都与其年龄成比例加权。也就是说,较老的数据样本相比于较新的数据样本权重较小(因此对平均速度的贡献较小)。具体地,在这个实例中给定数据样本的权重根据年龄指数性减少。这个衰变的加权功能通过分别相应于时间窗235a和235b的两个权重曲线232a和232b图示。每个权重曲线232a和232b在x轴(水平)标出数据样本记录时间,在y轴(垂直)标出权重。在时间上较后(例如,更接近时间窗末端)记录的样本权重大于在时间上较早(例如,更接近时间窗开始)记录的样本。给定数据样本的权重可以通过在曲线230上从数据样本向下绘垂直线到它与相应于所感兴趣的时间窗的权重图曲线相交的地方而看出。例如,权重图232a相应于时间窗
235a,根据数据样本231a(较老)和231b(较新)的相对年龄,数据样本231a的权重233a少于数据样本231b的权重233b。此外,权重图232b相应于时间间隔235b,并且类似地可以看出数据样本231a的权重234a小于数据样本231b的权重234b。此外,很明显,对于后续时间窗,给定数据样本的权重随时间衰变。例如,在时间窗235a中的数据样本231b的权重233b大于在后来的时间窗235b中的相同数据样本231b的权重234b,因为数据样本231b在时间窗235a期间相比于在时间窗235b期间相对更新。
[0071] 更正规地,在一个实施例中,对于相对于时刻T处的时间末端的时刻t所记录的数据样本的权重可以如下表示:
[0072] w(t)=e-a(T-t)
[0073] 其中,e是公知的数学常量,α是可变的参数(例如,0.2)。给定以上,则在于时刻T处结束的时间间隔中N个数据样本v0,v1,v2,...,vn的加权平均速度可以如下表述,其中ti为数据样本vi表示的时间(例如,其被记录的时间):
[0074]
[0075] 而且,对所计算的平均速度的错误估计可以如下计算:
[0076]
[0077] 其中,N为数据样本数而σ为从平均速度来的数据样本v0,v1,v2,...,vn的标准偏差。在其它实施例中类似地也可以为计算或产生的平均速度确定其它形式的置信值。
[0078] 如要注意地,无论替代或除了数据样本的年龄,数据样本可以基于其它因素加权。例如,数据样本可以如上所述但同时使用不同的加权函数(例如,数据样本的权重随年龄线性减少而不是指数地减少)进行时间加权。此外,数据样本加权还可以基于在所感兴趣的时间间隔内的数据样本的总数。例如,上述的变量参数α可以取决于或基于数据样本的总数而变化,以便数据样本的数量越多则地较老的数据样本就产生越高的处罚(例如,较低的权重),以反映为计算平均速度的目的而得到更多的延迟(例如,较新)数据样本的增加的可能性。而且,数据样本可以基于包括数据源类型的其它因素而加权。例如,可以是如下情况,特定的数据源(例如,特定的道路交通传感器,或特定网络的全部交通传感器)都是已知(例如,基于报告的状态信息)或预料(例如,基于历史观测)为不可靠或不精确的。
在这样的情况下,从这样的道路交通传感器获得的数据样本(例如,图2B的数据样本211a)可以比从移动数据源(例如图2B的数据样本212a)获得的数据样本加权少。
[0079] 图2E简化了基于数据样本为道路段执行交通流量估算的实例,其例如可以包括推断交通量、密度和/或占用率。在该实例中,给定道路段的交通量表述为在给定的时间窗内在流经道路段的车辆总量或在时间窗内在道路段上达到的车辆总量,给定道路段的交通密度可以表述为每单位距离(例如,英里或公里)的车辆总量,交通占用率可以表述为车辆占用道路段上的特定道路段或点的平均时间量。
[0080] 给定多个要被观测来在给定的时间窗期间行驶过给定的道路段相异的移动数据源,和作为移动数据源的总的车辆的已知或预期百分比,则可以推断总的交通量——在时间窗期间行驶过道路段的车辆总数(包括不是移动数据源的车辆)。从所推断的总的交通量,和在道路段上的车辆的估算的平均速度,就可以进一步计算交通密度以及道路占用率。
[0081] 估算在特定时间窗期间特定道路段的总的交通量的一种简单的途径是简单地用预料要成为移动数据样本源的实际车辆的百分比去除该时间窗的移动数据源的数量——这样,例如,如果在时间窗内从25个移动数据源接收移动数据样本并且在道路段上预期总的车辆的10%要成为移动数据样本源,则为该时间窗的时间量估算的总量为250个实际车辆。但,由于车辆到达率的固有可变性,特别是如果移动数据样本源的预料百分比很小,则这种途径可能导致相邻时间窗总量估算的巨大变化。正如一种替换,其提供了更为复杂的分析,给定道路段的总的交通量可以如下推断。给定特定数量的相异移动数据源(例如,各部车辆)n,在长度1的道路段上,在给定的时间段τ中,使用贝叶斯统计来推断移动数据源到达的主要平均率(underlyingmeans rate),λ。在相应于道路段的一段道路上到达的移动数据源可以随机建模,按时离散处理,因此可以通过泊松统计来描述,即:
[0082]
[0083] 从以上的公式中,可以计算n个移动数据源被观测的可能性,给定的平均到达率λ和所观测的车辆数n。例如,假定平均到达率λ=10(车辆/单位时间)并且观测n=5部车辆,则替换产生:
[0084]
[0085] 表示实际观测n=5部车辆有3.8%的可能性。类似地,如果平均到达率是λ=10(车辆/单位时间)则实际观测到10部车辆达到(即,n=10)的可能性是12.5%。
[0086] 以上的公式可以与贝叶斯定理一起使用来来确定给定观测n的特定到达率λ的可能性。如所知的,贝叶斯定理是:
[0087]
[0088] 通过替换和常数去除,可以得到如下:
[0089]
[0090] 从以上中,给定观测n个移动数据源,可以计算到达率λ的成比例的或相对的可能性,提供了在给定n的各个观测值时,λ的可能值的概率分布。对于n的特定值,在各个到达率值上的可能性分布允许选择一个有代表性的到达率值(例如,平均值或中间值)并允许估算该值的置信度。
[0091] 而且,给定在道路上作为移动数据源的总的车辆的已知百分比,也作为“渗透因子”,因此可以如下计算总的交通的到达率量:
[0092]
[0093] 在一些实施例中,在时间段内道路段上的总的交通量替换地可以表达为在时间τ流过道路段的长度1的车辆的总量k。
[0094] 图2E图示了给定观测样本尺寸,给定样本移动数据源渗透因子q=0.014(1.4%)的各种总的交通量的概率分布。具体地,图2E图示了三维曲线图240,其在y轴241上标出了观测到的移动数据源数(n),在x轴242上标示了推断的交通到达率量,而在z轴243上标示了每个推断的交通量值的可能性。例如,该曲线图显示了给定移动数据源的的观测数n=0,实际交通量在零附近的可能性约为0.6(或60%),如由栏244a所示,而每单位时间实际交通量在143部车辆左右的可能性为大约0.1,如栏244b所示。而且,给定移动数据源的的观测数n=28,则每单位时间总实际交通量在2143部车辆左右(相应于每单位时间大约30个移动数据样本源,给定实例的渗透因子)的可能性为大约0.1,如栏244c所示,其显示了接近于总的实际交通量的中间值。
[0095] 此外,可以使用用于给定道路段的推断的总交通到达率量(表示在道路段的时间τ内到达的车辆数k)、所估算的平均速度v,和平均车辆长度d来计算平均占用率和密度,则
[0096]
[0097] Occupancy=md
[0098] 如先前所述,在道路段上的车辆的平均速度v可以通过使用速度估算技术来获得,例如参考图2D所作的描述。
[0099] 图10A-10B图示了调整或修正来自道路交通传感器的例如不可靠和丢失数据样本等的错误数据样本的实例。具体地,图10A显示了在各个时间从多个交通传感器获得的多个实例数据读数,其被组织到表1000中。表1000包括多个数据读数行1004a-1004y,其每个包括唯一识别提供读数的交通传感器的交通传感器ID(“标识符”)1002a,交通传感器数据读数值1002b包括由交通传感器报告的交通流量信息,交通传感器读数时间1002c反映了由交通传感器采集数据读数的时间,而交通传感器状态1002d包括交通传感器操作状态的指示。虽然在其它实施例中交通传感器可以报告其它类型的交通流量信息(例如,交通量和占用率),但在这个实例中仅显示了速度信息,而值也可以以其它格式报告。
[0100] 在所示的实例中,数据读数1004a-1004y可以在各个时间由多个交通传感器采集并能够记录表示在表1000中。在一些情况中,数据读数由交通传感器周期性(例如,每分钟,每五分钟等)采集并且/或者以这样的周期由该交通传感器报告。例如,交通传感器123每五分钟采集数据读数,如数据读数1004a-1004d和1004f-1004i所示,其显示了由交通传感器123在10:25AM和10:40AM在独立的两天(在这个实例中是8/13/06和8/14/06)所采集的多个数据读数。
[0101] 每个所示的数据读数1004a-1004y包括数据读数值1002b,其包括由数据传感器所观测或获得的交通流量信息。这样的交通流量信息可以包括行驶到达、临近或通过交通传感器的一个或多部车辆的速度。例如,数据读数1004a-1004y分别显示了传感器123在四个不同的时间观测到的车辆速度,34英里每小时(mph)、36mph,42mph和38mph。此外,交通流量信息可以包括行驶到达、临近或通过交通传感器的车辆总量或递增计数,而无论替代或除了速度和/或其它信息。总的数量可以是从交通传感器被安装或激活时起,交通传感器观测的车辆的累积量。递增计数可以是从传感器采集在先数据读数时起,由交通传感器观测的车辆的累积量。数据读数1004w-1004x显示了在两个不同的时间传感器166分别统计了316辆车和389辆车。在一些情况中,所记录的数据读数可以不包括数据读数值,例如当给定的交通传感器出现了传感器故障,从而不能采集或记录观测或报告观测(例如,由于网络故障)。例如,数据读数1004k显示了交通传感器129在8/13/06这天的10:25AM不能提供数据读数值,如由“--”在数据读数值列1002b中所指示的。
[0102] 此外,交通传感器状态1002d可以与至少一些数据读数关联,例如如果交通传感器和/或相应的通信网络提供了该交通传感器的操作状态的指示。在所示的实施例中,操作状态包括传感器功能正常的指示(例如,OK),传感器断电状态(例如,OFF)指示,传感器被操纵报告单个值(例如,STUCK)指示,和/或与网络的通信链路断开(COM_DOWN)指示,如分别在数据读数1004m,1004k,1004o和1004s中所示。在其它实施例中,还可以提供涉及交通传感器的操作状态的其它和/或不同信息,或者可以不得到这种操作状态信息。其它交通传感器,例如在这个实施例中交通传感器123和166都不被配置来提供交通传感器状态指示,如在交通传感器状态列1002d中“--”所示。
[0103] 行1004e,1004j,1004n,1004q,1004v和1004y和列1002e指出在一些实施例中可以记录附加的交通传感器数据读数和/或可以提供附加的信息并/或将其记录为每个数据读数的一部分。类似地,在一些实施例中,信息比使用在这里所描述的技术而显示的要少。
[0104] 图10B图示了检测表示不能正确工作的不健康的交通传感器的交通传感器数据读数中的错误的实例。具体地,由于很多交通传感器可以不提供交通传感器状态的指示,并且由于在一些情况中这样的交通传感器状态的指示可能是不可靠的(例如,指示传感器功能不正常但实际上它是正常的,或指示传感器功能正常但实际上它不正常),因此可能需要使用统计和/或其它技术来基于所报告的数据读数值检测不健康的交通传感器。
[0105] 例如,在一些实施例中,不健康的交通传感器可以通过将由给定的交通传感器在特定天中的时间段(例如,在4:00PM和7:29PM)内所报告的数据读数的当前分布与该传感器在过去的几天中(例如,过去的120天)的同一时间段内所报告的数据读数的历史分布进行比较而检测。这样的分布可以通过例如处理从诸如在图10A中所示的交通传感器获得的多个数据读数而产生。
[0106] 图10B显示了三个柱状图1020,1030和1040,其每个表示基于在所感兴趣的时间段内从交通传感器123所获得的数据读数的数据读数分布。在柱状图1020,1030和1040中表示的数据被分散到5英里每小时的间隔(例如,0至4英里每小时,5至9英里每小时,10至14英里每小时等)并标准化,以便每栏(例如栏1024)代表对于该栏车辆速度在5英里每小时桶(bucket)内的车辆速度发生在该时间段(例如,基于在落入该桶内的时间段内数据读数的百分比)内在0和1间的概率。例如,栏1024表示在50和54英里每小时之间的车辆速度由交通传感器123所观测,有大约0.23的概率,例如基于从交通传感器123获得的数据读数的大约23%(含)具有在50和54英里每小时间的报告速度。在其它实施例中,可以使用一个或多个其它桶尺寸,而无论除外或替换5mph的桶。例如,1mph桶可以提供更细的处理间隔,但如果在时间段内不能得到充足的数据读数,则也可能导致在相邻桶间的巨大变化,而10mph桶可以提供较小的变化但细节也少。此外,虽然当前的实例使用平均速度作为数据读数分析和比较的量度,但其他实施例也可以使用一个或多个替换或除平均速度外的其他量度。例如,在至少一些实施例中可以类似地使用交通量和/或占用率。
[0107] 在这个实例中,柱状图1020表示了在过去120天的周一9:00AM至12:29PM间由交通传感器123所采集的数据读数的历史分布。柱状图1030表示当传感器123功能正常时在特定的周一的9:00AM至12:29PM间由传感器123所采集的数据读数的分布。可以清晰地看出,柱状图1030的形状与柱状图1020类似,假定在特定周一的交通模式预期与一般的周一的交通模式类似,则如以下所要讨论的,可以以各种方式计算相似的程度。柱状图1040表示当传感器123功能不正常时在特定的周一的9:00AM至12:29PM间由交通传感器123所采集的数据读数的分布,并反而输出不能反映实际交通流量的数据读数。正如所明显看出地,柱状图1040的形状明显地与柱状图1020的不同,其反映了由交通传感器123报告的错误的数据读数。例如,在该分布中巨大的突起能在栏1048中看出,其可能表示在9:00AM至12:29PM间的至少一些时候传感器123被卡住了并报告了不能反映实际交通流量的大量恒定读数。
[0108] 在一些实施例中,虽然可以使用在两个交通传感器数据分布间的Kullback-Leibler散度(divergence)来确定在两个分布间的相似度,但在其它实施例中在分布间的相似度或差异也可以以其它方式计算。Kullback-Leibler散度是两个概率分布P和Q的相似度的凸度量度。它可以如下表示:
[0109]
[0110] 其中Pi和Qi为离散的概率分布P和Q的值(例如,每个Pi和Qi为速度出现在第i个桶内的概率)。在所示的实例中,在柱状图1020中所示的数据读数分布和在柱状图1030中所示的数据读数分布间用于健康的交通传感器的Kullback-Leibler散度(“DKL”)1036为大约0.076,而在柱状图1020中所示的数据读数分布和在柱状图1040中所示的数据读数分布间用于不健康的交通传感器的Kullback-Leibler散度1046为大约0.568。正如可能所预期的一样,DKL1036明显小于DKL1046(在这种情况下,大约为DKL1046的13%),其反映了柱状图1030(例如,表示在其功能正常时交通传感器123的输出)相似于柱状图1020(例如,表示交通传感器123的平均行为)更甚于柱状图1040(例如,表示在其故障时的交通传感器123)相似于柱状图1020。
[0111] 此外,替代诸如从Kullback-Leibler散度来的相似度量度或除此之外,一些实施例可以使用其它统计量度来检测由交通传感器提供的错误数据读数,例如统计信息熵。概率分布的统计熵是概率分布的差异性的量度。概率分布P的统计熵可以如下表示:
[0112]
[0113] 其中,Pi为离散的概率分布P的值(例如,每个Pi是速度落在P柱状图的第i桶内的概率)。在所示的实施例中,在柱状图1020中所示的分布的统计熵1022大约为2.17,在柱状图1030中所示的分布的统计熵1032大约为2.14,而在柱状图1040中所示的分布的统计熵1042大约为2.22。正如可能预期地,统计熵1042比统计熵1032和统计熵1022都要大,这反映了在其故障时交通传感器123展示了更加混乱的输出模式。
[0114] 此外,在两个统计熵量度间的不同可以通过计算熵差异度量来测量。在两个概率分布P和Q间的熵差异量度可以如下表示:
[0115] EM=‖H(P)-H(Q)‖2
[0116] 其中H(P)和H(Q)如上所述分别为概率分布P和Q的熵。在所示的实例中,在柱状图1020所示的分布和在柱状图1030中所示的分布间的熵差异量度(“EM”)1034大约为0.0010,而在柱状图1020所示的分布和在柱状图1040中所示的分布间的熵差异量度1044大约为0.0023。正如可以预期地,熵差异量度1044明显比熵差异量度1034要大(在这个情况中大了两倍),这反映了柱状图1040中所示的分布的统计熵和在柱状图1020中所示的分布的统计熵间的差异相比于在柱状图1030中所示的分布的统计熵和在柱状图1020中所示的分布的统计熵间的差异要大。
[0117] 可以以各种方式使用上述的统计量度来检测不健康的交通传感器。在一些实施例中,有关当前数据读数分布的各种信息可以提供为对传感器健康(或数据读数可靠性)分类器的输入,例如基于神经网络、贝叶斯分类器、决策树等。例如,分类器输入信息可以包括,例如,用于该交通传感器的历史数据读数分布和用于该道路传感器的当前数据读数分布间的Kullback-Leibler散度,和当前数据读数分布的统计熵。接着,分类器基于所提供的输入估算该交通传感器的健康,并提供表示健康或不健康传感器的输出。在一些情况中,还提供附加的信息来作为分类器的输入,例如一天中的时间的指示(例如,从5:00AM到9:00AM的时间段),一周中的某天或某几天的指示(例如,从周一到周四,周五,周六或周日)和/或相应于当前和历史数据读数分布的一天中的时间或一周中的某天,mph组的尺寸等。
分类器可以通过使用实际的先前数据读数而训练,诸如包括交通传感器状态的表示,正如在图10A中所示。
[0118] 在其它实施例中,不健康的交通传感器无需使用分类器就可被识别。例如,如果一个或多个统计量度大于预定的阈值,则可以确定交通传感器是不健康的。例如,如果在用于交通传感器的历史数据读数分布和用于该道路传感器的当前数据读数分布间的Kullback-Leibler散度大于第一阈值,如果当前数据读数分布的统计熵大于第二阈值,和/或如果在当前数据读数分布和历史数据读数分布间的熵差异量度大于第三阈值,则可以确定该交通传感器是不健康的。此外,也可以使用其它非统计信息,诸如交通传感器是否报告了可以被认为是健康或不健康的传感器状态。
[0119] 如先前所要注意地,虽然上述技术主要在报告车辆速度信息的交通传感器的上下文中进行了描述,但同样的技术也可以对其它交通流量信息使用,包括交通量、密度和占有率。
[0120] 图3是图示适于执行至少所述技术的一些的计算系统300的实施例的结构图,例如通过执行数据样本管理系统的实施例。计算系统300包括中央处理单元(“CPU”)335,各个输入/输出(“I/O”)组件305,存储器340和内存345,并且所示的I/O组件包括显示器310,网络连接315,计算机可读介质驱动器320以及其它I/O设备330(例如,键盘、鼠标或其它点选设备、麦克风、扬声器等)。
[0121] 在所示的实施例中,在内存345中执行各种系统来执行至少所述技术的一些,包括数据样本管理系统350、预测交通信息提供系统360、关键道路标识符系统361、道路段确定系统362、RT信息提供系统363和由程序369提供的其它可选系统,这些各种执行系统通常在这里都称之为交通信息系统。计算系统300和它的执行系统可以经由网络380(例如,互联网、一个或多个移动电话网络等)与其它计算系统通信,例如各个客户端设备382、基于车辆的客户端和/或数据源384、道路交通传感器386、其它数据源388和第三方计算系统390。
[0122] 具体地,数据样本管理系统350从各个来源获得各种有关当前交通状况和/或先前观测的情况数据的信息,例如从道路交通传感器386、基于车辆的移动数据源384和/或其它移动或非移动的数据源388获得。接着数据样本管理系统350通过过滤(例如,考虑去除数据样本)和/或调整(例如,校正错误)数据来为其它组件和/或系统的使用而准备获得的数据,接着使用所准备的数据来估算各条道路段的道路交通状况,例如交通流量和/或速度。在这个所示的实施例中,数据样本管理系统350包括数据样本过滤组件352、传感器数据调整组件353、数据样本异常值去除组件354、数据样本速度估算组件356、数据样本流量估算组件358和可选的传感器数据收集组件355,其中组件352-358执行类似于前面在图1中的相应组件所描述的功能(例如,数据样本过滤组件104、传感器数据调整组件105、数据样本异常值去除组件106、数据样本速度估算组件107、数据样本流量估算组件108和可选的传感器数据收集组件110)。此外,在至少一些实施例中,数据样本管理系统以基本实时或近似实时的方式执行道路交通状况的估算,例如在几分钟内获得底层数据(其自身可以从数据源以基本实时的方式获得)。
[0123] 其它交通信息系统360-363和369和/或第三方计算系统390接着可以以各种方式使用由数据样本管理系统提供的数据。例如,预测交通信息提供系统360可以获得(要么直接地,或间接地经由数据库或存储设备)这种所准备的数据以在多个未来时间产生进一步的交通状况预测,并将预测信息提供给一个或多个其它接收端,例如一个或多个其它交通信息系统,客户端设备382,基于车辆的客户端384和/或第三方计算系统390。此外,RT信息提供系统363可以从数据样本管理系统获得有关所估算的道路交通状况的信息,并将道路交通状况信息以实时或近于实时的方式提供给它方(例如,客户端设备382,基于车辆的客户端384和/或第三方计算系统390)——当数据样本管理系统也以这种实时或近于实时的方式执行估算时,从RT信息提供系统来的数据的接收方可以基于在一条或多条道路段上的同时期的实际车辆行驶状况浏览和使用有关在这些道路段上的当前交通状况的信息(如由在这些道路段上行驶的移动数据源和/或传感器所报告的,并且其它数据源提供有关在这些道路段上的实际车辆行驶状况的信息)。
[0124] 在各个实施例中客户端设备382可以采用各种形式,并通常可以包括任何通信设备和其它能产生请求给交通信息系统和/或从交通信息系统接收信息的任何计算设备。在一些情况中,客户端设备可以执行用户可以使用的交互控制应用程序(例如,Web浏览器)以产生对涉及交通的信息的请求(例如,预测的未来交通状况信息,实时或近于实时的当前交通状况信息等),而在另一些情况中,至少一些这样的涉及交通的信息可以被自动地从一个或多个交通信息系统发送到客户端设备(例如,文本消息、新的Web页面,特定的程序数据更新等)。
[0125] 道路交通传感器386包括多个安装在诸如一个或多个地理区域的各个街道、高速路或其他道路内、上、或附近的传感器。这些传感器可以包括环形传感器,能测量每单位时间通过这些传感器的车辆的数量、车辆的速度和/或涉及交通流量的其它数据。此外,这样的传感器可以包括照相机、运动传感器、雷达测距设备、基于RFID的设备和位于紧邻或靠近道路的其它类型的传感器。道路交通传感器386可以周期性地或连续地通过基于有线或基于无线的数据链路通过使用一个或多个数据交换机制(例如,推、拉、令牌、请求—应答、点对点等)的网络380将测量的数据读数提供给数据样本管理系统350。此外,虽然这里没有示出,但在一些实施例中,这样的道路交通传感器信息的一个或多个收集者(例如,操作传感器的政府交通部门)可以替换来获得原始数据并使数据对交通信息系统来说是可用的(无论是原始的形式还是在其被处理后)。
[0126] 其它数据源388包括多种类型的其它数据源,其可以由一个或多个交通信息系统使用来给用户、消费者和/或其它计算系统提供有关交通的信息。这样的数据源包括能提供有关道路网络信息的地图服务和/或数据库,例如各条道路彼此的连通性以及涉及这样的道路的交通控制信号(例如,交通控制信号和/或限速区的存在和位置)。其它数据源还可以包括有关影响和/或反映交通状况的事件和/或状况的信息的来源,例如短期和长期天气预报、学校日程和/或日历、事件日程和/或日历、由人为操作者(例如,第一出席人员、执法人员、高速路员工、新闻媒体、旅行者等)提供的交通事故报告、道路工作信息、假日安排等。
[0127] 在这个实施例中的基于车辆的客户端/数据源384每个都可以是位于车辆内将数据提供给一个或多个交通信息系统和/或从一个或多个这些系统接收数据的计算系统和/或通信系统。在一些实施例中,数据样本管理系统350可以使用为交通信息系统的使用而提供涉及当前交通状况的信息的基于车辆的移动数据源和/或其它基于用户的移动数据源(未示出)的分布式网络。例如,每部车辆或其它移动数据源可以具有GPS(“全球定位系统”)设备(例如,具有GPS功能的移动电话、独立的GPS设备等)和/或其它能确定地理位置的地理定位设备,并可能还有其它信息,例如速度、方向、海拔和/或其它涉及车辆行驶的数据,并且地理定位设备或其它相异通信设备有时获得并提供这样的数据给一个或多个交通信息系统(例如,通过无线链路)。这样的移动数据源将在别处更详细地讨论。
[0128] 替换地,基于车辆的客户端/数据源384的一些或全部每个都可以具有位于车辆内的计算系统和/或通信系统以从一个或多个交通信息系统获得信息,例如为了车辆使用者的使用。例如,车辆可以包含具有安装的Web浏览器或其它控制应用程序的内嵌仪表盘(in-dash)导航系统,用户可以使用该系统来从交通信息系统之一(例如预测交通信息提供系统和/或RT信息提供系统)请求交通相关信息,或者这些请求可以由车辆中的用户的便携式设备发出。此外,一个或多个交通信息系统可以基于更新信息的接收或产生自动地将涉及交通的信息传输到这样的基于车辆的客户端设备。
[0129] 第三方计算系统390包括一个或多个可选的计算系统,其由诸如从一个或多个交通信息系统接收有关交通的数据的一方和以某种方式使用数据的一方等的他人而不是交通信息系统的操作者操作。例如,第三方计算系统390可以是这样的系统,它从一个或多个交通信息系统接收交通信息,并将所涉及的信息(无论是所接收的信息还是基于所接收的信息的其它信息)提供给用户或他人(例如,通过Web入口或订阅服务)。替换地,第三方计算系统390可以由其它类型的一方来操作,例如给消费者收集和报告交通状况的媒体组织,或给他们的用户提供有关交通的信息来作为旅行计划服务一部分的在线地图公司。
[0130] 正如前面所要注意地,预测交通信息提供系统360可以使用由数据样本管理系统350和在所示实施例中的其它组件所准备的数据以产生多个将来时间的将来交通状况预测。在一些实施例中,预报的产生使用了概率技术,其合并了各种类型的输入数据以为多条道路段的每个反复产生一系列将来时间预报,例如基于在给定地理区域内的道路网络的不断改变的当前状况而以实时的方式。而且,在至少一些实施例中,为在给每个感兴趣的地理区域的未来交通状况预测中使用而自动创建一个或多个预测性贝叶斯或其它模型(例如,决策树),例如基于这些地理区域的所观测的历史交通状况。预测性的未来交通状况信息可以以各种方式使用以帮助旅行或其它目的,以便基于多个未来时间的道路的交通状况的预测计划通过道路网络的最优路线。
[0131] 而且,道路段确定系统362可以使用提供涉及在一个或多个地理区域内道路网络的信息的地图服务和/或数据库以自动确定并管理涉及可能被其它交通信息系统所使用的有关道路的信息。这样的有关道路的信息可以包括要被作为感兴趣的道路段的道路的特定部分的确定(例如,基于这些道路部分和其它相邻道路部分的交通状况),以及在给定的道路网络的道路段和所感兴趣的其它信息指示(例如,道路交通传感器的物理位置,事件点、地标;有关功能道路类和其它有关交通特征的信息;等)间自动产生的关联或关系。在一些实施例中,道路段确定系统362可以周期性执行并为了其它交通信息系统的使用而在存储器340或数据库(未示出)中存储它产生的信息。
[0132] 此外,关键道路标识符系统361使用表示给定地理区域和用于那个地理区域的交通状况信息的道路网络,以为跟踪和估算道路交通状况而自动识别所感兴趣的道路,例如为其它交通信息系统和/或交通数据客户端的使用。在一些实施例中,所感兴趣的道路(或道路的一条或多条道路段)的自动识别可以至少部分地基于如下的因素,例如峰值交通量或其它流量的量值,峰值交通拥堵的量值,交通量或其它流量的当天变化,道路拥堵的当天变化,交通量或其它流量的日间(inter-day)变化,和/或道路拥堵的日间变化。这样的因子可以通过例如主要组件(principal component)分析来分析,例如通过首先计算在给定地理区域中用于所有道路(或道路段)的交通状况信息的协方差矩阵S,接着计算协方差矩阵S的本征分解。接着在特征值的降序中,S的特征矢量表示独立地对所观测的交通状况的变化有着最强的贡献的道路(或道路段)的组合。
[0133] 此外,实时交通信息提供或呈现系统可以由RT信息提供系统,或者替换地由一个或多个其它程序369提供。信息提供系统可以使用由数据样本管理系统350和/或其它组件(例如预测交通信息提供系统360)分析和提供的数据来为操作或使用客户端设备382、基于车辆的客户端384、第三方计算系统390等的消费者和/或商业实体提供交通信息服务,以便至少部分地基于从车辆和其它移动数据源获得的数据样本以实时或近于实时的方式提供数据。
[0134] 可以预见,所示的计算系统仅是示意性的且并不试图限制本发明的范围。计算系统300可以与其它未示出的设备连接,包括通过一个或多个例如互联网的网络或经由Web。一般地说,“客户端”或“服务器”计算系统或设备,或交通信息系统和/或组件,可以包括能交互和执行所述类型功能的硬件和软件的任意组合,包括但不限于桌面或其它计算机、数据库服务器、网络存储设备和其它网络设备、PDA、蜂窝式移动电话、无线电话、传呼机、电子管理器、互联网应用程序、基于电视的系统(例如,使用机顶盒和/或个人/数字视频记录器)和包括具有合适的交互通信能力的各种其它消费产品。此外,在一些实施例中由所示的系统组件提供的功能可以被合并到更少的组件中或被分布到附加的组件中。类似地,在一些实施例中所示的组件中的一些的功能可以不被提供和/或可以得到其它附加功能。
[0135] 此外,虽然在使用的同时各种项目如所示的可以存储在存储器或存储装置中,但为了存储器管理和/或数据完整性的目的,这些项目或它们的部分可以在存储器和其它存储设备间传输。替换地,在其它实施例中软件组件和/或模块的一些或全部可以在另一设备上的存储器中执行并通过计算机间的通信而与所示的计算系统通信。系统组件或数据结构的一些或全部也可以存储在计算机可读介质(例如,作为软件指令或结构化数据),例如由适当的驱动器或通过适当的连接读取的硬盘、存储器、网络或便携式媒体介质。系统组件和数据结构在各种计算机可读传输介质上也可以被传输为所产生的数据信号(例如,作为载波或其它模拟或数字传播信号的一部分),包括基于无线和基于有线/电缆的介质,并能采用各种形式(例如,作为单个或复用模拟信号的一部分,或作为多个离散数字数据包或帧)。在其它实施例中,这样的计算机程序产品还可以采用其它形式。因此,本发明也能以其它计算机系统结构实现。
[0136] 图4是数据样本过滤器例程400的示例性实施例的流程图。该例程可以由例如图3的数据样本过滤组件352和/或图1的数据样本过滤组件104的实施例的执行来提供,以便接收相应于在地理区域内道路的数据样本,并为后面的估算过滤掉不感兴趣的数据样本。过滤的数据样本接着可以以各种方式随后使用,例如使用过滤的数据样本来计算所感兴趣的特定道路段的平均速度并为这样的道路段计算其它有关交通流量的特征。
[0137] 例程在步骤405开始,这里为特定时间段的地理区域接收数据样本组。在步骤410,例程接着可选地基于其它有关数据样本为这些数据样本的一些或全部产生附加信息。
例如,如果用于车辆或其它移动数据源的特定数据样本缺少所感兴趣的信息(例如移动数据源的速度和/或方位或方向),则这样的信息可以结合对相同移动数据源的先前和后继数据样本之一或二者而确定。此外,在至少一些实施例中,可以收集从多个数据样本来的用于特定移动数据源的信息来估算关于该数据源的附加信息类型,以便估算在横跨多个数据样本的时间段内的数据源的行为(例如,来确定是否车辆已经停车几分钟而不是临时停一两分钟来作为交通的正常车流,例如遇见停车信号或停车灯)。
[0138] 在步骤410后,虽然例程继续到步骤415以试图将每个数据样本与在该地理区域内的道路和该道路的特定道路段关联,但在其它实施例中这步可以不被执行或以其它方式执行,例如如果至少数据样本与道路和/或道路段的初始关联是在步骤405中接收的,或替换地如果整个例程针对一条道路段执行一遍,从而在步骤405中接收的所有数据样本作为一个组来相应于一条道路段。在所示的实施例中,数据样本与道路和道路段的关联可以以各种方式执行,例如单独基于与该数据样本关联的地理位置而进行初始关联(例如,将数据样本与最近的道路和道路段关联)。而且,该关联可以可选地包括附加的分析以精练或修订初始关联——例如,如果基于位置的分析指示对于数据样本具有多个可能的道路段(例如多条道路段用于一条特定的道路,或替换地多条道路段用于临近但不相关的道路),则这样的附加分析可以使用诸如速度和方向的其它信息来影响关联(例如,通过以加权的方式合并位置信息和一个或多个其它这样的因素)。这样,例如,如果数据样本的报告位置在高速路和相邻的临街道路之间,则就可以使用有关数据样本的所报告速度的信息来帮助将该数据样本与合适的道路关联(例如,通过确定与70英里每小时的速度关联的数据样本不可能源于具有25英里每小时限速的临街道路)。此外,在道路或其它道路部分的特定延展与多条相异的道路段(例如,对于双车道的道路,其中在一个方向上的行驶被建模为第一道路段而在另一个方向上的行驶被建模为相异的第二道路段,或替换地对于多车道的高速路,HOV车道被建模为与一条或多条相邻的非HOV车道独立的道路段)相关联的情况下,可以使用诸如速度和/或方向等有关数据样本的附加信息来选择对于该数据样本来说最有可能道路的道路段。
[0139] 在步骤415后,例程继续到步骤420以为后续的处理过滤掉不与所感兴趣的道路段关联的任何数据样本,包括不与任何道路段关联的数据样本(如果有)。例如,特定道路或道路的部分可能不是后续分析所感兴趣的,例如排除特定功能道路类的道路(例如,如果道路的尺寸和/或交通量不足以大到能有所感兴趣),或由于诸如高速路坡道或专用路或交汇/分叉路等这样的道路部分的交通特征不能反映作为整体的高速路,因此排除这样的道路部分。类似地,在多条道路段与路的特定部分关联的情况下,一些道路段可能也不是某些目的所感兴趣的,例如如果只有非HOV车道的行为是特定目的所感兴趣的,或如果两个方向的车道只有一个方向是感兴趣的,则为高速路排除HOV车道。虽然在步骤420后,例程继续到步骤425以确定是否基于数据源的行为过滤数据样本,但在其它实施例中这样的过滤也可以不被执行或也可以一直执行。在所示的实施例中,如果基于来源的行为执行过滤,则例程继续到步骤430以执行这样的过滤,例如去除相应于其行为不能反映要被测量的所感兴趣的交通流量行为的数据源的数据样本(例如,排除在延长时间段内引擎开动着停车的车辆,排除在延长的时间段内在停车地或停车场或其它小区域内打转的车辆等)。在步骤430后,或如果替换地在步骤425中确定不基于数据源的行为过滤,则例程继续到步骤490以为后续的使用存储过滤的数据,但在其它实施例中过滤的数据替换地可以直接提供给一个或多个客户端。接着例程继续到步骤495以确定是否继续。如果继续,则例程返回到步骤405,如果不继续,则到步骤499并结束。
[0140] 图5是数据样本异常值去除器例程500的示例性实施例的流程图。该例程可以由例如执行图3的数据样本异常值去除组件354和/或图1的数据样本异常值去除组件106的实施例而提供,从而相对于道路段的其它数据样本去除对于该道路段来说是异常值的数据样本。
[0141] 该例程在步骤505开始,在其中接收用于道路段和时间段的一组数据样本。所接收的数据样本可以是,例如从数据样本过滤器例程的输出获得的过滤的数据样本。在步骤510,例程接着可选地将数据样本分成多个组以反映道路段相异部分和/或相异的行为。例如,如果多条高速路车道被包括在一起作为单条道路段的一部分并且这些多条车道包括至少一条HOV车道和一条或多条非HOV车道,则如果在时间段内的交通流量在HOV和非HOV车道间显著不同,则在HOV车道上的车辆可以与在其它车道上的车辆分离。可以以各种方式执行这样的分组,例如将数据样本拟合为多条曲线,每条曲线代表特定数据样本组中的典型数据样本变化(例如,正态或高斯曲线)。在其它实施例中,也可以不执行这样的分组,例如如果替换地分割道路段以便用于该道路段的所有数据样本都反映类似的行为(例如,如果具有HOV车道和其它非HOV车道的高速路替换地被分裂成多条道路段)。
[0142] 例程继续到步骤515,为一个或多个数据样本组的每个(如果没有执行步骤510的数据样本的分离,则所有的数据样本被视为一个组),计算所有数据样本的平均交通状况特征。这种平均交通状况特征可以包括,例如,平均速度,以及诸如相对于中值的标准差等相应的统计信息。例程接着继续到步骤520,对该一个或多个数据样本组的每个,连续地执行去除一个(leave-one-out)分析以便选择特定的要被暂时去除的目标数据样本并为剩余的交通状况特征确定平均交通状况特征。在用于剩余数据样本的平均交通状况特征和从步骤515来的用于所有数据样本的平均交通状况特征间的差别越大,则被去除的目标数据样本是不能反映其它剩余数据样本的公共特征的异常值的可能性就越大。在步骤525,例程接着可选地执行一个或多个附加类型的异常值分析,从而连续去除两个或多个目标数据样本的组从而估算它们的共同效应,但在一些实施例中也可以不执行这样的附加异常值分析。在步骤522后,例程继续到步骤590以去除在步骤520和/或525中被识别为异常值的数据样本,并为后续的使用而存储剩余的数据样本。在其它实施例中,例程替换地可以将剩余的数据样本转发给一个或多个客户端所使用。例程接着到步骤595以确定是否继续。如果继续,则例程返回到步骤505,如果不继续,则例程继续到步骤599并结束。
[0143] 图6是数据样本速度估算器例程600的示例性实施例的流程图。该例程可以通过执行例如图3的数据样本速度估算组件356和/或图1的数据样本速度估算组件107来提供,例如基于用于道路段的各个数据样本在时间段内估算该道路段的当前平均速度。在这个示例性实施例中,例程在时间段内为多个时间间隔或时间窗的每个执行道路段平均速度的连续计算,但在其它实施例中例程的每个调用替换地可以是用于单个时间间隔的(例如,经由多个例程调用估算多个时间间隔)。例如,如果时间段是三十分钟,则可以每五分钟执行新的平均速度计算,例如以5分钟的时间间隔(并且因此每个时间间隔与先前或后继的时间间隔不重叠),或以10分钟的时间间隔(因此与相邻的时间间隔重叠)。
[0144] 该例程在步骤605开始,接收指示,其指示在时间段内道路段的数据样本(例如,从移动数据源和物理传感器的数据读数来的数据样本),或指示在时间段内道路段的不充足的数据,但在一些实施例中只能从移动数据源和传感器数据读数中接收一个数据样本。所接收的数据样本可以是,例如,从数据样本异常值去除器例程的输出获得的。类似地,可以从数据样本异常值去除器例程获得不充足数据的指示。在一些情况中,不充足数据的指示可以基于具有不足量的数据样本,例如当在时间段内从与道路段关联的移动数据源没有来数据样本和/或当道路段的一些或全部数据读数丢失或已经被检测为是错误的(例如,通过图1的传感器数据调整组件105)。在这个实例中,例程在步骤610继续以确定是否接收到了数据不够的指示。如果是,则例程继续到步骤615,如果不是,则例程继续到步骤625。
[0145] 在步骤615,例程执行交通流量估算器例程的实施例(参考图14描述)以获得时间段内道路段的估算的平均交通速度。在步骤620,例程接着提供估算的平均速度的指示。在步骤625,例程开始于第一个时间间隔并为要被估算的平均速度选择下一个时间间隔或时间窗。在步骤630,例程接着在该时间间隔内为数据样本计算加权的平均交通速度,并基于一个或多个因素对数据样本加权。例如,在所示的实施例中,对每个数据样本的加权基于数据样本的等待时间而改变(例如,以线性的,指数的,或步进式方式),例如给靠近时间间隔末端的数据样本较大的权重(因为它们更能反映在时间间隔末端的实际平均速度)。此外,在所示的实施例中数据样本还可以进一步基于数据的来源而加权,例如无论偏重或偏少,对从物理传感器来的数据读数加权不同于对从车辆和其它移动数据源来的数据样本加权。此外,在其它实施例中,在加权中可以使用各种其它因素,包括基于每个样本——例如,对从一个物理传感器来的数据读数加权可以不同于对从另一个物理传感器来的数据读数加权,从而反映有关传感器的可以得到的信息(例如,物理传感器中的一个是间歇性错误的或比另一个传感器具有较不精确的数据读数分辨率),并且从一部车辆或其它移动数据源来的数据样本可以类似地基于有关移动数据源的信息以与从另一个这样的车辆或移动数据源来的数据样本不同地加权。在一些实施例中可以在加权中使用的因素的其它类型包括置信值或在特定数据样本中可能错误的其它估算,特定数据应当与特定道路段等关联的程度。
[0146] 在步骤630后,例程继续到步骤635以提供时间间隔内平均计算交通速度的指示,例如为后续的使用存储该信息和/或将给信息提供给客户端。在步骤640,例程随后可选地获得时间段内在步骤605接收信息之后可获得的附加的数据样本。在步骤645中接着确定是否在时间段内要计算更多的时间间隔,并且如果这样,则例程返回到步骤625。如果替换地没有更多的时间间隔,或在步骤620后,则例程继续到步骤695以确定是否继续。如果继续,则例程返回到步骤605,并且如果不,则继续到步骤699并结束。
[0147] 图7是数据样本流量估算器例程700的示例性实施例的流程图。例程可以通过,例如,执行图3的数据样本流量估算组件358和/或图1的数据样本流量估算组件108的实施例而提供,以便估算交通状况流量特征而不是在特定时间段内特定道路段的平均速度。在这个示例性实施例中,要被估算的流量特征包括在时间段内在特定道路段上到达或存在的车辆总量(或其它移动数据源),和在时间段内道路段的百分占用率以反映道路段的点或区域被车辆所覆盖的时间百分比。
[0148] 例程在步骤705开始,在其中接收指示,其指示时间段的道路段的数据样本和在时间段内道路段的平均速度,或时间段内道路段的不足数据。数据样本可以从,例如,数据样本异常值去除器例程的输出获得,而平均速度可以从,例如数据样本速度估算器例程的输出获得。不足数据的指示可以从,例如数据样本异常值去除器例程的输出获得。在一些情况中,不足数据的指示可以基于具有不足量的数据样本,例如当在时间段内从与道路段关联的移动数据源没有来数据样本或当用于道路段的一些或全部传感器数据读数丢失或已被检测为是错误的(例如,通过图1的传感器数据调整组件105)。例程接着在步骤706中继续以确定是否接收到了不足数据指示。如果是,则例程继续到步骤750,如果不是,则例程继续到步骤710。
[0149] 在步骤750,例程执行交通流量估算器例程(参考图14描述)的实施例以获得在时间段内道路段的估算的总量和占用率。在步骤755,例程接着提供估算的总量和占用率的指示。
[0150] 在步骤710,例程确定提供数据样本的车辆数(或其它移动数据源),例如通过将每个数据样本与特定的移动数据源关联。在步骤720,例程接着在概率上部分基于所确定的车辆数确定提供该数据样本的车辆的道路段最有可能的到达率。在一些实施例中,概率确定还进一步使用有关这样的车辆数量的先验概率和特定到达率的先验概率的信息。在步骤730,例程接着例如基于车辆所确定的数量和有关提供数据样本的车辆占车辆总数的百分比推断在时间段内通过道路段的所有车辆的总数,并进一步估算推断的总量的置信区间。在步骤740,例程接着基于所推断的总量、平均速度和平均车辆长度推断在时间段内道路段的百分比占用率。在其它实施例中类似地也可以估算所感兴趣的其它类型的交通流量特征。在所示的实施例中,例程接着继续到步骤790以提供推断的总量和推断的百分比占用率的指示。在步骤755或790后,如果在步骤795中确定继续;则例程返回到步骤705;如果不继续,则继续到步骤799并结束。
[0151] 图11是传感器数据读数错误检测器例程1100的示例性实施例。例程可以由,例如,执行图3的传感器数据调整组件353和/或图1传感器数据调整组件105提供,从而来确定一个或多个交通传感器的健康。在这个示例性实施例中,基于在所指示的时间段内新近获得的交通传感器读数,在一天的各个时间执行该例程以确定一个或多个交通传感器的健康。此外,在各种实施例中,用于一个或多个各个类型的交通状况量度而由交通传感器输出的数据可以由该例程分析,例如交通速度、数量、占用率等。而且,用于至少交通状况的一些的数据可以以各种方式测量和/或收集,例如以各种间隔水平(例如,用于速度信息的数据组的5mph桶),并且在一些实施例中该例程可以以一个或多个用于一个或多个交通状况量度的每个的间隔水平的每个(或其它组合水平)为特定的交通传感器分析数据。
[0152] 该例程在步骤1105开始,并接收一个或多个交通传感器和所选时间类别(例如最近时间类别,如果例程在每个时间类别后执行来以近于实时的方式提供结果,或一个或多个为分析而选择的先前时间类别)的指示,但在其它实施例中多个时间分类替换地可以被指示。在一些实施例中,时间可以通过其每个都包括时间点类别(例如,12:00AM-5:29AM和7:30PM-11:59PM,5:30AM-8:59AM,9:00AM-12:29PM,12:30PM-3:59PM,4:00PM-7:29PM,和12:00AM-11:59PM)和/或日期类别(例如,周一至周四,周五,周六和周日,或替换地具有周六和周日一起成组)的时间类别而建模。在各个实施例中可以以各种方式选择特定的时间分类,包括反映在其期间交通预料具有类似特征的时间段(例如,基于通信时间和模式,或其它反映交通的一致行为),例如如果交通在傍晚和清晨相对稀少,则将它们在一起组成一组。此外,在一些实施例中,可以通过分析历史数据来确定具有相似的交通流量特征的时间段,从而无论以人工还是自动的方式选择时间类别来区分不同的交通传感器(例如,通过地理区域、道路、单个传感器等),。
[0153] 在步骤1110至1150中,例程接着执行循环,在其中它分析从用于所指示的时间类别的所指示的一个或多个交通传感器的每个来的交通传感器数据读数以确定在该时间类别期间每个交通传感器的交通传感器健康状态。在步骤1110中,从第一个交通传感器开始,例程选择所指示的一个或多个交通传感器中的下一个交通传感器,并选择所指示的时间类别(或,如果替换地在步骤1105指示了多个时间类别,则为交通传感器和所指示的时间类别的下一个组合)。在步骤1115,例程在所选定的时间类别中检索用于交通传感器的平均历史数据读数分布。在一些实施例中,历史数据读数分布可以基于由交通传感器在所选定的时间类别中提供的数据读数(例如,在跨过了诸如最近的120天或近来的120天周期等的延长的时间段包括了周一至周四的日期上的4:00PM和7:29PM之间)。
[0154] 在步骤1120,例程继续为所选定的交通传感器和选定的时间类别确定目标交通传感器数据分布。在步骤1125,例程接着确定目标交通传感器数据读数分布和历史交通传感器数据读数分布的相似度。如别处更详细的描述,在一些实施例中,在这样的相似度的度量可以通过计算在目标交通传感器数据读数分布和历史交通传感器数据读数分布间的Kullback-Leibler散度而确定。在步骤1130,如在别处更详细讨论地,例程接着确定目标交通传感器数据读数分布的信息熵。
[0155] 在步骤1135,例程接着通过使用各种信息为所选定的时间类别估算所选定的交通传感器的健康以执行健康分类(例如,指示“健康”或“不健康”,或在“健康”尺度上的值,例如从1到100),其在这个实施例中包括所确定的相似度、所确定的熵、和所选定的时间类别(例如,所选定的钟点时刻类别,例如4:00PM到7:29PM,和/或所选定的日期类别,诸如周一至周四)。在其它实施例中,可以使用其它信息类型,例如要被测量的数据的间隔程度的指示(例如,对于速度信息的数据组的5mph桶)。在一个实施例中,可以使用神经网络来分类,而在其它实施例中,可以使用其它分类技术,包括决策树、贝叶斯分类器等。
[0156] 在步骤1140,例程接着基于估算的交通传感器健康和/或其它因素为所选定的交通传感器和所选定的时间类别确定交通传感器健康状态(在本示例中为健康或不健康)。在一些实施例中,无论何时用于所选定的时间类别的交通传感器的健康在步骤1135中被估算为健康,则用于交通传感器的健康状态都可以被认为是健康的。此外,无论何时用于所选定的时间类别的交通传感器的健康被估算为不健康(例如,在步骤1135),并且所选定的时间类别具有关联的覆盖足够大的时间段(例如至少12或24小时)的钟点时刻类别,则用于交通传感器的健康状态都可以认为是不健康的。而且,在一些实施例中,可以检索和使用有关涉及时间类别的信息(例如用于一个或多个先前和/或后继的时间段),从而在较长的时间段(例如,一天)内对交通传感器的健康分类。这样的逻辑降低了基于传感器精确报告的临时异常交通模式而对传感器健康状态进行错误负面确定(例如当实际上交通传感器是健康的时确定交通传感器的健康状态为不健康的)的风险。
[0157] 例如,由于因外部因素(例如,交通事故、天气事故等)而在数据读数中显著的当天变化可能产生错误的负面确定。例如,特定交通传感器处或其附近发生的车祸可能导致交通传感器在相对短的时间段(例如,一到两小时)内提供异常和不规则的数据读数。如果传感器健康状态的确定仅仅基于主要在由交通事故所引起的分布时间内所获得的数据读数,则就有可能导致错误的负面确定。通过基于从相对较大的时间段(例如,12或24小时)所获得的数据读数来确定不健康的传感器的状态,可以降低这样的错误负面确定的风险。另一方面,错误的负面确定(例如当实际上交通传感器是健康的时确定交通传感器的健康状态为不健康的)一般来说可能性很低,因为故障的交通传感器不可能提供类似于历史数据读数(例如,反映一般的交通模式)的数据读数。同样地,可以基于相对较短的时间段适当地确定交通传感器的健康状态是健康的。
[0158] 一些实施例可以通过以反映较短时间段的时间类别在每天多次执行所示的例程(例如,以具有延长过先前三小时的钟点时刻类别的时间分类,每三小时执行一次例程)和以反映整个先前日子的时间类别在每天至少执行一次例程(例如,以延长过先前24小时的钟点时刻类别的时间类别,在午夜执行例程)而实现这种不同的逻辑。
[0159] 此外,传感器状态的确定可以基于其它因素,例如是否为所选定的时间类别获得足够数量的数据读数(例如,因为传感器间歇地报告数据读数)和/或基于由交通传感器提供的传感器状态的指示(例如,交通传感器被卡住)。
[0160] 在步骤1145,例程提供了所确定的交通传感器的健康状态。在一些实施例中,可以为由其它组件(例如,图1的传感器数据收集组件110)的后续使用而存储交通传感器健康状态(例如,存储在数据库或文件系统中)和/或将其直接提供给其它组件(例如,数据样本异常值去除组件)。在步骤1150,例程确定是否存在更多个传感器(或交通传感器和时间类别的组合)要处理。如果是,则例程继续到步骤1110继续,如果不是,则继续到步骤1155以执行其它合适的动作。这种其它动作可以包括,例如,为用于多个交通传感器的每个的一个或多个时间类别的每个来周期性(例如,每天一次,每周一次等)反复计算历史数据读数分布(例如,至少120天)。通过周期性反复计算历史数据读数分布,面对逐渐变化的交通状况,例程可以继续提供精确的交通传感器健康状态的确定。在步骤1155后,例程继续到步骤1199并返回。
[0161] 图12是数据读数错误校正器例程1200的示例性实施例的流程图。该例程可以通过例如,执行图3的传感器数据调整组件353和/或图1的传感器数据调整组件105而提供,从而确定用于一个或多个与道路段关联的交通传感器的校正后的数据读数。在所示的示例性实施例中,这个例程可以被周期性执行(例如每五分钟)以校正用于已经由传感器数据读数错误校正器例程识别为不健康的交通传感器的数据读数。在其它实施例中,可以按需执行该例程,例如通过传感器数据收集器例程,以获得用于特定道路段的校正后的数据读数,或替换地在各种环境中可以不被使用。例如,一般来说通过确定用于特定道路段的所有数据样本(例如,从多个数据源来的,例如可以包括交通传感器和一个或多个相异类型的移动数据源的多种类型)是否提供了足够的数据来分析该道路段的交通流量状况来执行数据的分析和校正,如果不是,则不执行从各个交通传感器来的数据的校正。
[0162] 该例程在步骤1205开始,其中它接收与一个或多个交通传感器关联的道路段的指示(例如,通过从传感器数据读数错误检测器例程来的、一个或多个所关联的交通传感器已经被分类为不健康的结果),并可选地接收要被处理的一个或多个时间类别(例如,其中在关联的交通传感器的至少一个已经被分类为至少潜在地为不健康的时间类别)的指示。在其它实施例中,所感兴趣的一个或多个交通传感器可以以其它方式指示,例如通过直接接收一个或多个交通传感器的指示。在步骤1210至1235,例程执行一个循环,其中它处理在所指示的道路段上不健康的交通传感器,以在一个或多个时间类别期间(例如在步骤1205中所指示的时间类别)为这些交通传感器确定并提供校正后的数据读数。
[0163] 在步骤1210,从第一个开始,例程选择在所指示的道路段中的下一个不健康的交通传感器。该例程还通过选择一个或多个在其期间交通传感器先前被指派为不健康的时间类别等来选择要使用的时间类别,例如一个或多个在步骤1205中所指示的时间类别,。在步骤1215,例程确定在所指示的道路段是否具有足够的其它健康的并可以被用来辅助用于所选时间类别的不健康传感器的读数校正的交通传感器。这个确定可以基于在所选的时间类别期间的指示道路段中是否存在至少预定数据量(例如,至少两个)和/或预定百分比(例如,至少30%)的健康交通传感器,并还可以考虑在指示的道路段中健康交通传感器的相对位置(例如,相邻或附近的交通传感器可以优于远离不健康交通传感器的传感器)。如果在步骤1215中确定存在足够的健康交通传感器,则例程继续到步骤1220,在这里基于从在用于所选定的时间类别的道路段中其它健康交通传感器来的数据读数确定用于不健康交通传感器的校正数据读数。可以以各种方式确定校正数据读数,例如通过计算从在所选定时间类别的指示道路段中的健康交通传感器获得的两个或更多的数据读数的平均数。
在一些实施例中,所有的健康交通传感器都可以用于求平均数,但在其它实施例中只能使用所选定的健康交通传感器。例如,如果在所指示的道路段中的交通传感器的预定百分比(例如,至少30%)在所选定的时间类别期间是健康的,则可以使用所有的健康交通传感器来求平均数,否则只能使用最近的预定数量(例如,至少两个)的健康交通传感器。
[0164] 如果替换地在步骤1215中确定在用于选定时间类别的指示道路段中没有足够的健康交通传感器,则例程继续到步骤1225,在这里它试图基于涉及该交通传感器/或道路段的其它信息确定用于不健康交通传感器的校正数据读数。例如,这样的信息可以包括用于道路段和/或不健康交通传感器的预测交通状况信息,用于道路段和/或不健康交通传感器的预报交通状况信息,和/或用于道路段和/或不健康交通传感器的历史平均交通状况信息。可以执行各种逻辑来反映各种信息类型的相对可靠性。例如,在一些实施例中,使用预测交通状况信息(例如,只要可以得到)可以优先于预报交通状况信息,使用预报交通状况信息又可以优先于历史平均交通状况信息。涉及预测和预报未来交通流量状况的附加细节可以在2006年3月3日提交,并且题为“Dynamic Time Series Prediction Of Future Traffic Conditions”的美国专利申请No.11/367,463中得到,其全部内容合并在此作为参考。在其它实施例中,可以不执行步骤1215和1225,例如如果在步骤1220中的数据读数校正总是基于从在所选的时间类别和/或相关的时间类别期间其它健康交通传感器得到的最好的数据而执行。例如,如果在所选定的时间类别的指示道路段中所有的健康交通传感器的至少预定百分比(例如,至少30%)是健康的,则数据读数校正可以基于所有的这些交通传感器,否则基于在所选定的时间类别和/或相关的时间类别期间所指示和/或临近的道路段中最临近的健康交通传感器。
[0165] 在步骤1220或1225后,例程进行到步骤1230并提供所确定的交通传感器数据读数作为用于在所选定时间类别期间的交通传感器的校正读数。在一些实施例中,所确定的交通传感器数据读数可以为其它组件(例如,图1的传感器数据收集组件110)的后续使用而存储(例如,存储在数据库或文件系统中)。在步骤1235,例程确定是否有要被处理的交通传感器和时间类别的附加组合。如果有,则例程返回到步骤1210,如果没有则进行到步骤1299并结束。
[0166] 图13是传感器数据读数收集器例程1300的示例性实施例的流程图。该例程可以通过,例如,执行图3的传感器数据读数收集组件355和/或图1传感器数据读数收集组件110来提供,例如确定并提供用于在特定时间类别或其它时间段内多个交通传感器(例如与特定道路段关联的多个交通传感器)的交通状况信息。在所示的示例性实施例中,该例程为特定道路段而执行,但在其它实施例中可以从其它类型的多个交通传感器组收集信息。此外,这个例程可以提供补充由执行交通状况信息的估算的其它例程(例如,数据样本流量估算器例程)提供的信息的交通状况信息,从而在其它例程不能提供精确的估算(例如由于数据不足)的情况下提供交通状况信息。
[0167] 该例程在步骤1305开始并接收一条或多条段和一个或多个时间类别或其它时间段的指示。在步骤1310,例程从第一个开始选择一个或多个所指示的道路段的下一条道路段。在步骤1315,例程获得由与该道路关联的所有交通传感器在所指示的时间段内采集的一些或全部可得的交通传感器数据读数。这样的信息例如可以从图1的传感器数据调整组件105和/或图3的传感器数据调整组件353获得。具体地,在一些情况下例程可以为被确定为健康的交通传感器获得交通传感器数据读数和/或从被确定为不健康的交通传感器获得校正的交通传感器数据读数,例如那些由图12的传感器数据读数错误校正器例程提供或确定的。
[0168] 在步骤1320,例程接着以一种或多种方式收集所获的数据读数,从而确定在所指示的时间段内用于道路段的平均速度、量、和/或占用率。平均速度可以例如通过对反映经过一个或多个交通传感器的车辆速度的数据读数求平均数而确定。交通量可以根据报告车辆数量的数据读数确定。例如,给定报告从传感器被激活开始通过传感器的车辆累积数量的环形传感器,则交通量可以通过减去在所指示的时间段内所获得的两个数据读数并由在数据读数间的时间间隔去除结果而简单地推断。此外,密度可以基于所确定的平均速度、量和平均车辆长度而确定,如在别处更详细地描述。在一些情况中,数据读数可以以各种方式加权(例如,通过年龄),以便在平均流量确定中越近的数据读数具有比越老的数据读数更大的影响。
[0169] 在步骤1325,例程接着确定是否有多条道路段(或多个交通传感器的其它组)要处理。如果有,则例程返回到步骤1310,否则进行到步骤1330以提供所确定的交通流量信息。在一些实施例中,可以存储所确定的流量信息(例如,存储在数据库或文件系统中)以便后续提供给图1的交通数据客户端109和/或图3的RT信息提供系统363。接下来,例程继续到步骤1339并返回。
[0170] 图14是交通流量估算器例程1400的示例性实施例的流程图。该例程可以通过例如执行交通流量估算组件(未示出)而提供,从而以各种方式估算用于道路段的各种类型的交通流量信息。在这个示例性实施例中,例如在当这些例程不能为精确地执行它们各自的估算而获得足够的数据的情况中,例程可以由图6的数据样本速度估算器例程调用以获得平均速度的估算和/或由图7的数据样本流量估算器例程调用以获得量和/或占用率的估算。
[0171] 该例程在步骤1405开始并接收道路段、一个或多个时间类别或其它时间段,和一个或多个诸如速度、量、密度、占用率等一个或多个类型的交通流量信息的指示。在步骤1410,例程确定是否基于一个或多个有关道路段来估算指示类型的交通流量信息,例如,基于这样的道路段在一个或多个所示的时间段内是否具有用于一个或多个类型的交通流量信息的精确信息。相关的道路段可以以各种方式识别。例如,在一些情况中,有关道路段的信息可以包括有关在道路段间关系的信息,例如第一道路段通常具有类似于第二(例如,相邻)的道路段的交通模式,从而用于第二道路段的交通流量信息可以用来估算在第一道路段上的交通流量。在一些情况中,无论分析是预先和/或动态执行的,都可以自动确定这样的关系,例如基于在两条道路段上各自的交通流量模式的统计分析(例如,类似于先前讨论的关于识别给定交通传感器在不同时间类似的数据分布,但替换地分析在两个或多个不同传感器在诸如同一时间间的相似度)。替换地,可以选择一个或多个相邻的道路段来关联所指示的道路段而无需在已经执行的道路段间特定关系的任何确定。如果确定基于相关道路段估算交通流量信息,则例程进行到步骤1415并基于用于一个或多个相关道路段的相同类型交通流量信息估算用于所指示类型的交通流量信息的值。例如,基于一个或多个相邻道路段的平均交通速度确定该道路段的平均速度(例如,通过使用从一个相邻道路段来的交通速度,或对从两个或多个相邻道路段来的交通速度求平均数)。
[0172] 如果替换地在步骤1410中确定并不基于相关道路段估算用于所指示道路段的交通流量信息,则例程继续到步骤1420并确定是否在一个或多个所指示时间段内基于用于该指示道路段和指示时间段的预测信息为所指示的道路段估算交通流量信息。在一些实施例中,这样的预测信息可能仅在特定的情况下得到,例如如果针对多个未来时刻重复进行预测(例如针对接下来的3个小时每15分钟一次)同时获得精确的当前数据。同样地,如果在延长时间内(例如,超过三个小时)用于产生预测的精确输入数据是可以得到的,则可以无需获得由该例程所使用的未来交通状况信息的预测。替换地,在一些实施例中,这样的预测的未来交通状况信息由于其它一些原因而不可得,例如由于在该实施例中没有使用。如果在步骤1420中确定基于预测信息估算交通流量信息,则例程进行到步骤1425,并基于从例如图3的预测信息提供系统360所获得的预测信息而为指示的道路段和指示的时间段估算交通流量信息的指示类型。涉及预测和预报未来交通流量状况的附加细节在于2006年3月3日提交的题为“Dynamic TimeSeries Prediction Of Traffic Conditions”的美国专利申请No.11/367,463中可以得到,其全部内容合并在此作为参考。
[0173] 如果替换地在步骤1420中确定并不基于预测信息为所指示道路段估算交通流量信息(例如,由于该信息得不到),则例程继续到步骤1430并确定是否基于用于该道路段和时间段的预报信息在一个或多个指示的时间段内为所指示的道路段估算交通流量信息。在一些实施例中,可以为超出能预测交通状况的未来时间预报交通状况,例如在不使用至少一些当前状况信息的方式中。同样地,如果不能得到预测信息(例如,由于用于产生预测的精确输入数据超过三个小时就不可得了),则仍然可以使用预报信息,例如明显预先产生的信息。如果在步骤1430中确定基于预报信息估算交通流量信息,则例程进行到步骤1435并基于从例如预测交通信息提供系统360获得的预报信息为所指示的道路段和时间段估算指示类型的交通流量信息。
[0174] 如果替换地在步骤1430中并不基于预报信息而为所指示的道路段估算交通流量信息(例如,由于该信息不可得),则例程继续到步骤1440并基于用于所指示道路段的历史平均流量信息为所指示的道路段和时间段估算指示类型的交通流量信息(例如,对于相同或相应的时间段,例如基于包括钟点时刻类别和/或日期类别的时间类别)。例如,如果预报信息是不可得的(例如,由于比产生最近预测和预报的周期更长的时间的输入数据是不可得的,因此既不能产生新的预测也不能产生新的预报),则例程可以使用用于所指示道路段的历史平均流量信息。涉及产生历史平均流量信息的附加细节可以在同时提交的题为“Generating Representative Road Traffic FlowInformation From Historical Data”的美国专利申请(代理案卷号为480234.410P1)中得到,其全部内容合并在此作为参考。
[0175] 在步骤1415、1425、1435或1440后,例程进行到步骤1445并为所指示的道路段和所指示的时间段提供所指示类型的估算交通流量信息。所提供的信息可以例如被返回到调用该例程的例程(例如,数据样本流量估算器例程)和/或为了后续使用而被存储(例如,存储在数据库或文件系统中)。在步骤1445后,例程继续到步骤1499并返回。
[0176] 图9A-9C图示了在获得和提供有关道路交通状况信息中的移动数据源的动作实例。有关道路交通状况的信息可以以各种方式从移动设备(无论基于车辆的设备还是用户设备)获得,例如通过使用无线链路(例如,卫星上行链路、蜂窝网络、WI-FI、分组无线等)传输和/或在设备达到适当的对接(docking)或其它连接点时物理进行下载(例如,一旦返回操作的主要基地或具有能执行信息下载的适当设备的其它目的就从车队下载信息)。虽然在明显晚于第二时间获得的第一时间的有关道路交通状况的信息提供了各种益处(例如,修正第一时间的预测,为随后使用所观测情况的数据改进了预测处理等),例如可以是从设备物理下载信息的情况,当以实时或近于实时的方式获得时,这样的道路交通状况信息提供了附加的益处。因此,在至少一些实施例中,具有无线通信能力的移动设备可以频繁地提供至少一些所需的有关道路交通状况的信息,例如周期性地(例如,每30分钟,1分钟,5分钟等)和/或当可以足够量的所需信息可用时(例如,对于与道路交通状况信息相关的每个数据点;对于每N个这样的数据,例如其中N是可配置的数;当所获取数据达到特定的存储和/或传输尺寸等)。在一些实施例中,所获取的道路交通状况信息的这种频繁的无线通信还可以在其它时间通过附加的所获道路交通状况信息来补充(例如,从设备的连续物理下载,经由包含更大量数据的少频(less-frequency)无线通信),例如包括相应于每个数据点的附加数据,包括有关多个数据点的收集信息等。
[0177] 虽然通过从移动设备以实时或其它频繁的方式获得所获取的道路交通状况信息提供了各种好处,在一些实施例中这样的所获道路交通状况信息的无线通信可以以各种方式约束。例如,在一些情况中,从移动设备经由特定无线链路(例如,卫星上传)传输数据的成本结构可以是以少频间隔(例如,每15分钟)发生的传输,或者移动设备可以被预先编程来以这样的间隔传输。在其它一些情况中,移动设备可能暂时丢失通过无线链路传输数据的能力,例如由于在移动设备所在的区域缺少无线覆盖(例如,由于没有临近的蜂窝无线电话接收机基站),由于由移动设备或设备的用户执行的其它动作,或由于移动设备或关联发射机的暂时问题。
[0178] 因此,在一些实施例中至少一些这样的移动设备可以被指派或配置成存储多个数据样本(或使得这样的多个数据样本存储在其它关联设备中),以便用于多个数据样本的至少一些信息可以在一个无线传输中一起被传输。例如,在一些实施例中至少一些移动设备被配置成在移动设备不能通过无线链路传输数据(例如,移动设备通常单独传输每个数据样本,例如每30秒或1分钟)时的周期内存储所获道路交通状况信息数据样本,并接着在出现下一个无线传输的时间期间将这些所存储的数据样本一起传输。一些移动设备还可以被配置成执行周期性(例如每15分钟,或当指定量的数据可用于传输时)无线传输,并在至少一些实施例中还可以被配置成在无线传输之间的时间间隔期间获得并存储道路交通状况信息的多个数据样本(例如以预定的取样率,例如30秒或一分钟),并接着类似地在下一个无线传输期间将这些所存储的数据样本一起传输(或这些样本的子集和/或集合)。如一个实施例,如果多达1000个信息单位的无线传输成本是$0.25并且每个数据样本的尺寸是50个单位,则每分钟取样并每20分钟发送包括20个样本的数据组(而不是每分钟单独地发送每个样本)是很有益处的。在这样的实施例中,虽然数据样本可能轻微延迟(在周期性传输的实例中,延迟了传输之间的时间段的平均一半,假定定期获得数据样本),则从传输获得的道路交通状况信息仍然提供近于实时的信息。而且,在一些实施例中可以由移动设备基于多个所存储的数据样本产生并提供附加的信息。例如,如果特定的移动设备在每个数据样本期间仅能获得有关当前即时位置的信息,但不能获得诸如速度和/或方向的附加相关信息,则这样的附加相关信息可以基于多个后续的数据样本而被计算或确定。
[0179] 具体地,图9A描述了具有几个相互连接的道路925、930、935和940,和指示道路北向方向的图例指示950的示例性区域955(道路925和935南北向走,而道路930和940东西向走)。虽然仅显示了有限数量的道路,但它们可以表示广大的地理区域,例如横跨几英里相互连接的高速路,或跨了几个区的城市街道的子集。在这个实例中,移动数据源(例如,车辆,未示出)在30分钟的周期内从位置945a到945c行驶,并被配置成每15分钟获得并传输表示当前交通状况的数据样本。因此,当移动数据源开始行驶时,它在位置945a获得并传输第一个数据样本(如在这个实例中用星号“★”所示),15分钟后在位置945b获得并传输第二个数据样本,并在总共30分钟后在位置945c获得并传输第三个数据样本。在这个实例中,每个数据样本包括当前位置的指示(例如,在GPS坐标中)、当前方向(例如,北向)、当前速度(例如,30分钟每小时)和当前时间,如使用数据值Pa、Da、Sa和Ta的
945a的传输所表示的,并可选地也可以包括其它信息(例如,指示移动数据源的标识符)。
虽然这样的获得并提供的当前交通状况信息提供了更多的益处,但从这样的数据不能确定多个细节,包括从位置945b到945c的路线是否部分地沿道路930或940。而且,这样的样本数据不允许,例如将在位置945a和945b间的道路925的部分作为可以报告并预测的相异交通状况的相异道路段。
[0180] 以与图9A类似的方式,图9B描述了实例905,其在30分钟的周期内移动数据源从位置945a至945c行驶过相互连接的道路925、930、935和940,并且移动数据源每15分钟发送有关交通状况的信息(如在位置945a、945b和945c所示的星号所表示的)。但,在这个实例中,移动数据源被配置成每分钟获取并存储数据样本,后续传输包括在前15分钟来自每个数据样本的数据。因此,当移动数据源在位置945a和945b间行驶时,移动数据源获取15个数据样本910b1至910b15的组910b,并且在这个实例中,利用数据样本的时间处以移动数据源的方向指示的箭头来指示每一个数据样本。在这个实例中,每个数据样本类似地包括当前位置、当前方向、当前速度和当前时间的指示,并且在位置945b的连续传输包括用于数据样本910b的每个的这些数据值。类似地,如移动数据源在位置945b和945c间行驶,则移动数据源获得15个数据样本910c1-910c15,并且在位置945c的后续传输包括用于
15个数据样本的每个的所获取数据值。通过提供这样的附加数据样本,可以获得各种附加的信息。例如,现在很容易确定从位置945b至945c的路线是部分地沿道路930而不是道路
940,并允许将相应的交通状况信息用于道路930。此外,特定的数据样本和它们相邻的数据样本可以提供有关道路较小部分的各种信息,例如允许在位置945a和945b间的道路925被表示成例如多达15个相异道路段(例如,通过将每个数据样本与相异道路段关联),其每个都具有可能相异的道路交通状况。例如,可以直观地观察出,用于数据样本910b1-910b6的平均速度大致为静态的(由于大致均等地间隔数据样本),而用于数据样本9101-910b8的平均速度增加(由于数据样本对应于渐远隔开的各个位置,反映了在给定的1分钟间隔中在用户这个实例的数据样本间行驶过的距离变大),以及数据样本910b1-910b15的平均速度下降。虽然在这个实例中的数据样本直接提供了有关这样的速度的信息,但其它实施例中这样的数据信息可以从仅包括当前位置的数据样本信息中获得。
[0181] 图9C描述了第三个实例990,其中移动数据源在30分钟的周期内从位置965a至965c行驶过相互连接的道路部分,并且移动数据源每15分钟传输有关交通状况的信息(如在位置965a、965b和965c中星号所示)。如在图9C所示,在这个实例中移动数据源被配置成每分钟获得并存储数据样本,并且后续传输包括前15分钟内来自至少一些数据样本的每个的数据。因此,如移动数据源在位置965a和965b间行驶,则移动数据源获得15个数据样本960b1-960b15的组960b。但,正如通过共同定位的数据样本960b5-b13(由于没有针对这些数据样本检测到移动,因此在这个实例中所使用的是环形而不是箭头,但为了清楚起见将其单独显示而不是在彼此的上面),在这个实施例中移动数据源在道路925的一侧停了大约9分钟(例如,在咖啡店停下)。因此,当在位置965b产生下一个传输时,在一些实施例中传输可以包括用于所有数据样本的所有信息,或替换地可以省略至少一些信息(例如,省略数据样本960b6-960b12的信息,这是因为如果知道移动数据源在数据样本
960b5和960b13之间仍然不移动,则在这个情况中它们不提供附加的有用信息)。而且,虽然这里没有示出,但在其它实施例中可以省略一个或多个这样的数据样本的信息,并可以延迟后续的传输直到要被传输的15个数据样本都是可用的(例如,如果基于要被发送的数据量而不是时间来执行周期性传输)。而且,如移动数据源在位置965b和965c之间行驶,则移动数据源在无线通信当前不可用的区域中获取数据样本960c13和960c14(如在这个实施例中用开圆而不是箭头所示)。在其它实施例中,其中当获取但不存储时每个数据样本都是单独传输,这些数据样本会丢失,但在这个实例中,相反在位置965c是存储并与其它数据样本960c1至960c12一起传输。虽然这里没有示出,但在一些情况中移动数据源还可以暂时失去使用数据获取的基本装置获取一个或多个数据样本的能力(例如,如果移动数据源失去获取GPS读数的能力几分钟)——如果这样,则在一些实施例中移动数据源可以报告其它所获取的数据样本而无需进一步的反应(例如,如果需要则允许接收方插入或估算这些数据样本),虽然在其它实施例中可以试图以其它方式获得数据样本(例如,通过使用不够精确的机制来确定位置,例如蜂窝移动电话塔三角测量,或通过基于先前已知的位置和后续的平均速度和方位估算当前位置,例如通过航位推测法),即便这些数据样本具有较低的精密性或精确度(例如,可以通过包括对这些数据样本的较低可信程度或较高的可能错误的程度,或通过包括指示这些和/或其它数据样本是如何产生的)。
[0182] 虽然在图9B和9C的每个中,示例性数据样本为了简明起见仅图示了一辆车辆或一个其它移动数据源,但在其它实施例中,可以不使用用于特定移动数据源的多个数据样本来确定由该移动数据源所采集的特定路线,并且更具体地,甚至可以不与每个其它关联(例如,如果每个移动数据样本的来源是匿名的,或与其它来源没有什么不同)。例如,如果从特定移动数据源来的多个数据样本并不由接收方使用于产生涉及这些数据样本的集合数据(例如,基于仅提供位置信息的连续的数据样本产生速度和/或方向信息),例如当这样的收集数据包括每个数据样本或不被使用时,在一些实施例中可以不提供这样的接收方来识别涉及移动数据样本来源和/或指示多个数据样本从相同的移动数据源(例如,基于设计决定来增加涉及移动数据源的私密性)。
[0183] 替换地,在至少一些这样的实施例中,多个移动数据源被一起用于确定所感兴趣的道路状况信息,例如针对特定道路段(或道路的其它部分)使用从所有移动数据源来的多个数据样本以确定该道路段的收集信息。这样,例如,在所感兴趣的时间段(例如,1分钟、5分钟、15分钟等)内,多个不相关的移动数据源的每个都可以提供一个或多个涉及在该时间段内在特定道路段上其自己行驶的数据样本,并且如果每个这样的数据样本包括速度和方向信息(例如),则为该时间段以及用于所有数据源的通常在相同方向上移动的道路段可以确定平均收集速度,例如以类似于为多个经过传感器的车辆收集信息的道路交通传感器的方式。特定的数据样本可以以各种方式与特定道路段关联,例如通过将数据样本位置与具有最近位置的道路(或道路段)关联(无论对于任意道路,或仅对满足特定标准的道路,例如属于一个或多个所指示功能的道路类别)并且接着为该道路选择适当的道路段,或通过使用由移动数据源与所关联道路(或道路段)的数据样本一起提供的指示。此外,在至少一些实施例中,为了给道路指派数据样本的目的以及其它目的(例如,将高速路北向车道作为与高速路的南向车道不同的相异车道),将除了单行道外的道路作为相异道路,并且如果这样,则用于移动数据样本的方向还可以被用于确定与数据样本关联的适当的道路——但,在其它实施例中,可以以其它方式建模,例如将双向城市街道作为一个道路(例如,根据为在两个方向上移动的车辆而报告和预测的平均交通状况),以将多车道的高速路的每个车道或其它道路作为相异逻辑道路等。
[0184] 在一些实施例中,为了便于使用多个移动数据源来确定所感兴趣的道路状况信息,车队可以以各种方式配置成提供所使用的道路样本。例如,如果每个大型车队都在每天的类似时间离开相同的出发点,则各部车辆都可以被不同配置成涉及多快和多久开始提供数据样本,例如最小化处于单个出发点附近所有的大量数据和/或提供在获得和传输数据样本时的变化。更具体地,移动数据源设备可以以各种方式被配置成进行如何以及何时获取数据样本,包括基于从开始点(例如对于车队组的出发点)开始覆盖的总距离,从最后的数据样本获取和/或传输开始覆盖的距离,从开始时间(例如车辆从出发点离开的时间)经历的总时间,从最后的数据样本获取和/或传输经历的时间,产生有关一个或多个所指示位置(例如,通过、到达、离开等)的指示关系等。类似地,移动数据源设备可以以各种方式被配置成进行如何和何时传输或提供一个或多个所获取的数据样本,例如当统计预定条件时,包括基于从开始点起覆盖的总距离,从最后的数据样本获取和/或传输起覆盖的距离,从开始时间起经历的总时间,从最后的数据样本获取和/或传输起经历的时间,产生有关一个或多个所指示位置的指示关系,已经收集的多个数据样本的指示数目,已经收集的所指示的数据量(例如,填满或实质上填满在移动设备上存储数据样本的缓存器的数量,或例如填满或实质上填满用于传输的指示时间量的数量)等。
[0185] 图8是移动数据源信息提供例程800的示例性实施例的流程图,例如可以通过操作用于图3的一个或多个基于车辆的数据源384和/或其它数据源388(例如,用户设备)和/或图1的基于车辆的数据源101和/或图1的其它数据源102的每个的移动数据源设备来提供。在这个实例中,该例程为特定移动数据源获得数据样本来指示当前的交通状况,并适当地存储数据样本以便后续传输可以包括用于多个数据源的信息。
[0186] 该例程在步骤805开始,其中检索要被使用于作为数据样本获取和提供的一部分的参数,例如配置参数用于指示何时应当获取数据样本和何时应当产生相应于一个或多个数据样本的信息的传输。例程进行到步骤810等待,直到是时候获取数据样本,例如基于所检索的参数和/或其它信息(例如,已经经过先前数据样本获取的所指示的时间量,已经行驶过先前数据样本获取的所示距离,指示以实质上连续的方式获取数据样本等)。例程接着继续到步骤815以基于当前位置和移动数据源的移动获取数据样本,并在步骤820中存储数据样本。如果在步骤825中确定还没有到传输数据的时间,例如基于所检索的参数和/或其它信息(例如已经经过先前传输的指示时间量,已经行驶过先前传输的指示距离,指示只要其可用或以实质上连续的方式传输数据样本等),则例程返回步骤810。
[0187] 否则,例程继续到步骤830以检索并选择任何所存储的由于先前传输(或从开始,从第一次传输)的数据样本。例程接着可选地在步骤835中基于多个所选定的数据样本(例如,用于所有数据样本的全部平均速度,如果所获取的信息仅提供位置信息,则为用于每个数据样本的平均速度和方向等)产生所收集的数据。但在其它实施例中,也可以不执行这样的收集的数据的产生。在步骤840,例程接着可选地从所选数据样本组中去除用于一些或全部数据样本的一些或全部所获信息(例如,仅传输用于每个数据样本的所选类型,去除那些出现异常值或错误的数据样本,去除那些并不相应于移动数据源的实际移动的数据样本等),在其它实施例中,也可以不执行这样的信息去除。在步骤845,例程接着向接收方传输在数据样本当前组中的当前信息和将要以适当的方式使用的任何收集的信息。在步骤895中,例程确定是否继续(例如移动数据源是否继续使用和是可移动的),并且如果是,则返回到步骤810。否则,例程继续到步骤899并结束。在移动数据源不能传输数据的实施例和情况中,无论是否由于暂时的状况还是替换地反映了移动数据源首先的配置,步骤830-845都可以不被执行直到移动数据源可以传输数据或提供(例如,经由物理下载)由于先前的传输而已经被获得并存储的数据样本的一些或全部。
[0188] 正如先前所注意到地,一旦以及获得了有关道路交通状况的信息,例如从一个或多个移动数据源和/或一个或多个其它来源,则可以以各种方式使用道路交通状况信息,例如以基本实时的方式报告当前道路交通状况,或使用过去和当前的道路交通状况信息来在多个未来时间的每个预测未来交通状况。在一些实施例中,用于产生未来交通状况预测的输入数据的类型可以包括各种当前、过去和预期的未来状况,并且从预测处理来的输出可以包括对于在预定时间间隔(例如,三个小时,或一天)内的多个未来时间的每个(例如,未来每5、15或60分钟)在所感兴趣的多个目标道路段的每个上所产生的预期交通状况的预测,如在别处所更详细地描述。例如,输入数据的类型可以包括以下:有关用于在地理区域内所感兴趣的各个目标道路段的当前和过去交通量的信息,例如在地理区域内所选道路的网络;有关当前和近来交通事故的信息;有关当前、近来和未来道路工程的信息;有关当前、过去和预期外来天气情况的信息(例如,降水、温度、风向、风速等);有关至少一些当前、过去和未来安排的事件的信息(例如,事件的类型,时间预期的开始和结束时间,和/或时间的地点或其它位置等,例如用于所有事件,指示类型的事件,很重大的事件,例如具有预期在所指示阈值之上(例如1000或5000预期的出席者)的出席等);和有关学校安排的信息(例如,学校是否上课和/或一个或多个学校的位置)。此外,虽然在一些实施例中,预测未来交通状况的多个未来时间是按时的每点,但在其它实施例中这样的预测替换地可以表示多个时间点(例如,时间段),例如通过表示在这些多个时间点期间的未来交通状况的平均或收集度量。而且,输入数据的一些或全部可以是已知的并用改变确定的程度来表示(例如,预期的天气),并且可以产生附加的信息来表示在用于所产生的预测中和/或其它元数据的可信程度。此外,为各种原因以及在各个时间都可以初始化未来交通状况的预测,例如在周期性方式中(例如,每5分钟),当接收到任何或足够新的输入数据,响应从用于来的请求等。
[0189] 在一些实施例中可以使用输入数据的相同类型的一些来类似地产生未来交通状况的较长期限的预报(例如,未来一周,或未来一个月),但这样的较长期限的预报也可以不使用一些类型的输入数据,例如有关在预报产生的时间的当前状况(例如,当前交通、天气、或其它状况)的信息。此外,这样的较长期限的预报可以以比较短期限的预报更低地频率产生,并可以被产生来比较短期限的预报更能反映不同的未来时间段(例如,每小时而不是每15分钟)。
[0190] 还可以以各种方式选择用于产生未来交通状况预测和/或预报的道路和/或道路段。在一些实施例中,为多个地理区域(例如,市区)的每个产生未来交通状况预测和/或预报,其中每个地理区域具有多个互连的道路网络——可以以各种方式选择这样的地理区域,例如基于当前交通状况信息轻易可用(例如,基于在该区域中至少一些道路的道路交通传感器网络)和/或其中的交通拥堵是个显著问题。在一些这样的实施例中,用于产生未来交通状况预测和/或预报的道路包括那些很容易得到当前交通状况信息的道路,而在其它实施例中,这样的道路的选择可以至少部分地基于一个或多个其它因素(例如,基于道路的尺寸或容量,例如包括高速路和主要公路;基于承载交通的道路交通规则,例如包括能主要替换到诸如高速路和主要公路等较大容量的道路的一级公路和封闭道路;基于道路的功能类别,例如由联邦高速路管理局所指定等)。在其它实施例中,可以为一个道路产生未来交通状况预测和/或预报,而无论它的尺寸和/或与其它道路的相互关系。此外,可以以各种方式选择用于产生未来交通状况预测和/或预报的道路段,例如将每个道路交通传感器作为相异的段;为每个道路段而将多个道路交通传感器放在一起组成组(例如,降低产生独立预测和/或预报的数量,例如通过将特定数量的道路交通传感器放在一起组成组);选择道路段以便反映交通状况相同或充分类似(例如,强烈关联)的道路的逻辑相关部分;
例如基于从交通传感器和/或其它来源(例如,从车辆和/或在道路上行驶的用户产生的数据,如在别处更详细所讨论地)来的交通状况信息;等。
[0191] 此外,在各个实施例中可以以不同的方式使用未来交通状况预测和/或预报信息,如在别处更详细所讨论地,包括在各个时间以各种方式(例如,通过将信息传输给蜂窝移动电话和/或其它便携式消费设备;通过给用户显示信息,例如通过Web浏览器和/或应用程序;通过将信息提供给其它组织和/或给用户提供至少一些信息的实体,例如在分析和修改信息后执行信息提供的第三方等)将这样的信息提供给用户和/或组织(例如,响应请求,通过周期性发送信息等)。例如,在一些实施例中,使用预测和/或预报信息来确定建议的行驶路线和/或时间,例如在开始位置和终点位置间通过道路网的最优路线和/或执行所示行驶的最优时间,并且这样的确定基于为一个或多个道路和/或道路段的多个未来时间的每个的预测和/或预报信息。
[0192] 此外,各种实施例为用户和其它客户端提供了各种机制来与一个或多个交通信息系统(例如,图3的数据样本管理系统350、RT信息提供系统363,和/或预测信息提供系统360等)交互。例如,一些实施例可以为产生请求并接收相应的响应的客户端提供交互控制(例如,客户端程序提供交互的用户界面,基于Web浏览器界面等),例如请求涉及当前和/或预测交通状况的信息和/或请求分析、选择,和/或提供涉及行驶路线的信息。此外,一些实施例提供API(“应用程序接口”),其允许客户端计算系统可编程地进行一些或全部请求,例如通过网络消息协议(例如,Web服务)和/或其它通信机制。
[0193] 本领域的技术人员也能理解,在一些实施例中如上所讨论地由例程所提供的功能可以以替换地方式提供,例如可以分割到多个例程中或集中到几个例程。类似地,在一些实施例中所示的例程可以提供比所描述的更多的功能,例如当其它所示的例程替换地分别缺少或包括这样的功能时,或当所提供的功能数量可选时。此外,虽然各种操作都可以如所示地以特定方式(例如串行或并行)和/或特定顺序执行,但本领域的技术人员可以理解在其它实施例中这些操作也可以以其它顺序和方式执行。本领域的技术人员还还能理解的是,上述讨论的数据结构可以以不同方式构建,例如将单个数据结构分割到多个数据结构中或将多个数据结构集中到一个数据结构中。类似地,在一些实施例中所示的数据结构可以存储比所述更多或更少的信息,例如当其它所示的数据结构替换地分别缺少或包括这样的信息时,或当所存储的信息的数量或类型可选时。
[0194] 从上述可以理解的是,尽管为示例的目的而在此描述了特定的实施例,但在不背离本发明的精神和范围的情况下可以进行各种修改。因此,本发明除所附权利要求及其在此引证元素外均不受限。此外,尽管本发明的特定方面以给定权利要求的形式进行了论述,但发明人设想以任何可用的权利要求形式涵盖本发明的各个方面。例如,虽然本发明的一些方面当前仅可以被叙述为嵌入在计算机可读介质中,但类似的其它方面也可以包含。