基于深度优先遍历的可达路径的查找方法与装置的制造方法_2

文档序号:9842154阅读:来源:国知局
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。 本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实 施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实 施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一 些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
[0035] 结合图1所示,根据本发明的某些实施例,本发明提出的基于深度优先遍历的可达 路径的查找方法,包括:
[0036] 步骤1、基于电子警察过车数据获取每个车辆的大概轨迹数据;
[0037] 步骤2、依据步骤1所得到的每个车辆的大概轨迹数据,采用深度优先遍历算法进 行所有可能路径的查找。
[0038]前述的电子警察过车数据包括:路段编号、检测时间、车牌号、车辆类型、车牌颜 色、车速以及检测设备ID,每个车辆的大概轨迹数据包括:车牌号、起点交叉口以及起点时 间、终点交叉口以及终点时间、所有途经路口以及途经路口时间,其中所述的途径路口时间 与路口--对应。
[0039] 作为实例,这样的电子警察过车数据以及最后输出的数据,将在下述以图表的方 式示例性地进行说明。
[0040] 在一些例子中,结合图2所示,前述步骤1的实现具体包括:
[0041] 步骤1-1、获取某一天的所有电子警察过车数据,并将所有的数据按车牌号分类, 剔除车牌号='~'的这一类的所有数据,其中,这些电子警察过车数据包括:路段编号、检 测时间、车牌号、车辆类型、车牌颜色、车速以及检测设备ID;
[0042] 步骤1-2、对剔除后的其余类数据,每一类数据按前述检测时间由小到大排序; [0043]步骤1-3、对某一类排序后的数据进行处理,假设共有η条数据,则求出相邻两个检 测时间ti和ti+l的差 Δ ti = ti+l_ti, i = l,2,…,η_1;
[0044]步骤1-4、找到大于设定的时间阈值Tpre3的所有tk+1,k 2 0,并且找到所有对应的第k 条数据和第k+1条数据;假设一共有m条数据,m 20,将该类的第一条数据和最后一条数据加 入,并去除重复数据后,对余下数据按前述检测时间排序后,将第一条和第二条数据作为一 组,第三条和第四条数据作为一组,依次两两一组,若最后多余一条数据,则删除该条数据;
[0045]步骤1-5、对步骤1-4中两两一组的数据中的某一组数据,将车牌号存在中间数据 的车牌中,将检测时间早的数据的检测时间保存在中间数据的起点时间中,并由该条数据 的路段ID,从MD_SEGMENT表中查到该路段ID的下游路口 ID,保存在中间数据的起点交叉口; 将检测时间晚的数据的检测时间保存在中间数据的终点时间中,并由该条数据的路段ID, 从MD_SEGMENT表中查到该路段ID的下游路口 ID,保存在中间数据的终点交叉口;找到该类 中检测时间属于起点时间到终点时间的所有数据,由每条数据的路段ID,从MD_SEGMENT表 中查到该路段ID的下游路口 ID,将这些下游路口 ID和起点路口,终点路口按每条数据的检 测时间先后,作为一个数组存在途经路口字段;其中,前述的MD_SEGMENT表为数字路网信息 存储表,该表中记录了路段ID以及对应的道路上游路口与下游路口信息;
[0046] 步骤1-6、将步骤1-4得到的每一组分组数据都按照步骤5处理,所有组数据处理完 毕;
[0047] 步骤1-7、对经步骤1-2剔除数据后的所有类的数据,按步骤1-3-步骤1-6处理,最 后得到并输出每个车辆的大概轨迹数据。
[0048] 在一些可选的例子中,前述步骤4更加包括以下步骤:
[0049] 预先设定前述的时间阈值Tpre。
[0050] 优选地,前述步骤4中的时间阈值Tpre设定为3600s。
[0051 ]在一些例子中,前述步骤1-1中的电子警察过车数据,每秒钟都有更新数据,这些 数据来源于部署在道路的各个路段的电子警察设备,例如高清摄像头、测速设备等。在一些 可选的例子中,这些过车数据包括下表的内容(含存储格式)。
[0052]
[0053]结合前述步骤的处理,步骤1-7输出的每个车辆的大概轨迹数据包括:车牌号、起 点交叉口以及起点时间、终点交叉口以及终点时间、所有途经路口以及途经路口时间(与途 径的路口--对应)。
[0054]在一些例子中,这些输出的大概轨迹数据包括下表的内容(含存储格式)。
[0055]
[0056]
[0057] 可见,在只有电子警察数据而没有GPS数据的情况下,利用前述实施例的算法可以 直接跟踪车辆的行驶轨迹,实现精确的对每个车辆进行轨迹跟踪。
[0058] 结合图1所示,接下来将结合前述的每个车辆的大概轨迹数据以及深度优先遍历 算法进行可达路径的查找。
[0059]图的深度优先遍历递归是指:
[0060] 1、假设初始状态是图的所有顶点均没有被访问,则从图的某个点v出发,访问此顶 点,然后依次从v的未被访问的邻接点出发深度优先遍历图,直到所有与v有通路的顶点都 被访问到。
[0061 ] 2、若此时图中还有未被访问的顶点,则选择该未被访问的顶点为起点,重复上述1 中步骤,直到图中所有的顶点均被访问到。
[0062]深度优先搜索过程是指:
[0063] 设X是当前被访问顶点,在对X做过访问标记后,选择一条从X出发的未检测过的边 (X,y)。若发现顶点y已访问过,贝ij重新选择另一条从X出发的未检测过的边,否则沿边(X,y) 到达未曾访问过的y,对y访问并将其标记为已访问过;然后从y开始搜索,直到搜索完从y出 发的所有路径,即访问完所有从y出发可达的顶点之后,才回溯到顶点X,并且再选择一条从 X出发的未检测过的边。
[0064] 上述过程直至从X出发的所有边都已检测过为止。此时,若X不是源点,则回溯到在 X之前被访问过的顶点;否则图中所有和源点有路径相通的顶点(即从源点可达的所有顶 点)都已被访问过,若图G是连通图,则遍历过程结束,否则继续选择一个尚未被访问的顶点 作为新源点,进行新的搜索过程。
[0065] 结合图3所示,前述深度优先搜索的过程包括:
[0066] 1、首先访问A点,将其标为已访问,接着从其未被访问的邻接点C出发继续搜索。
[0067] 2、访问C点并将其标记为已访问。依次类推,继续访问顶点B,G,F,D。
[0068] 3、访问D后,由于D的所有邻接点均已被访问,因此回退到上一个访问点F,检测其 有无未被访问的邻接点。若有继续深度搜索;若没有,继续会退到F的上一个访问点G。
[0069] 4、由于F还有未被访问邻接点E,所以继续访问E,然后依次回退到F,G,B,C,A。直到 访问结束。
[0070] 5、得到深度优先遍历顺序为:A,C,B,G,F,D,E。
[0071] 本例中,在以下内容所采用的基于图的深度优先遍历算法的路径遍历包括:
[0072] 使用邻接矩阵表示无向图,如果两个顶点之间有边,对应的邻接矩阵相应位置的 值为1,否则为〇。设置有一个变量partialPath存储当前这一层的已经遍历的点构成的路 径。当par
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1