移动对象路网匹配轨迹的采集方法

文档序号:6728032阅读:431来源:国知局
专利名称:移动对象路网匹配轨迹的采集方法
技术领域
本发明属于时态空间数据库领域以及智能交通系统领域,涉及移动对象路网匹配,尤其涉及基于移动对象数据库的移动对象路网匹配时空轨迹采集方法以及在此基础上 进行的交通流统计分析方法。
背景技术
随着移动计算技术、传感器网络技术以及智能交通技术的发展与结合,基于移动 对象(或浮动车)的时空行驶轨迹数据采集及网络交通流分析技术成为了一个新的研究热 点,并在实际的智能运输系统中得到了越来越广泛的应用。在中国加入世界贸易组织之后, 交通需求的持续增长和道路通行能力限制之间的矛盾变得更为突出。基于移动对象(或浮 动车)的时空轨迹数据采集及网络交通流自动分析技术不仅有助于缓解城市交通信息滞 后及道路拥堵问题、保障交通安全、提高人们交通出行的质量与效率,而且对于节省能源及 公共资源消耗、优化交通控制与资源配置有着重要的社会及经济价值。在基于移动对象(或浮动车)的时空轨迹数据采集与交通流分析系统中,一部 分车辆(如出租车、公共汽车,以及专门的交通数据采集车辆等)安装了全球定位系统 (GlobalPositioning System, GPS),并通过无线通讯接口不断地向中心服务器报告自己的 位置、速度、行驶方向等信息。服务器接收到这些信息之后,周期性地对这些数据进行处理, 通过将它们与道路网络进行匹配,从而得到它们的时空运行轨迹(时空运行轨迹是“时间+ 空间”多维空间中的一条曲线),进而通过统计计算,得到交通网络各路段的交通状态信息, 从而为交通控制与交通导航服务。通过上述方法能够直接得到的交通状况信息包括各条道 路的平均通行时间、移动对象数目、交通阻塞及其位置等。此外,还能间接推导出车辆密度、 平均车速、交通流量等信息。此外,通过上述方法还能够在服务器跟踪和查询移动对象当前 和过去时刻的位置。在上述这一类系统中,进行交通数据采集的移动对象或浮动车充当了移动传感器 (Moving Sensors)的角色,为了与传统的基于固定传感器(如线圈传感器、光学传感器等) 的交通数据采集方法相区别,本领域统称这类方法为基于移动传感器的交通流数据采集与 分析方法。由于基于移动传感器的交通流采集与分析方法不受区域和天气条件的限制,并 具有经济、灵活、精确的优点,因此得到了越来越广泛的应用。然而,现有的基于移动传感器的交通流数据采集与分析方法在灵活性、处理效率、 处理精度和深度上均存在着诸多的局限性,具体表现在(a)几乎所有的浮动车系统以及大部分移动对象数据库系统中所采用的方法是基 于Euclidean空间的位置表示方法,该方法将移动对象的位置直接表示成(经度,纬度)的 形式,位置采集方法主要采用基于固定时间间隔的方法(Fixed-Time Location Update,简 称FTLU)、基于固定空间间隔的方法(Fixed-Distance LocationUpdate,简称FDLU)以及基 T Euclidean ^SJj^M^Mi (Euclidean-Based Motion Vector Location Update, EMVLU)。由于上述位置表示及采集方法没有和交通网络相联系,在相邻两个数据采集点之间的网络路径是不确定的,因此这些方法无法得到移动对象精确的路网匹配时空轨迹。尽 管可以用最短路径来近似推算相邻两次采集点之间的实际路径,但由于两个采集点之间通 常会存在多条路径且移动对象不一定总是走最短路径,上述处理通常会带来较大的误差;(b)近年来,研究人员提出了基于交通网络的移动对象位置表示方法,同时提出 了基于网络拓扑的移动矢量的位置采集方法(Network-Based Motion Vector Location Update,简称NMVLU),可以采集到能够基于路网的移动对象时空轨迹。基于路网的移动对象 时空轨迹比普通的时空轨迹要精确,可以通过它推算出移动对象的网络行驶路径,但是其 采集方法需要在移动对象上安装电子地图。一方面,电子地图的安装将极大地提高整个系 统的成本,不符合我国目前大部分移动对象车载GPS终端未安装电子地图的国情;另一方 面,位置更新需要高度精确的电子地图,电子地图的及时更新也带来了很大的工作量开销。上述两方面的限制,制约了基于交通网络的移动对象位置表示与采集方法在实际 系统中的广泛应用。因此,目前这方面的工作主要还停留在实验室研究阶段。 克服上述缺陷的有效方法是在移动对象端不安装电子地图的前提下,采集移动对 象精确的路网匹配时空轨迹(Network-Matched Trajectory,简称NMTr),并在此基础上实 时地统计和提取交通流状态信息。路网匹配的时空轨迹是指包含了移动对象的实际网络行 驶路线及时空行驶过程的轨迹,因此它能够精确地刻画移动对象在路网中完整的时空运行 过程,从而有效地提高移动对象位置跟踪及交通流统计分析的精度。然而,根据深入详细的 文献调研分析,目前在这方面的相关研究与产品研发均处于空白。

