基于gps数据生成od矩阵的方法及其交通仿真的方法

文档序号:6459368阅读:255来源:国知局

专利名称::基于gps数据生成od矩阵的方法及其交通仿真的方法
技术领域
:本发明属于交通仿真
技术领域
,特别涉及生成OD矩阵的方法及其交通仿真的方法。技术背景现代科技进步使得仿真技术已经成为改善各行业规划、设计和运营工作的重要工具。目前,无论是工业界还是科学与教育界都大量使用仿真工具,仿真己经成为各行业、各部门降低成本、保持技术优势的重要手段。交通仿真是研究运用现代计算机技术再现实际交通系统的特性、分析交通系统在各种设定条件下的可能行为,以寻求现实交通问题最优解的一种手段,也是评价各类运输设施运用设计方案效果的有效方法。随着智能交通系统(IntelligentTransportationSystem,ITS)在世界各国研究的广泛开展,国内交通界认识到了在我国开展ITS研究的重要性。作为ITS核心技术之一的交通仿真也受到了极大关注。目前,国内多所大学和科研单位都展开了实质性的研究工作。但大多数模型只是局限于单个交叉口的运行情况,不能反映出上中下游路段以及整个路网的动态状况。已有的仿真软件与模型都是局限于交通环境自身而言的,没有真正与GPS、GIS等与信息技术相关信息系统联系起来进行仿真研究。OD(ORIGINDESTINATION,出行的目的地)矩阵无论是在城市交通系统规划和设计上,还是在线城市交通控制中都有相当多的应用。根据其应用范围的不同所采用的OD矩阵估计方法也不同。一般来讲,采用静态估计方法得来的OD矩阵用于城市交通系统的规划和设计,而动态估计方法得来的OD矩阵则用于城市交通的在线控制。最早的静态OD矩阵估计方法是通过对已有的OD矩阵进行预测得来,或通过实际调查直接获取。但是通过预测得来的OD矩阵往往在实际应用中有较大偏差;而且由于交通出行的随机性及复杂性使得调査获取OD矩阵,无论是在时间上、资金上还是人力上往往令人难以接受。
发明内容本发明的目的主要针对上述现有技术的一些不足之处,提出一种通过分析海量全球定位系统(GPS)数据生成OD矩阵的方法,而后再将该OD矩阵应用到交通仿真车辆产生模型的方法。为实现上述目的,本发明采用如下技术方案一种基于GPS数据生成OD矩阵的方法,包括以下步骤-步骤ll)提供出租车GPS数据,该GPS数据由出租车GPS消息构成,每一出租车GPS消息包括车辆ID、经度、纬度、速度、车状态、角度、时间步骤12)读取所述出租车GPS数据,根据所述出租车GPS消息中的车状态变化寻找0D对;步骤13)在找到0D对后,记录在该O点至D点时段的GPS消息,生成0D矩阵。其中,所述车状态包括以O、1分别表示的空车和重车两种状态,同一车辆时间上相邻的两个GPS消息中车状态每出现一次"0空车"至"1重车"的变化为一个起始点0;时间上相邻的两个GPS消息中出现"1重车"至"0空车"的变化为一个终止点D,每个单独的0D对査找过程为对字段"车状态"变化的搜索,该字段"0-1-0"的变化所对应的坐标为一个OD对。其中,所述步骤12)中OD对的査找具体包括以下步骤A、从文件流获得下一个GPS消息对象,即GPSMessagem0=getNextGPSMessage0,函数getNextGPSMessage()的作用是从文件流获得一个GPS消息(GPSMessage)对,如果文件结束或错误,该函数将返回空(mill);B、判断该GPS消息是否为空,即m(^^ull如果是,则结束,否则,进入步骤C;C、判断该GPS消息中的"车状态(status)"是否为0,即m0.status==null如果否,则转步骤A,如果是,进入步骤D;D、从文件流获得下一个GPS消息对象,即GPSMessageml=getNextGPSMessage();E、判断该GPS消息是否为空,即!111==叫11如果是,则结束,否则,进入步骤F;F、判断该GPS消息中的"车状态(status)"是否为1,即ml.status:,ll如果否,则转步骤D,如果是,进入步骤G;G、从文件流获得下一个GPS消息对象,即GPSMessagem0=getNextGPSMessage();H、判断该GPS消息是否为空,即mO二mill如果是,则结束,否则,进入步骤I;I、判断该GPS消息中的"车状态(status)"是否为0,即m0.status==null如果否,则转步骤G,如果是,进入步骤J;J、记录OD对(ml.position,m0.position),转步骤A,ml.position为起始点0经纬度坐标,m0.position为终止点D经讳度坐标。本发明还提供一种应用GPS数据生成0D矩阵的交通仿真的方法,包括以下步骤步骤21)、应用上述基于GPS数据生成0D矩阵的方法生成的0D矩阵,输入某一时段静态0D,获得0D表;步骤22)、通过该0D表计算出单位时间内通过某一0D节点的车辆总数;步骤23)、确定车辆产生的时刻、目的地;步骤24)、随机选择车辆的类型;步骤25)、根据不同车辆类型按照指定的时间间隔产生车辆。其中,所述步骤24)具体包括以下步骤将车辆类型划分为大型车、中型车、小型车三类,每一类型的车在交通组成中占有一定比例,假设乂=0代表小型车,X4代表中型车,X4代表大型车,所占比例分别是P(5C-0〗IVP(X纖l)-P(X=2》=P2,并且P。+Px+P21。采用随机数产生器得到随机数U(0—i),判断u值以确定当前所产生的车辆是何种类型。其中,所述步骤23)中确定车辆产生的时刻具体包括以下步骤-将车辆进入仿真区域这个随机事件转化为进入仿真区域的车辆之间的间隔时间,以该间隔时间作为随机量仿真该随机事件,该间隔时间满足下列条件1)在不重叠的时间区间内车辆的产生是互相独立的;2)对充分小的St,在时间区间[t,t+St]内有一辆车产生的概率与t无关,而与区间长度St成正比;3)对充分小的St,在时间区间[t,t+St]内一条车道上有2辆或2辆以上车辆的产生概率极小。其中,所述步骤23)中确定车辆产生的目的地具体包括以下步骤假设指定出发地k的目的地数量为n个,且出发地k的出行总量为M辆,并将各个目的地记为i=Ul,I2,I3,……,In},根据OD矩阵分别记录出发地k到目的地i的出行频率,所述出行频率指到目的地i的OD出行量的比例,目的地的选取通过一个离散随机变量x来决定,车辆目的地的分配方法为为每辆从k点出发的车生成一个在区间[O,l]上均匀分布的随机函数r,对于任何一个r,如果F(Xh)=rw〈r〈=n=F(Xi),则取vi,相应的车辆出发目的地选为i,不断重复此过程直到所有车辆都被分配到目的地。本发明通过分析长时间的少量出租车的GPS数据来获得全局的OD矩阵,运行效率高。可实现并行处理海量GPS数据。并且以OD矩阵作为仿真的运行基础,能很好地反映实际交通运行状况。图1为0D对査找流程图;图2为基于GPS数据生成OD矩阵的方法流程示意图;图3为应用GPS数据生成0D矩阵的交通仿真的方法流程图。具体实施方式实施例一、基于GPS数据生成OD矩阵的方法本实施例中涉及的OD矩阵主要是依靠分析海量的出租车GPS数据得到的。具体包括以下步骤步骤ll)提供出租车GPS数据,该GPS数据由出租车GPS消息构成,每一出租车GPS消息包括车辆ID、经度、纬度、速度、车状态、角度、时间等信息;步骤12)读取所述出租车GPS数据,根据所述出租车GPS消息中的车状态变化寻找O点或D点;步骤13)在找到O点或D点后,记录在该O点至D点时段的GPS消息,生成0D矩阵。虽然出租车的GPS数据并不能完全反映实际的出行情况,但其可取之处在于1、出租车行驶的代表性。出租车行驶的代表性是指出租车在载客行驶时既反映了顾客的出行意愿又能体现出发点与目的点之间的最短行程。2、出租车行驶的随意性。出租车行驶的随意性是指某一辆出租车在足够长的时间间隔内其行迹能基本遍布整个城市。这能保证数据分布的合理性,不至于某些区域出行数据的严重失真。3、数据的海量。数据量则是0D矩阵可靠性的保证。可以通过数据时间轴上叠加来弥补出租车样本的不足。本实施例中的出租车GPS数据,其格式如下表l所示表l出租车GPS消息格式<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>在交通仿真中车辆产生以及车辆的路径选择都需要0D矩阵作为现实依据,因此0D矩阵必须作为前提条件在仿真系统运行之前得到。而本发明中所采用的方法是通过统计海量出租车GPS数据来获得分时段的OD矩阵。在每辆车的车状态中,时间上相邻的两个GPS消息中每出现一次"0空车"至"1重车"的变化即视为此处是一个起始点0;而时间上相邻的两个GPS消息中出现"1重车"至"0空车"的变化即认为是一个终止点D。每个单独的0D对査找过程可以简化为对字段"车状态"变化的搜索,即认为该字段"0-1-0"的变化所对应的坐标是一个OD对。图1显示了在单一文件中OD对査找的流程图。函数getNextGPSMessage()的作用是从文件流获得一个GPS消息(GPSMessage)对象,如果文件结束或错误,该函数将返回空(null)。最后得到的ml.position为起始点0经纬度坐标,mO.position为终止点D经纬度坐标。其具体过程描述如下A、从文件流获得下一个GPS消息对象,即GPSMessagemO=getNextGPSMessage();B、判断该GPS消息是否为空,即1110==叫11如果是,则结束。否则,进入步骤C;C、判断该GPS消息中的"车状态(status)"是否为0,即mO.status==null如果否,则转步骤A,如果是,进入步骤D;D、从文件流获得下一个GPS消息对象,即GPSMessageml=getNextGPSMessage();E、判断该GPS消息是否为空,即ml==null如果是,则结束。否则,进入步骤F;F、判断该GPS消息中的"车状态(status)"是否为1,即ml.status==null如果否,则转步骤D,如果是,进入步骤G;G、从文件流获得下一个GPS消息对象,即GPSMessagemO=getNextGPSMessage();H、判断该GPS消息是否为空,即1110==皿11如果是,则结束。否则,进入步骤I;I、判断该GPS消息中的"车状态(status)"是否为0,即mO.status==null如果否,则转步骤G,如果是,进入步骤J;J、记录OD对(ml.position,mO.position)。转步骤A。实施例二、应用GPS数据生成OD矩阵的交通仿真的方法一种应用GPS数据生成OD矩阵的交通仿真的方法,包括以下步骤步骤21)、应用上述实施例生成OD矩阵,输入某一时段静态OD,获得OD表;步骤22)、通过该OD表计算出单位时间内通过某一OD节点的车辆总数;步骤23)、确定车辆产生的时刻、目的地;步骤24)、随机选择车辆的类型;步骤25)、根据不同车辆类型按照指定的时间间隔产生车辆。其中,车辆产生的时刻、目的地、车辆的类型等是车辆产生模型中的一部分。车辆产生模型是微观仿真的一个关键性环节,是整个仿真过程的起点。车辆产生模型用于仿真车辆的产生,包括在一定时间间隔内到达的车辆数,每辆车的目的地、车辆类型、车辆速度、车辆加速度等一系列车辆参数。由于交通现象具有很强的随机性,车辆产生部分应充分考虑到车流的随机性。主要表现在-1、车辆到达的时刻是随机的,即某一时间段到达车辆数是随机的;2、车辆目的地是随机的,因此到达车辆在下一路口的流向是随机的;3、到达车辆的车型、车速和加速度是随机的。车辆模型的产生包括一、确定车辆类型车辆类型在本实施例中被划分为大型车、中型车、小型车三类,每一类型的车在交通组成中占有一定比例,假设XW代表小型车,X4代表中型车,X二2代表大型车,所占比例分别是障=0〗=^,P(X=i〗=f\,P《I=2》=P2,并且P。+Pt+P:ai。先用随机数产生器得到随机数lf穆-i),判断u值以确定当前所产生的车辆是何种类型。二、确定出发时间车辆进入仿真区域是个随机事件,因此,可以将其转化为进入仿真区域的车辆之间的间隔时间,即以该间隔时间作为随机量仿真该随机事件。根据车辆进入仿真区域的特点,应满足下列条件1)在不重叠的时间区间内车辆的产生是互相独立的;2)对充分小的St,在时间区间[t,t+St]内有邻车产生的概率与t无关,而与区间长度St成正比;3)对充分小的St,在时间区间[t,t+St]内一条车道上有2辆或2辆以上车辆的产生概率极小。三、选择目的地车辆由起始节点出发,不同的车辆其目的地不同,在车辆出发时间确定后,其目的地需要根据当前时间间隔内其()D节点与其他各0D节点间的0D出行量比例来随机确定,通过一个随机性的分散来确定车辆目的地的随机分配。以下以一具体实例来说明上述过程。本实例是交通信息服务网格系统中的交通仿真服务。在本实例中,通过分析2000辆出租车10个月间的GPS数据以获取整个上海市的分时段OD矩阵。由于其数据量比较大,因此在实现中可以按照车辆类型划分为多组并生成单独的分时段OD矩阵,然后按照矩阵相加的运算规则得到最终的分时段OD矩阵。以下通过具体的例子来说明车辆目的地随机分配方案。假设指定出发地k的目的地数量为6个,且出发地k的出行总量为IOO辆,并将各个目的地记为i=U,2,3,4,5,6},同时分别记下相应的出行频率,到目的地i的OD出行量的比例被认为是出发地k到目的地i的出行频率。目的地的选取可有一个离散随机变量x来决定,表2的第二列给出出发地k到目的地i的出行量,第三列给出相应的出行频率,第四列给出经验性的概率分布函数F(x)。车辆目的地的具体分配方法如下为每辆从k点出发的车生成一个在区间[O,l]上均匀分布的随机函数r,对于任何一个r,如果F(Xh)=rw〈r〈=n=F(Xi),则取x=i,相应的车辆出发目的地选为i,此过程将不断重复直到所有车辆都被分配到目的地。表2OD出行量输入和概率分布表<table>tableseeoriginaldocumentpage10</column></row><table>为了縮短在线运算时间,提高系统的运行效率,可以为每个OD点建立一个类似于表3的査询表,这样,在车辆产生后,只要根据随机数r的大小就能很快从表中获得车辆的目的地,如当取随机数ri.7时,由于FOO〈r〈F(x6),则选择1=6为目的地。表3目的地查询表<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>权利要求1.一种基于GPS数据生成OD矩阵的方法,其特征在于包括以下步骤步骤11)提供出租车GPS数据,该GPS数据由出租车GPS消息构成,每一出租车GPS消息包括车辆ID、经度、纬度、速度、车状态、角度、时间;步骤12)读取所述出租车GPS数据,根据所述出租车GPS消息中的车状态变化寻找OD对;步骤13)在找到OD对后,记录在该O点至D点时段的GPS消息,生成OD矩阵。2、根据权利要求1所述的基于GPS数据生成0D矩阵的方法,其特征在于所述车状态包括以0、1分别表示的空车和重车两种状态,同一车辆时间上相邻的两个GPS消息中车状态每出现一次"0空车"至"1重车"的变化为一个起始点0;时间上相邻的两个GPS消息中出现"1重车"至"0空车"的变化为一个终止点D,每个单独的0D对査找过程为对字段"车状态"变化的搜索,该字段"0-1-0"的变化所对应的坐标为一个OD对。3、根据权利要求2所述的基于GPS数据生成0D矩阵的方法,其特征在于所述步骤12)中0D对的查找具体包括以下步骤A、从文件流获得下一个GPS消息对象,即GPSMessagem0=getNextGPSMessage(),函数getNextGPSMessage()的作用是从文件流获得一个GPS消息(GPSMessage)对,如果文件结束或错误,该函数将返回空(null);B、判断该GPS消息是否为空,即m(^iull如果是,则结束,否则,进入步骤C;C、判断该GPS消息中的"车状态(status)"是否为0,即m0.status==null如果否,则转步骤A,如果是,进入步骤D;D、从文件流获得下一个GPS消息对象,即GPSMessageml=getNextGPSMessage();E、判断该GPS消息是否为空,即1111==加11如果是,则结束,否则,进入步骤F;F、判断该GPS消息中的"车状态(status)"是否为1,即ml.status==null如果否,则转步骤D,如果是,进入步骤G;G、从文件流获得下一个GPS消息对象,即GPSMessagera0=getNextGPSMessage();H、判断该GPS消息是否为空,即1110==加11如果是,则结束,否则,进入步骤I;I、判断该GPS消息中的"车状态(status)"是否为0,即mO.status==null如果否,则转步骤G,如果是,进入步骤J;J、记录OD对(ml.position,m0.position),转步骤A,ml.position为起始点0经玮度坐标,mO.position为终止点D经纬度坐标。4、一种应用GPS数据生成OD矩阵的交通仿真的方法,其特征在于包括以下步骤步骤21)、应用权利要求1至3中任一所述基于GPS数据生成0D矩阵的方法生成的0D矩阵,输入某一时段静态OD,获得0D表;步骤22)、通过该0D表计算出单位时间内通过某一0D节点的车辆总数;步骤23)、确定车辆产生的时刻、目的地;步骤24)、随机选择车辆的类型;步骤25)、根据不同车辆类型按照指定的时间间隔产生车辆。5、根据权利要求4所述的应用GPS数据生成0D矩阵的交通仿真的方法,其特征在于-所述步骤24)具体包括以下步骤将车辆类型划分为大型车、中型车、小型车三类,每一类型的车在交通组成中占有一定比例,假设X^代表小型车,X4代表中型车,X二2代表大型车,所占比例分别是P(X-(J)-P。,P0C-1)=pa,p(x-2)=g,并且%+pt+p2=i。采用随机数产生器得到随机数u《0-复),判断u值以确定当前所产生的车辆是何种类型。6、根据权利要求4所述的应用GPS数据生成OD矩阵的交通仿真的方法,其特征在于所述步骤23)中确定车辆产生的时刻具体包括以下步骤将车辆进入仿真区域这个随机事件转化为进入仿真区域的车辆之间的间隔时间,以该间隔时间作为随机量仿真该随机事件,该间隔时间满足下列条件1)在不重叠的时间区间内车辆的产生是互相独立的;2)对充分小的St,在时间区间[t,t+St]内有一辆车产生的概率与t无关,而与区间长度5t成正比;3)对充分小的St,在时间区间[t,t+St]内一条车道上有2辆或2辆以上车辆的产生概率极小。7、根据权利要求4所述的应用GPS数据生成OD矩阵的交通仿真的方法,其特征在于-所述步骤23)中确定车辆产生的目的地具体包括以下步骤假设指定出发地k的目的地数量为n个,且出发地k的出行总量为M辆,并将各个目的地记为iHll,I2,I3'……,In},根据OD矩阵分别记录出发地k到目的地i的出行频率,所述出行频率指到目的地i的OD出行量的比例,目的地的选取通过一个离散随机变量x来决定,车辆目的地的分配方法为为每辆从k点出发的车生成一个在区间[O,l]上均匀分布的随机函数r,对于任何一个r,如果F(Xi-,)=r,-,〈r<=r;=F(x》,则取x^,相应的车辆出发目的地选为i,不断重复此过程直到所有车辆都被分配到目的地。全文摘要一种基于GPS数据生成OD矩阵的方法及其交通仿真的方法,包括提供出租车GPS数据,该GPS数据由出租车GPS消息构成,每一出租车GPS消息包括车辆ID、经度、纬度、速度、车状态、角度、时间;根据所述出租车GPS消息中的车状态变化寻找OD对,生成OD矩阵。一种应用GPS数据生成OD矩阵的交通仿真的方法,包括应用上述OD矩阵,输入某一时段静态OD,获得OD表;通过该OD表计算出单位时间内通过某一OD节点的车辆总数;确定车辆产生的时刻、目的地、车辆的类型;根据不同车辆类型按照指定的时间间隔产生车辆。本发明通过分析长时间的少量出租车的GPS数据来获得全局的OD矩阵,运行效率高。并且以OD矩阵作为仿真的运行基础,能很好地反映实际交通运行状况。文档编号G06F17/50GK101295326SQ20081003836公开日2008年10月29日申请日期2008年5月30日优先权日2008年5月30日发明者周旭华,钰方,曾国荪,苗夺谦,蒋昌俊,闫春钢,陈闳中申请人:同济大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1