基于手机信息的路段速度计算方法 【技术领域】
本发明属交通信息采集及处理领域,涉及一种利用手机信息计算路段平均速度的方法。
背景技术
交通通行数据的取得在现代交通管理和规划中日益发挥着重要的作用,不仅可为管理部门提供决策依据,而且可为公众提供出行服务。目前道路通行速度、流量的采集主要通过在道路上安装交通检测器,如感应线圈、视频检测器获得,这种方式需要在道路上安装检测器设备,不仅需要购买专门的设备,而且需要在道路上进行施工、架设辅助设施,耗费人力物力。而且由于受到费用和道路的限制,不可能在所有道路上实施,因此覆盖率较低。随着城市交通建设的迅速发展,交通需求变化加快,对交通数据采集与分析工作的要求不断提高,传统的交通采集分析手段已无法满足现状需求。结合新技术手段的交通需求分析与规划决策支持系统必将成为城市智能交通系统的一个重要发展领域。
手机目前已经成为广泛使用的移动通信工具,当手机移动或对外通信时,会和附近的Cell(基站)进行通信,Cell会记录通信手机的编号、通信时间、通信类型和Cell编号(简称CI)传回后台数据管理中心。由于手机位置信息能够通过Cell表示手机用户的位置和时间信息,经特别处理,在用户移动时可以根据用户在所属路段不同位置和时间判断用户的移动速度,结合同一路段所有用户的移动速度可以计算某一时间段该路段的平均通行速度。相比其它交通采集系统来说,手机信息具有信息量多、覆盖范围大等特点。
为了克服检测器设备采样率低,需要安装、架设和维护等的缺点,本发明提供了一种通过对手机移动信息的快速准确的处理及计算得到道路通行平均速度的方法。该法可有效解决目前存在的手机信息数据量巨大,导致处理过程中耗费较多的时间和资源的问题,以及存在异常数据及无用数据、且信息上传时间不连续,计算精度难以保障的难点。
【发明内容】
手机上传数据信息包括,用户编号、事件类型、所处Cell编号、所处Cell经纬度坐标、上传时间。
事件类型对交通出行判断影响很大,下面是事件类型的定义。
事件类 型 说明 1 周期性位置更新:无其它事件上传时在1-2小时内上报一 次位置信息
事件类 型 说明 2 关机 3 开机 4 正常位置更新:通话时,手机每变化一次Cell,上报一 次位置信息 5 寻呼响应(被叫) 6 发短信 7 电话主叫 8 短信接收
本发明的技术思路特征为:
出行者在某一时间内会经过或停留在不同的空间位置,本发明中这些位置由上传手机信息时的用户所处的Cell编号来反映,本发明将其称为位置点。在每个位置点上传的信息统称为位置点数据(简称数据点)。
由于手机数据量很大,全部数据读入系统会大大地耗费系统存储空间,增加计算量,降低计算效率。另外手机通过Cell定位与实际定位有较大偏差,须与用户所经道路进行准确的匹配校准。本发明在对手机信息读取和按用户分类后,以用户为单位有针对性地对手机信息进行筛选及处理,在保证计算准确的同时又提高处理效率。
我们采用以下方法有选择性地读取手机数据,并进行定位校准。
1)大量的数据不是在移动状态产生的,不能用于路段速度计算。因此首先需要过滤非移动点,提取出移动点。
对于任一用户,某一时间内经过或停留的位置点被划分为两类,移动点及非移动点来描述用户在其上所处的状态。移动点为出行者空间移动过程中短暂经过的点,也称为经过点,在表中通信类型为4。非移动点是指出行者逗留时间较长的点,在表中为通信类型除4以外的其它点。而道路通行速度和流量与手机经过点密切相关,而其它通信类型的手机数据与速度和流量计算无关,予以去除。
2)通过Cell与路段匹配,手机数据点通过Cell与路段匹配,避免了每个数据点与路段的直接匹配造成的巨大计算量,提高了计算效率。
计算路段速度时,只有路段附近的数据点才能用于路段速度的计算。首先通过Cell与路段匹配,得到所有与路段有隶属关系的(邻近的)Cell点,读取数据时,只读取位置和与路段有隶属关系的Cell编号相同的手机数据点,去除其他的无关数据;
3)通过邻近原则及方向一致原则提高手机数据与路段的准确性。由于Cell分布于路段周围,与路段的所属关系存在不唯一性,如交叉口附近。Cell可以同时属于多条路段。因此手机数据点通过Cell与路段直接匹配难以得到唯一的对应关系。本发明通过两级匹配进行手机用户移动点与路段的准确匹配。第一级,将每个手机数据点通过其唯一对应的Cell匹配到邻近多条路段。第二级,通过同一用户连续两个数据点的移动方向与所属各条路段的方向比较,确定各个数据点所属路段。
以下为本发明的技术思路特征及具体方案的详细说明。
步骤一、从数据库中读取路段基本信息和基站Cell数据信息:路段基本信息包括路段位置坐标、路段长度、路段编号;Cell数据包括Cell编号、位置坐标。
步骤二、Cell和路段进行地图匹配:设定投影距离的最大允许值为100~150米。计算Cell点到各个路段的投影距离。投影距离是该Cell点位置坐标到相邻各路段间的直线距离。如果投影距离小于该路段地投影距离的最大允许值则判定这个Cell可能属于该路段。记录匹配成功的Cell编号及所属可能路段的编号。这次匹配仅仅是初步匹配,所以Cell可能所属的路段可以有多条。
步骤三、从数据库中读取2分钟~5分钟的手机数据并作筛选:手机数据中每个移动点对应于一个Cell,本步骤中只读取移动点所对应Cell编号与与路段匹配成功的Cell编号一致的移动点数据,读取数据内容包括用户编号、通信类型、Cell编号、通信时间。
步骤四、从步骤三中得到的手机数据中提取出用户编号,保证用户唯一。
步骤五、以用户为单位把步骤三中得到的手机数据整理归类:根据用户编号,将相同用户编号的数据整理归类,并以时间排序,得到每个用户在该时间段内的移动点数据。通信点数据从0开始编号。
步骤六、用户的移动点位置通过Cell与路段一次匹配:手机数据中每个移动点对应于一个Cell,由于Cell经过匹配建立了与路段的隶属关系,所以每个移动点也和路段形成了隶属关系。这个隶属关系并不是准确的隶属关系,准确的隶属关系需要在步骤七中进一步判断。
步骤七、用户的移动点与路段二次匹配:计算可能所属同一路段的连续的移动点的移动方向,通过所属道路方向和用户移动方向最后确定用户所在的路段,如果用户移动方向与各个所属路段方向差值的绝对值小于方向角最大允许值30~45度,则这两个连续数据点都属于该路段。
步骤八、按用户速度过滤非正常用户:各个路段上所有数据以用户为单位计算速度,用户总位移/用户总时间。将各个用户在该路段的速度排序,去除最大和最小部分各占15%-25%的用户的速度,保留中间速度的用户。
步骤九、路段平均速度计算:重新计算所有保留的用户位移总长度/位移总时间,得到路段这一时间段的平均速度。
本发明通过Cell与路段匹配,手机数据点通过Cell与路段匹配,避免了每个数据点与路段的直接匹配造成的巨大计算量,提高了计算效率。通过邻近原则及方向一致原则提高手机数据与路段的准确性。
【附图说明】
图1是本发明流程框图。
图2是Cell和路段分布示意图。
图3是部分Cell与路段匹配结果表图。
图4是Cell与路段匹配显示图。
图5是由数据库载入部分手机数据表图。
图6是处理后用户手机数据匹配示意图。
图7是路段216上用户通行速度排序表图。
【具体实施方式】
本方法的各步骤都可通过计算机编制程序,对数据进行处理实现。本发明流程框图见图1所示。图2为路段与Cell的分布图,图2中小圆圈为Cell,黑色路段为要进行速度计算的路段。
下面通过实例详细描述本发明具体实施过程。
具体执行步骤如下:
步骤一、从数据库中读取路段基本信息和Cell数据信息:路段基本信息包括路段位置坐标、路段长度、路段编号;Cell数据包括Cell编号、位置坐标。
由Cell的数据信息和路段的数据信息,可以画出如图2所示的Cell和路段的分布示意图。
步骤二、Cell和路段进行地图匹配:设定投影距离的最大允许值(一般可取100~150米)。计算Cell点到各个路段的投影距离。投影距离是该Cell点位置坐标到相邻各路段间的直线距离。如果投影距离小于该路段的投影距离的最大允许值则判定这个Cell可能属于该路段。记录匹配成功的Cell编号及所属可能路段的编号。这次匹配仅仅是初步匹配,所以Cell可能所属的路段可以有多条。
本示例设定投影距离的最大允许值为120米。由于每个Cell点的位置坐标和每条路段的起点和终点坐标都是已知的,根据点到直线距离公式,就可以计算出各个Cell点到每条路段的投影距离。将Cell点到路段投影距离与投影距离最大允许值进行比较,投影距离小于投影距离最大允许值的路段就是Cell点匹配成功的路段,即为Cell点所属的路段,记录所属路段的路段编号。图3是小部分Cell与路段匹配的结果表图,例如编号470438的Cell经过匹配,没有路段满足匹配条件,Cell不属于任何路段;和Cell 166762匹配成功的有四个路段:100,102,164,166;余下表示类似。图4是Cell与路段匹配显示图,图中小圆点为匹配成功的点,由图中可以看到,匹配成功的Cell均分布在路段附近,为路段上移动的手机用户可能与之发生通信的Cell。
步骤三、从数据库中读取某一时间段(2分钟~5分钟)的手机数据并作筛选:手机数据中每个移动点对应于一个Cell,本步骤中只读取移动点所对应Cell编号与与路段匹配成功的Cell编号一致的移动点数据,读取数据内容包括用户编号、通信类型、Cell编号、通信时间。
本示例设定时间段为5分钟。图5为由数据库载入部分手机数据表图,其中手机数据所属的Cell编号为匹配成功的Cell,因此可以说这些数据点已经通过Cell匹配到路段上了。
步骤四、从步骤三中得到的手机数据中提取出用户编号,保证用户唯一。
步骤五、以用户为单位把步骤四中得到的手机数据整理归类:根据用户编号,将相同用户编号的数据整理归类,并以时间排序,得到每个用户在该时间段内的移动点数据。通信点数据从0开始编号。
图6为处理后用户手机数据匹配示意图。按用户分类处理后用户″3699470639446039842″(加密后的用户手机编号)单位时间内位置点数据示意。该用户手机数据经整理后包括位置点编号、Cell编号、通信时间,如图6所示,点①为用户在单位时间段内第一个数据点,点②为第二个数据点,移动方向为从①到②。点①在Cell898871处,点②在Cell348019处。
步骤六、用户的移动点位置通过Cell与路段一次匹配:手机数据中每个移动点对应于一个Cell,由于Cell经过匹配建立了与路段的隶属关系,所以每个移动点也和路段形成了隶属关系。这个隶属关系并不是准确的隶属关系,准确的隶属关系需要在步骤七中进一步判断。
图6中手机数据点①和②所属路段编号和它们各自所在的Cell的所属路段编号是一致的,点①所在的Cell为898871,属于路段216和218,因此点①也属于路段216和218;点②所在的Cell348019属于路段216和218,点②也属于路段216和218。从而完成了用户移动点与路段的一次匹配。
步骤七、用户的移动点与路段二次匹配:计算可能所属同一路段的连续的移动点的移动方向,通过所属道路方向和用户移动方向最后确定用户所在的路段,如果用户移动方向与各个所属路段方向差值的绝对值小于方向角最大允许值(一般可设为30~45度),则这两个连续数据点都属于该路段。
本示例设定方向角偏差最大允许值为40度。由图6中①和②的位置坐标已知,所属路段216和218的起点终点坐标已知,可以计算出①到②的移动方向和路段216、218的道路方向,经过计算得到①到②的移动方向为181度,路段216方向为179度,路段218方向为359度。路段216方向和手机点移动方向之差的绝对值为2度,小于方向角偏差最大允许值,路段218与手机移动点之差远远大于偏差允许值。因此可知数据点①和数据点②属于路段216,移动点①和②与路段二次匹配完成。
步骤八、按用户速度过滤非正常用户:各个路段上所有数据以用户为单位计算速度,用户总位移/用户总时间。将各个用户在该路段的速度排序,去除最大和最小部分各占15%-25%的用户的速度,保留中间速度的用户。
图7是5分钟内27个用户在路段216上通行速度由小到大排序表。计算中为了更接近真实平均通行速度,我们去除表中若干最小速度和最大速度的用户。本示例中去除前20%和后%20的速度数据,保留中间的60%用户。表中序号1~6,及22~27部分为去除部分,其他为保留部分。
步骤九、路段平均速度计算:重新计算所有保留的用户位移总长度/位移总时间,得到路段这一时间段的平均速度。
将图7中保留速度的所有位移相加求总位移距离,将表中保留速度的所有时间相加求和,得到这些用户在路段216上总位移距离为8848.3163米和总花费的时间为1319秒,总距离/总时间得到路段的平均速度为24.15公里/小时。