发明内容
针对目前基于移动传感器的时空轨迹数据采集与交通流分析方法的不足,本发明 提出移动对象路网匹配轨迹的概念,并给出了具体的数据采集方法以及在此基础上的交通 流统计分析方法,因此本发明的目的是提出一种在移动对象(即数据采集车辆)端不需要 配备电子地图、与路网精确匹配的移动对象轨迹数据的采集方法及基于其上的交通流统计 分析方法。为了实现上述目的,本发明所采用的技术方案是a)移动对象密集地(如每10秒钟一次)采集移动矢量(mv)序列,并成批地(如 每2分钟发送一次)将其发送至服务器;b)服务器对mv序列中的各个mv进行路网匹配,得到路网匹配的移动矢量(nmv) 序列;c)服务器对nmv序列中的各个nmv进行路径匹配,得到路网匹配轨迹并储存。此外,步骤b)和步骤c)之间还可由服务器对nmv序列中的各个nmv进行匹配值 校准;在步骤c)之后还可由服务器对路网匹配轨迹进行压缩优化。根据上述方案,本发明通过移动对象相对密集地在本地采集和存贮移动矢量,成 批地向服务器发送移动矢量序列,然后在服务器进行路网匹配,得到精确的时空轨迹之后, 通过舍弃非关键点进行轨迹数据的压缩,从而得到优化的路网匹配轨迹,最后在路网匹配 轨迹的基础上进行交通流参数的统计。由于极大地提高了轨迹精度,克服了通过最短路径 代替实际路径的不足,本方法能够有效地地提高交通流的统计分析精度。同时,本方法不需 要对我国目前通行的不带电子地图的车载GPS平台进行升级与改造,使得现有的平台可以直接接入本系统中使用,因此具有良好的兼容性和灵活性。下面从几个方面对本发明作更为详细的描述。一、系统的设置及数据的表示
本方法需要在每个其位置需要被跟踪的移动对象上安装GPS定位设备和无线通 讯设备(移动对象端不需要电子地图)。同时,需要在服务器上存放道路交通网络的电子地 图数据。道路交通网络电子地图数据可以通过对GIS地图进行数据转换处理而得到,它采 用基于“原子路段+交叉路口”的表示方法。图1给出了道路交通网络电子地图的例子(其 中每个单向或双向箭头表示一个原子路段,每个矩形框表示一个交叉路口)。每个原子路段对应于实际道路网络中连接两个相邻交叉路口或标志性地点的、中 间不再含有其他交叉路口的路段,其计算机表示格式中包含如下信息(原子路段的标识, 地理几何形状,所连接的交叉路口标识,交通流方向,长度),其中 原子路段的标识通常用字母、数字、或者字母与数字的组合来表示,如图1所 示的道路交通网络中横向的主干道共分为5个原子路段,对应的原子路段标识分别”为 “arsl” “ars5”。注意,原子路段与实际道路之间并无一一对应的关系,它反映的实际上 是交通流通道的基本单位。例如,图1中的横向道路被交叉路口“jl” “j4”分割成3大 段。第1、3段路段的正反向交通流是对称的,所以分别表示成一个双向原子路段“arsl” 和“ars4”,而中间的一段正反两个方向的交通流不对称,所以表示成多个单向原子路段 “ars2”、“ars3”、“ars5”。又如对于两条道路之间的匝道,也需要表示成单独的原子路段 (见“ars6”)。通过这种拆分的表示方法,可以表示任意复杂的道路网络及其交通流通道。 原子路段的地理几何形状用一条折线(polyline)表示,即每条道路都由若干 个点组成的序列来描述(其中第一个点称为该原子路段的几何起点(简称为“0-端”),最 后一个点称为其几何终点(简称为“1-端”),见图1中的原子路段“ars5”),将这些点依 次连接形成折线即可刻画该原子路段的形状。例如,假设所有的原子路段均以左侧的端点 作为0-端,且当两个端点处于同一条垂直线时,以上边的端点为0-端,则图1中原子路段 "ars5"的左边是0-端,右边是1_端。 原子路段所连接的交叉路口标识是一个偶对(jimCtQ_end,jimcthJ,其中 junct0_end和Junctnnd分别对应于该原子路段的O-端和1_端所对应的交叉路口的标识。 如原子路段“ars5”所连接的交叉路口标识为(“j2”,“j3”)。 原子路段的交通流方向可以取值“ + ”、“_”、“士 ”,它们分别表示该原子路段允许 移动对象从0-端驶向1-端、允许从ι-端驶向0-端、以及双向均允许;例如,图1中,原子 路段“arsl”是双向道路,所以其交通流的方向为“士”,而单向路段“ars2”和“arS5”的交 通流方向分另为“ + ”、“_”。 原子路段的长度是一个实数,表示该原子路段的实际长度,如5. 23公里。每 个交叉路口对应于实际道路网络中的一个交叉路口或者标志性地点(如道路的起点与终 点),例如图1中,“j2”和“j3”对应于实际道路中的交叉路口,“jl”、“j4”、“j5”、“j6”、 “ j7 ”、“ j8 ”对应于道路的起/终点,而“ j9 ”、“ j 10 ”对应于道路与匝道之间的出入口。交叉 路口的计算机表示形式包括如下信息(交叉路口的标识,地理位置,所连接原子路段的标 识,交通流的转接关系),其中
交叉路口标识的表示方法与原子路段标识的表示方法相同。例如在图1中用小 方框表示交叉路口,共有10个交叉路口,分别用“ j 1 ”、“ j2 ”、. . . “ j 10 ”代表。 交叉路口的地理位置用其经纬度坐标(x,y)的形式表示,例如,“jl”的位置可 以表示成(112. 32,39. 32)。 交叉路口所连接原子路段的标识是一个集合,其中包含该交叉路口所连接的所 有原子路段的标识。例如,图1中交叉路口 “ j2”连接5个原子路段,其连接的原子路段的 标识为集合{ “arsr,,“ars2,,,“ars5,,,“ars7,,,“ars8”}。 交叉路口的交通流转接关系用一个矩阵(称为交叉路口的连接矩阵)来表示。 其中矩阵的行和列分别对应于该交叉路口所连接的各原子路段的标识,而矩阵中的元素值 可以取值0或1,分别表示该交叉路口是否允许移动对象从一个原子路段通过该交叉路口 进入另一个原子路段。图2给出了交叉路口“j2”的连接矩阵的例子,其中图2(a)是交叉路 口交通流的实际转接情况,图2(b)是对应的连接矩阵。从图2(b)中可以看出,“ars8”(从) 和“ars2”(到)对应的矩阵元素值为1,表示该交叉路口允许移动对象从“ars8”穿过交叉 路口切换到原子路段“ars2”。另外,虽然连接矩阵中只表示了原子路段而没有给出具体的 交通流,但实际上各原子路段的交通流已经隐含在矩阵中了。以“ars7”为例,由于“ars7” 的0-端与交叉路口 “j2”相连,因此从“ars7”到达“ j2”的交通流方向为“_”,即矩阵中的 “ars7”(从)实际等同于“ars7-”(从)。同理,从交叉路口 “ j2”到达“ars7”的交通流为 “ + ”,所以“ars7” (到)实际等同于“ars7+”(到)。移动对象的路网匹配轨迹NMTr可以表示成(nmv^pathi ;nmv2,path2 ;. . . . path^ ; nmvn),其中 nmVi (1 ^ i ^ n)是根据移动对象所提交的移动矢量(motion vector)进行路 网匹配所得到的路网匹配的移动矢量(network-matchedmotion vector),其数据格式为 (、,loCi, Vi,屯,nmatchi),其中、为移动对象采集该移动矢量的时刻,loCi、Vi、屯分别为 、时刻通过GPS所得到的移动对象位置、速度和方向,nmatch,为上述GPS数据所对应的路 网匹配值的集合,该集合中每个元素的格式为(arstf,p0s),其中arstf是原子路段标识与 交通流方向的组合(如“arsl+”,称为“原子路段交通流”),表示移动对象所处的原子路段 及交通流方向,pos是移动对象在该原子路段上的相对位置(设每条原子路段的长度为1, 且其0-端和1-端的相对位置分别为0和1,则原子路段中的任意一个相对位置可用一个实 数pos(0 ( pos彡1)表示)。例如路网匹配值(“arsl+”,0. 22)表示移动对象在原子路段 “ ars 1 ”上的0. 22位置,从0-端向1-端行进。
pathj (1彡j彡n-1)是移动对象从nmVj到nmvj+1所行驶的网络路径,用路网中 一组原子路段交通流的序列表示,移动对象在mVj到mvj+1之间大致保持勻速行进。注意为 了节省存储空间,path」省略了包含在nmVj和nmvj+1中的起点和终点原子路段交通流信息。 例如图3中nmv2和nmv3之间的路径应该为(“ars2+”,“ars3+”,“ars9+”),但由于nmv2和 nmv3中已经包含了起点ars2+和终点ars9+的信息,所以path2 = ( “ars3+”)。图3给出了移动对象路网匹配轨迹的例子,其中图3(a)为移动对象的行驶过程, 图3(b)为对应的路网匹配轨迹。从图3可以看出,将路网匹配轨迹NMTr中的各原子路段 交通流(包括path」(1彡j彡n-1)中的和nmVi (1彡i彡n)中的)联接起来,并去掉重复, 即可得到移动对象完整的网络行驶路径。例如,通过图3(b)中的路网匹配轨迹可知,移动
6对象的网络行驶路径是(“arsl+”,“ars2+”,“ars3+”,“ars9+” )。为了实时地采集路网匹配的移动对象轨迹并统计交通网络各部分的交通参数, 需要在系统中维护三个相关的数据结构(如图4所示),即当前交通状况统计树结构 (CurrentTraffic-status Statistical Analysis Tree,简称 CTSA—Tree)、统计源数据列 表结构(StatisticalAnalysis Source-Data Array,简称 SASD-Array)以及交通网络邻接 可达表结构(Traffic-NetworkAdjacent Reachability Table,简称 TNAR-Table)。这些数 据结构可以置于外存文件系统,亦可长驻内存。下面分别对它们进行介绍 当前交通状况统计树结构CTSA-Tree,如图4(c)所示。在该数据结构中,道路网 络中的所有原子路段按照它们的标识被组织成了 B+树结构,树的叶子结点中记录的形式 为(Geoinfo,TraffPara,tlaststat,moidSet)。其中,Geoinfo包括该原子路段的地理几何形 状、交通流方向及长度;TraffPara是该原子路段的当前基本交通参数,包括正反两个方向 的平均通行时间t、移动对象个数^、交通拥堵状况3。在查询时,通过上述基本交通参数 可以推导出更复杂的交通参数,如交通流量V、平均速度《、道路饱和度(等;tlaststat是该 原子路段的交通参数上次刷新的时间,moidSet是在统计时间窗口 A tstat( A tstat是一个时 间段,如10分钟,系统对该时间段内提交的新数据进行统计,并将结果作为当前交通参数) 内通过该原子路段的移动对象标识的集合(如图4(c)中的moidl,moid3, moid5-)o 统计源数据列表结构SASD-Array,如图4(d)所示。该结构中的每个记录的格 式为(moid,TrajSeg),其中,moid为移动对象的标识,TrajSeg为该移动对象在最近A tstat 时间内提交的轨迹片段。 交通网络邻接可达表结构TNAR-Table,如图4(e)所示。该结构是一个链表 结构,其中所有的头结点构成一个列表,包含了道路网络中所有的原子路段交通流(见图 4(e)中最左一列结点),每个头结点后面所链接的结点是该原子路段交通流所能够转向 的其他原子路段交通流。如“虹81+”后面链接的结点依次为“虹81-”,“虹82+”,表明从 “arsl+”可以通过某个交叉路口(即“j2”)转向“arsl-”和“ars2+”(参见图2中交叉路 口“j2”的连接矩阵,这种关系我们称之为“邻接可达”)。TNAR-Table中每个结点中包含对 应原子路段交通流的目的地的地理位置toLoc (如结点“arsl-”对应的toLoc是原子路段 "arsl"的0-端所对应的地理位置),该信息是进行导航路径计算时需要用到的参数。二、路网匹配轨迹的采集方法在本发明中,移动对象进行位置跟踪及轨迹采集时采用基于Euclidean空间的成 批矢量采集及后台路网匹配与压缩优化(eUclidean-based Batch Samplingplus Network Matchingand Compressing,简称UBS-NMC)方法。该方法不需要在移动对象端安装电子地 图,而是由移动对象相对密集地(如每10 20秒一次)采集移动矢量并缓存在本地(此 外,为了提高轨迹与实际行驶过程的匹配度,在移动对象的速度变化、方向变化超过预先设 定的阀值时也需要进行移动矢量采集),然后成批地(如每2分钟一次)发送给服务器。服务器接收到来自移动对象的移动矢量序列mvArray之后,将对其中的每个矢 量进行路网匹配,从而得到移动对象的路网匹配移动矢量序列nmvArray ;然后,系统将 nmvArray合并到该移动对象的路网匹配轨迹匪tr中,同时,对新加入到匪tr的矢量序列进 行路径匹配,得到每两个相邻矢量之间的行驶路径,最后对路网匹配轨迹NMtr进行压缩优 化,丢弃非关键采集点(即去掉它们不影响轨迹的总体曲线)以节省轨迹的存贮空间。上
7述处理完毕之后,系统将新生成的轨迹存入数据库,同时对统计数据结构和统计源数据结 构进行动态维护,检查并刷新移动对象新经过的所有原子路段的交通参数。本发明支持移动对象与路网匹配的精确定位、跟踪和查询,同时支持对道路网络 中每个原子路段正反两个方向的交通参数的实时统计与查询。(A)移动对象端采集移动矢量的过程移动对象个体在行驶的过程中,相对密集地以每Atsample时间(如每10秒钟一次) 通过GPS采集其移动矢量,移动矢量包括如下信息(t,loc, v, d),其中t是移动对象采集 该移动矢量的时间,loc、v、d分别是移动对象在t时刻通过GPS获得的位置、速度、方向等 行驶参数。除了每隔Atsample时间触发的矢量数据采集之外,当移动对象的速度变化或方向 变化超出指定的阀值时,也需要触发对移动矢量的采集。移动对象将所采集的移动矢量临时保存在其本地的移动矢量序列mvArray中,每 隔一段相对较长的时间间隔△ tsmd(如每2分钟一次),将所采集的移动矢量数据成批地发 送给服务器。移动对象采集及发送移动矢量的流程图如图5所示。(B)数据库服务器接收、匹配和处理移动矢量序列并进行交通流分析的过程数据库服务器每次接收到某个移动对象(设其标识为moid)发送来的移动矢量序 列mvArray之后,将首先对mvArray中的各个移动矢量进行路网匹配,并将匹配之后的移动 矢量序列nmvArray附加到该移动对象的时空轨迹NMTr之后;然后,对NMTr中新加入的矢 量序列进行校准及路径匹配,并对新生成的路网匹配轨迹进行压缩优化;最后,将优化后的 轨迹存贮到数据库中,并触发相应原子路段的交通流统计。数据库服务器的上述处理过程 可以用如图6所示的流程图表示。服务器接收、处理移动矢量序列并进行交通流统计分析的具体处理过程如下(设 新接收到的矢量序列为mvArray)第一步对mvArray中单个移动矢量的路网匹配。服务器接收到来自移动对象的 移动矢量序列wvJrr砂二如巧仏广*;仏loc, vit必之后,将对mvArray中的每个移动矢量 进行路网匹配,将之匹配成路网匹配的移动矢量nmv,从而得到路网匹配的移动矢量序列 nmvArray0设需要匹配的移动矢量为mVi = (、,loCi, Vi,cQ,其中,、为移动对象采集该移 动矢量的时间,loc” Vi、屯分别为移动对象在、时刻的位置(即经、纬度坐标)、速度和方 向。mVi与路网匹配之后得到的路网匹配的移动矢量为nmVi = (ti loCi, Vi, d^ nmatch^ , 其中,ti,loCi, Vi,di直接来自于mVi,而!!!!^切比是!!!!^所对应的路网匹配值,它是一个集 合,其中包含移动对象在ti时刻所可能的网络位置及交通流方向。nmatchi中元素的数据 格式为如下两种之一 (1) (arstf, pos),表示移动对象在原子路段上,其中arstf和pos分 别是对应的原子路段交通流及在原子路段中的相对位置;(2) jid,表示移动对象在交叉路 口中。绝大多数情况下,nmatch,中只包含一个元素,即mVi能唯一地匹配到一个原子路段 或交叉路口。但是当路网比较密集且存在走向相同的路段时,mVi可能会匹配到多条原子路 段,此时nmatchi含有多个元素,需要在第二步的处理中进一步筛选。对移动矢量mVi = (、,loCi, Vi,cQ的具体匹配计算过程如下 计算10(^是否处于某个交叉路口,若是(设对应的交叉路口标识为jid),则 nmatchi为相应交叉路口的标识jid ;
如果l0Ci不处于交叉路口,则进行如下计算(设loCi能且只能匹配到一条原子 路段)>计算对应的原子路段标识arsID 由于每条道路都是由一条折线来刻画的,通过 计算loCi坐标点位于哪条折线上,即可得出对应的原子路段标识即arsID值。>计算对应的pos 由于交通网络中每一条原子路段都有两个端点0_端和1-端, 定义0-端的pos值为0,1-端的pos值为1,mv,中位置loCi坐标点到0-端沿道路的距离 与该原子路段长度的比值即为loCi对应的pos值,显然地,pos的取值范围是0和1之间, 即 pos G
。>计算对应的交通流方向tf 当Vi大于规定的阀值o时(如2公里/小时),可 以直接对屯进行路网匹配,即通过将屯与原子路段arsID在pos处的走向进行匹配,如果 移动对象向着1-端行驶,则tf为“ + ”,否则若移动对象向0-端行驶,则tf为“-”;当Vi小 于规定的阀值o时,此时GPS测得的方向不准确,不能直接对屯进行匹配,而应该通过检 查mVi的前驱和后继判断出移动对象在mVi点的行驶方向,并进而得到tf。>将上述三个参数组合成(arstf,pos)的形式,其中arstf是arsID与tf的组合 (如“arsl+”),从而得到mVi的路网匹配值,并将之赋值给nmatchi。 当l0Ci匹配到多条原子路段时,进行如下处理>当两个原子道路属于实际道路的正反两个方向时(如图1中的“ars2”和 “虹85”),可能会出现将10(^坐标点同时匹配到正反两条原子路段的情况。此时,需要结合 移动对象的行驶方向进行排除,从而仍然可以匹配到一条正确的原子路段。>当道路十分密集、相互重叠且在loCi处走向相似时(如两条上下几乎平行交错 的道路,见图7),loc,可能会匹配到多条道路上,且无法通过上述方法进行排除,此时,多 个匹配的结果将同时存放在nmatchi中,即nmatchi包含多个路网匹配值,如{( “arsl+”, 0. 22),( “ars2-”,0. 88)}。 当loCi无法匹配到任何一个原子路段或交叉路口时,nmatchiS为空值(NULL)。服务器完成移动矢量序列mvArray中各矢量的路网匹配 之后,将得到一个与mvArray相对应的路网匹配移动矢量的序列 nmvArray = {nmv,) "=1 = {{th loch vh dh nmatch,)) “=l。第二步将nmvArray与移动对象的轨迹NMTr合并,并进行移动矢量路网匹配 值的校准。在第二步处理中,系统首先将wm^rm^zh/m;,):与移动对象存放在数据库 中的轨迹匪Tr = (nmVl, path! ;nmv2, path2 ;....,path^ ;nmvj 进行合并,即令匪Tr = NMTr+nmvArray,得至lj新的轨迹 NMTr = (nrnv^pathi ;nmv2,path2 ; …,path^! ;nrnvm,pathm ; nmvm+1, . . . ;nmvm+n),其中pathk =丄(m≤k≤m+n);然后,对NMTr中含多个路网匹配值的 移动矢量进行校准,使这些移动矢量只含有唯一的匹配值。需要进行匹配值校准的移动矢量包括新附加到NMTr中的矢量(即nmVni+1, nmvffl+n),以及上次位置更新时未能匹配校准的矢量(这些矢量处于原NMTr的尾部,设nmvf 为它们中的第一个矢量,将f保存为全程变量)。这样,NMTr可以表示为NMTr= (nmVl, pathx ;nmv2,path2 ;....,pathf_x ;nmvf,. . .,pathm—丄;nmvm,pathm ;nmvm+1,. . . ;nmvm+n)。匹配 值校准的过程从nmvf开始,直至到达nmvm+n。对于矢量nmVi (f ≤ i ≤ m+n),如果其路网匹 配值nmatchi中含有多个元素,则需要对nmVi前驱nrnvg和后继nmvi+1,nmvi+2...进行检查,以确定nmatchi中唯一正确的匹配值。确定nmVi唯一匹配值的原则是通过确定点推算不 确定点,即通过具有确定匹配值的前驱nmvH、后继以及网络拓扑结构推算nmVi的唯一正确 值,具体的处理过程如下(设nmvH含有唯一的路网匹配值或已经完成校准) 通过nmVi的前驱nmv^进行校准如果nmVi中的某个匹配值与nmv^对应的原 子路段交通流arstfh相同,则将nmVi匹配到arstf^ ;或者如果nmVi中的某个匹配值与 arstf^的邻接可达原子路段交通流(可以通过TNRA-Table数据结构直接得到)之一相 同,则将nmVi匹配到该原子路段交通流(如图7 (a)所示); 通过nmVi的后继进行校准设nmvk是nmVi的具有唯一匹配值的最靠近nmVi的 后继,如果nmVi中的某个匹配值与nmvk对应的原子路段交通流arstfk相同,则将nmVi匹配 到arstfk ;或者如果nmVi中的某个匹配值arstf*到arstfk邻接可达(可以通过TNAR-Table 进行判断),则将nmVi匹配到arstfk如图7 (b)所示); 如果nmVi的具有唯一匹配值的前驱与后继nmVj、nmvk均距离nmVi较远(不处 于相邻原子路段交通流),则选择能使下面公式计算值最小的匹配值作为匹配校准结果netDistance (nmvj cand) +netDistance (cand, nmvk)其中,cand 是 nmatchi 中的元素。 如果通过上述方法仍然无法确定nmVi的唯一网络位置(如所有的后继均具有 多个匹配值),此时需要将匹配过程推迟到下一次位置更新移动对象提交了更多的矢量信 息之后进行。第三步矢量序列的路径匹配。服务器完成移动矢量匹配值的校准之后,将对 NMTr中尚未进行路径匹配的矢量进行处理,即对任意两个相邻矢量,寻找它们之间的网络 路径。需要进行路径匹配的矢量包括在第二步新附加到NMTr中的矢量和原NMTr尾部的、 在第二步新校准的矢量,即从nmvf到nmv-的所有矢量。在路径匹配的过程中,服务器从 nmvf开始,由前往后逐个处理NMTr中的矢量,直至到达nmv-为止。设正在进行路径匹配 处理的矢量为nmVi(f ^ i ^ m+n),路径匹配的任务是计算出nmVi与其前驱之间的网络路 径 pathj^o下面考虑nmVi的处理过程。设其前驱为nnn^,后继为nmvi+1 (nmvn的后继为空)。 现在要找的是从nmVi到nmvi+1之间的路径path,,将按照如下方法处理 如果nmVi*nmVi+1中至少有一个的路网匹配值为空(表明不在路网上)或有多 个匹配值(表明网络位置不确定),则path设为丄(表示“未定义”)。 如果nmVi和nmvi+1的路网匹配值nmatchi和nmatchi+1中均只含有一个元素,则 按照下面步骤处理>若nmVi和nmvi+1处于同一条原子路段交通流或者同一个交叉路口,则pat、= NULL,如图 8 中 Casel 和 Case2 ;>若nmVi和nmvi+1其中之一位于原子路段交通流arstf,另一个位于交叉路口 junct,且arstf与junct邻接可达,则pat、= NULL。这是因为nmVi和nmvi+1之间的实际 路径应该为arstf,但arstf已经包含在nmVi和nmvi+1中位于原子路段的那一个里了,因此 该信息可以省略,如图8中Case3 ;>若nmVi和nmvi+1处于两条前后邻接可达的原子路段交通流arstfft。m,arstft0上, 则仍然有path = NULL。这是因为实际行驶路径应该为(arstfft。m,arstfj,但是arStfft。m和arstft0已经包含在nmvi和nmvi+1中了,如图8中Case4 ;>若nmvi和nmvi+1不邻接可达,则pat、为从nmVi到nmvi+1的最短路径(最短路 径表示为原子路段交通流的序列)中去掉起点和终点原子路段交通流的部分(即去掉最短 路径两端的、与nmatchi和nmatChi+1重复的原子路段交通流)。如图8中的Case5所示,从 nmVi 到 nmvi+1 的最短路径为(“ars5+,,,“ars6-,,,“ars7+,,),但是“ars5+,,和“ars7+,,已经 分别包含在 nmatchj 和 nmatchi+1 中了,所以 pat、= ( “ars6_”)。第四步路网匹配轨迹的数据压缩与优化。通过第三步处理得到的路网匹配轨迹 NMTr中含有移动对象在最近一次位置更新时提交的所有密集采集的移动矢量,如果将这些 矢量全部存放在数据库中,将导致数据库的急剧膨胀。为此,需要丢弃NMTr中的非关键数 据采集点,仅仅保留关键的数据采集点,从而得到压缩优化后的路网匹配轨迹,并大大地降 低数据存储所需要的开销。具体的处理过程如下设经过第三步处理所得到的路网匹配轨迹为NMTr = (nmVl, path: ;nmv2, path2 ;...., pathf_! ;nmvf,…,path” ;nmvm, pathm ;nmvm+1,. . . ;nmvm+n)。在对 NMTr 进行数 据压缩与优化时,将从nmvg开始,逐步向后检查并处理,直至到达rniRVy为止。对于nmVi =(、,loCi,v” d" nmatch》(f-1 ( i ( m+n-1)的处理过程如下 如果nmvg,nmVi, nmvi+1均只含有一个路网匹配值,且下列条件满足(其中 nComposfcmv^, nmvi+1, 是通过nrnvg,nmvi+1及网络路径的采用基于网络的插值计算得 到的移动对象在、时刻的位置,函数nDistanceO计算两个数据点沿着网络路径的距离, e则是预先指定的阀值)nDistance (nCompos (nmVi—” nmvi+1,tj,nmVi) ^ e则表明11!1^可以通过其前驱和后继推导出来,是可以丢弃的非关键点(通常当移 动对象勻速前进时密集采集的数据点均为非关键点)。如果上述条件不满足,则需要保留 nmvi0图9给出了非关键点丢弃的例子。 如果nmvH,nmVi, nmvi+1三者的路网匹配值均为空(即它们均在路网之外),且 下列条件满足(其中eComposOimvH, nmvi+1 ? t》是通过 nmVi—” nmvi+1 米用基于 Euclidean 空间的插值计算得到的移动对象在、时刻的位置,函数eDistanceO计算两个数据点的直 线距离,£则是预先指定的阀值)eDistance (eCompos (nmVi—” nmvi+1,tj,nmVi) ^ e则表明nmVi可以通过其前驱和后继推导出来,是可以丢弃的非关键点。如果上述 条件不满足,则需要保留nmVi。 如果nrnvg,nmVi, nmvi+1之一含有多个路网匹配值,则保留nmVi,等下一次位置 更新时进行了匹配值校准之后再进行判断。 如果nrnvg,nmVi, nmvi+1之一的路网匹配值为空,且它们中至少有一个路网匹配 值非空,则需要保留nmVi。如果nmVi满足丢弃条件,在丢弃它的同时,需要进行对相应的路径进行合并,即 nmv^!和nmvi+1之间的路径path*为path* = dupRemove (pathj+getArstf (nmvj) +pathi+1)其中函数dupRemove ()的功能是去掉重复的相邻原子路段交通流。第五步服务器将压缩优化处理后的移动对象轨迹NMTr存入数据库中。同时,
11对匪Tr中自pathg之后的部分(即(path f-i nmvf, ,pathm_1 nmvm,pathm,nmvm+1, , nmvffl+n))所涉及的所有原子路段的交通流参数进行检查和刷新(见“三.路网匹配轨迹的 统计分析方法”)。对于某个相关的原子路段ars,如果当前时刻tn。w与ars上次交通流参 数统计刷新的时间tlaststat (见图4 (c))之间的距离小于规定的时间阀值(如1分钟),则不 需要进行参数刷新;否则需要根据新的轨迹信息重新计算并刷新ars的交通参数,并在刷 新完成之后,将tlaststat设置为刷新完成的时间。通过上述方法,可以避免对ars过于频繁 的交通参数刷新。三.路网匹配轨迹的统计分析方法对于原子路段ars,设集合MO = (moidl, moid2, . . . moidn)是在统计时间窗口 A tstat (如最近10分钟)内经过ars的所有移动对象的标识(M0可以通过CTSA-Tree数据 结构直接获得,见图4 (c)),并设p Q M9是所有以“ + ”方向经过ars的移动对象的标识的集 合…gMO是所有以“-”方向经过ars的移动对象的标识的集合,tn。w为当前时间。下面考 虑“ars+”的交通流统计方法(“ars-”的交通流统计方法与之类似) 平均通行时间t 对于P中每个移动对象(设其标识为moicO,根据其轨迹片 段(通过SASD-Array数据结构可以直接得到moicf的轨迹片段,见图4(d))可以计算出其 驶入和驶出 “ars+” 的时间 tin (moid*,“ ars+“)和 tout (moid*,“ ars+“),它们之间 的差值即为moicf在‘‘ars—”上的通行时间。计算所有相关移动对象通行时间的平均值即 可得到‘‘ars+”的平均通行时间,即 其中| p |为集合p中元素的个数。 移动对象的数目n 设t* = tn。w-Atsend,即t*为当前时刻回退Atsend(如2分 钟)时间,以保证在t*时刻所有移动对象的位置信息均可以在数据库服务器中找到(t*时 刻之后的位置可能还缓存在移动对象端没有发送给服务器)。计算P中所有移动对象在t* 时刻的位置,如果该位置在“ars+”上,则计数器加1,否则不计数。最后当P中的移动对象 处理完毕时计数器的结果即为“ars+”上移动对象的数目,即 其中,函数isWinthinO判断某个位置是否属于指定的原子路段交通流,若属于 则返回1,否则返回0。函数nposO计算某移动对象在指定时刻的位置。 交通拥堵0 对于P中的每个移动对象,通过函数getSlowAreaO可以计算出 它在经过“ars+”时的缓慢路段(缓慢路段定义为ars中移动对象的行驶速度低于指定阀 值^-的部分)。P中所有移动对象缓慢路段的交集jamArea可以通过下面的公式计算出 来 如果jamArea不为空,则表明在过去的A tstat时间内,所有经过‘‘ars+”的移动对 象在jamArea处均缓慢行驶,因此“ars+”在jamArea处存在拥堵。如果jamArea为空,则 表明“arS+”不拥堵,即
上面列出的交通参数只是“ars+”的基本交通参数,通过这些参数可以轻易地导出 其它交通参数,如“ars+”的平均速度为 其中ars. length为原子路段ars的长度。本发明中,密集采集的时间间隔Atsample与成批发送时间间隔Atsend是可以调整 的。当设置合理时,路网匹配的准确度可以达到或接近100%,从而在移动端不加载电子地 图的前提下,实现了移动对象精确路网匹配轨迹的采集,这种解决方案使得我国目前车载 系统普遍采用的不带电子地图的中低端GPS定位跟踪平台仍旧可以沿用而无需进行任何 改造;此外,由于移动对象在采集移动矢量时使用密集采集、成批发送的方法,降低了通讯 和计算的代价,同时通过非关键采集点的压缩优化,降低了存贮代价;最后,本发明采用基 于位置更新的交通流统计参数增量刷新方法,消除了交通流统计的延时误差,提高了交通 流统计的实时性。综合上述分析,与现有的基于Euclidean空间的数据采集方法相比(包括浮动车 法及大部分的移动对象数据库方法),本发明在降低通信代价的同时,提高了数据处理的精 度;而与基于交通网络的数据采集方法相比,本发明又不需要在移动端配备电子地图,降低 了系统的成本并提高了系统的灵活性。本发明可以应用到移动对象数据采集设备上,持续 跟踪移动对象的路网匹配位置,也可以应用到后端服务器上,保存和查询移动对象的轨迹 数据并进行交通流参数的实时统计与查询。


图1是交通网络及其中的原子路段与交叉路口的示意图。图2中,(a)是交叉路口中的交通流转接关系示意图,(b)是对应的连接矩阵。图3中,(a)是移动对象的行驶过程示意图,(b)是对应的移动对象路网匹配轨迹。图4中,(a)是移动对象及交通网络的数据库表,(b)是实际的交通网络及移动对 象示意图,(c)是当前交通状况统计树结构CTSA-Tree的结构图,(d)是统计源数据列表结 构SASD-Array的结构图,(e)是交通网络邻接表结构TNA_Table的结构图。图5是本发明中移动对象端进行移动矢量采集的流程图。图6是本发明中数据库服务器端对所接收的移动对象移动矢量序列的处理流程 图。图7是多个匹配值中正确匹配值的确定方法示意图,其中(a)表示通过前驱推断 的情形,(b)表示通过后继推断的情形。图8是相邻两个移动矢量之间路径的计算方法示意图,其中实心圆圈表示数据采 集点,短箭头表示行驶方向。图9是非关键采集点的丢弃方法示意图。
具体实施例方式下面结合附图,通过实例进一步说明本发明,但不以任何方式限制本发明的范围。
移动对象(设其标识为moid)首先按照图5所示的流程,通过GPS采集基于 Euclidean空间的移动矢量序列mvArray,并将之发送给服务器。设移动对象的行驶过程如 图8所示,则通过采集可以得到如下移动矢量序列mvArray = ((tl, (xl, yl), vl, dl),(t2,(x2,y2),v2,d2),(t3,(x3,y3),v3,d3),(t4,(x4,y4),v4,d4),(t5, (x5, y5), v5, d5),(t6,(x6,y6),v6,d6),(t7, (x7, y7), v7, d7),(t8,(x8,y8),v8,d8))数据库服务器接收到移动对象moid发送的上述移动矢量序列之后,将根据图6所 示的流程图进行如下具体操作(设服务器中该移动对象原来的数据库轨迹NMTr为空。(DmvArray中单个移动矢量的路网匹配。服务器接收到来自移动对象的移动矢量 序列mvArray之后,将对mvArray中的每个移动矢量进行路网匹配,将之匹配成路网匹配的 移动矢量序列nmvArray。根据匹配结果,我们可以得到如下的路网匹配的移动矢量序列nmvArray = ((tl, (xl, yl), vl, dl, {( "arsl+,,,posl)}),(t2, (x2, y2), v2, d2, {( "arsl+,,,pos2)}),(t3,(x3, y3), v3, d3, { “jl,,}),(t4,(x4, y4), v4, d4, { "jl"}),(t5, (x5, y5), v5, d5, {( "ars3+,,,pos3)}),(t6, (x6, y6), v6, d6, {( “ars4+,,,pos4)}),{tl, (x7, y7), v7, d7, {( “ars5+,,,pos5)}),(t8, (x8, y8), v8, d8, {( "ars7+,,,pos6)}))(2)nmvArray与移动对象轨迹NMTr的合并及矢量匹配值的校准。由于NMTr为空, 且nmvArray中所有矢量均只有唯一匹配值,因此合并和校准之后得到匪Tr= ((tl, (xl, yl), vl, dl, {( "arsl+", posl)}),(t2, (x2, y2), v2, d2, {( "arsl+,,,pos2)}),(t3,(x3, y3), v3, d3, { "jl"}),(t4,(x4, y4), v4, d4, { "jl"}),(t5, (x5, y5), v5, d5, {( "ars3+,,,pos3)}),(t6, (x6, y6), v6, d6, {( "ars4+,,,pos4)}),{tl, (x7, y7), v7, d7, {( "ars5+,,,pos5)}),(t8, (x8, y8), v8, d8, {( "ars7+,,,pos6)}))(3)矢量序列的路径匹配。服务器对NMTr中没有进行路网匹配处理的移动矢量进 行路径匹配,找到相邻两个矢量之间的网络路径,从而得到如下新的路网匹配轨迹匪Tr= ((tl, (xl, yl),vl, dl, {( "arsl+,,,posl)}),NULL,(t2, (x2, y2), v2, d2, {( "arsl+,,,pos2)}),
14
NULL,(t3,(x3, y3), v3, d3, { “jl”}),NULL,(t4,(x4, y4), v4, d4, { "jl"}),NULL,(t5, (x5, y5), v5, d5, {( "ars3+,,,pos3)}),NULL,(t6, (x6, y6), v6, d6, {( “ars4+,,,pos4)}),NULL,(t7, (x7, y7), v7, d7, {( “ars5+”,pos5)}),(“ars6_”),(t8, (x8, y8), v8, d8, {( "ars7+”,pos6)}))从上述NMTr各矢量及矢量间路径相继提取出原子路段交通流序列并去掉重 复,可以得到移动对象的行驶路径为(“arsl+”,“ars3+”,“ars4+”,“ars5+”,“ars6-”, “ars7+,,)。(4)路网匹配轨迹的压缩优化,丢弃其中的非关键的数据采集点,仅仅保留关键的 数据采集点。设移动对象在到达“ars4+”之前勻速运动,之后又以另一速度勻速运动,则经 过压缩优化后得到如下新的轨迹匪Tr= ((tl, (xl, yl),vl, dl, {( "arsl+,,,posl)}),(“ars3+,,),(t6, (x6, y6), v6, d6, {( "ars4+,,,pos4)}),( “ars5+”,“ars6-”),(t8, (x8, y8), v8, d8, {( “ars7+”,pos6)}))4.服务器将压缩优化后的移动对象轨迹NMTr存入数据库中,替换数据库中移 动对象moid原来的轨迹数据值,以供用户进行查询。同时,根据NMTr对CTSA-Tree和 SASD-Array进行更新,并对NMTr中新匹配出的移动对象行驶路径所涉及的所有原子路 段进行交通流参数的检查与刷新。在上述处理中,NMTr新匹配出的移动对象行驶路径为 (“arsl+,,,“ars3+,,,“ars4+,,,“ars5+,,,“ars6-,,,"ars7+"),所以要对这些原子路段的交 通流参数进行检查和重新计算,以得到新的交通参数,供用户进行交通状况查询使用。以上通过实例对本发明进行了详细的描述,本领域的技术人员应当理解,在不超 出本发明的精神和实质的范围内,对本发明做出一定的修改和变动,比如移动矢量的采集 及发送过程可以用定距离触发来代替定时间触发,又如用其他统计方法代替本发明所用的 公式来计算交通参数,仍然可以实现本发明的目的。
1权利要求
一种移动对象路网匹配轨迹的采集方法,该方法包括下列步骤a)移动对象采集mv序列,并成批地将其发送至服务器,mv表示移动矢量;b)服务器对mv序列中的各个mv进行路网匹配,得到nmv序列,nmv表示路网匹配的移动矢量;c)服务器对nmv序列中的各个nmv进行路径匹配,得到路网匹配轨迹并储存。
2.如权利要求1所述的移动对象路网匹配轨迹的采集方法,其特征在于,在步骤b)和 步骤c)之间还包括服务器对nmv序列中的各个nmv进行匹配值校准。
3.如权利要求1所述的移动对象路网匹配轨迹的采集方法,其特征在于,在步骤c)之 后还包括对路网匹配轨迹进行压缩优化。
4.如权利要求1所述的移动对象路网匹配轨迹的采集方法,其特征在于,在步骤a)中, 移动对象按设定的周期采集mv,并按设定的周期将其发送至服务器。
5.如权利要求4所述的移动对象路网匹配轨迹的采集方法,其特征在于,在步骤a)中, 移动对象还在速度或方向变化超过阀值时采集mv。
6.如权利要求1所述的移动对象路网匹配轨迹的采集方法,其特征在于,mv包括t, loc, ν和d ;其中t表示mv的采集时刻;loc,ν和d分别表示移动对象在采集时刻的位置, 速度和方向。
7.如权利要求6所述的移动对象路网匹配轨迹的采集方法,其特征在于,nmv包括t, loc, ν, d和nmatch ;其中nmatch表示移动矢量的路网匹配值。
8.如权利要求7所述的移动对象路网匹配轨迹的采集方法,其特征在于,在步骤b)中,i.当Ioc匹配至交叉路口时,将nmatch设定为该交叉路口的标识;ii.当Ioc匹配至一个原子路段时,将nmatch设定为数据组(arstf,pos),其中arstf 和pos分别表示移动对象所在的原子路段交通流和移动对象在原子路段中所处的位置;iii.当Ioc匹配至两个以上原子路段时,根据排除方向和ν的方向不同的原子路段,并 将nmatch设定为一个或多个数据组(arstf,pos);iv.当Ioc无法匹配至原子路段或交叉路口时,将nmatch设定为空值。
9.如权利要求8所述的移动对象路网匹配轨迹的采集方法,其特征在于,在步骤b)和 步骤c)之间还包括服务器按照下列方法对nmv序列中的Iimvi进行匹配值校准i.若nmVi的某个匹配值与nmvH的原子路段交通流arstf^或其邻接可达原子路段 交通流之一相同,则以该匹配值作为nmVi的匹配值;其中MRV1是Iimvi的前驱; .若nmVi中的某个匹配值与nmvk的原子路段交通流arstfk相同,或某个匹配值和 arstfk邻接可达,则以该匹配值作为Iimvi的匹配值;其中nmvk是Iimvi的具有唯一匹配值的 最靠近Iimvi的后继;iii.若Iimvi的具有唯一匹配值的前驱与nmvk均和Iimvi不处于相邻原子路段交 通流,则选择能使下式计算值最小的匹配值作为nmVi的匹配值netDistance (nmvj cand) +netDistance (cand, nmvk),胃中 cand ^ Hmatchi 中的
全文摘要
本发明公开了一种移动对象路网匹配轨迹的采集方法,属于时态空间数据库领域以及智能交通系统领域。本发明方法包括a)移动对象采集mv序列,并成批地将其发送至服务器,mv表示移动矢量;b)服务器对mv序列中的各个mv进行路网匹配,得到nmv序列,nmv表示路网匹配的移动矢量;c)服务器对nmv序列中的各个nmv进行路径匹配,得到路网匹配轨迹并储存。本发明可用于智能交通系统。
文档编号G08G1/00GK101866545SQ20101017405
公开日2010年10月20日 申请日期2010年5月11日 优先权日2010年5月11日
发明者丁治明 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1