发明内容
本发明提供一种非直接相邻应答器的查找及距离更新方法及系统,能正确识别出所有线路分支及对应的应答器,计算相邻应答器距离并更新,提高了效率及正确率。
根据上述目的,本发明提供了一种非直接相邻应答器的查找方法,所述方法包括:
S1,设置起始位置;
S2,从起始位置沿设定的方向进行查找;
S3,当遇到道岔时,判断当前线路是否是汇合线路,若是,则进行步骤S4,若否,则结束查找;
S4,沿着与所述道岔关联的正线线路方向查找应答器;
S5,当在所述正线线路查找到应答器后,退回到所述道岔,执行步骤S6,若在所述正线方向没有找到应答器时,返回到步骤S3;
S6,沿着所述道岔的侧线方向查找应答器,若在所述侧线方向找到应答器,则执行步骤S7,若没有找到应答器,则返回步骤S3;
S7,返回到与所述起始位置最接近的道岔,判断与所述起始位置最接近的道岔是否有侧线未查找,若有,则执行步骤S6,若没有,则结束。
其中,所述起始位置为查找非直接相邻应答器的当前应答器。
根据本发明的另一个目的,提供一种非直接相邻应答器的距离更新方法,所述方法包括:
S10,设置当前应答器;
S20,从当前应答器开始查找非直接相邻应答器;
S30,根据查找路径累加距离,当搜索到非直接相邻应答器后,当前的累加值即为查找到的应答器到所述当前应答器的距离;
S40,当返回到道岔时,在当前距离上递减直到所述道岔的距离,继续查找下一个应答器,并累加距离;
S50,重复进行布置S30和S40,直到所有的非直接相邻应答器查找完成。
其中,所述步骤S2中查找所述非直接相邻应答器时,在道岔处先查找所述正线的应答器,所述正线应答器查找完成后,然后查找所述侧线的应答器。
根据本发明的又一个方面,提供一种非直接相邻应答器的距离更新系统,所述系统包括:
输入单元,用于设置起始位置;
搜索单元,用于搜索所述当前应答器的非直接相邻应答器;
计算单元,用于计算散射当前应答器到所述非直接相邻应答器的距离。
本发明所述的非直接相邻应答器的查找及距离更新方法及系统,利用道岔定位、反位及道岔区段中正路、侧线、汇合Link属性,以及先正线后侧线的方法完成线路遍历,能正确识别出所有线路分支及对应的应答器,保证了数据的完整性和正确性;同时,利用压栈、退栈及设备距离累加求和,实现非直接相邻应答器的距离的计算并更新,提高了效率和正确率。本发明可以广泛地应用于地铁轨道交通以及铁路系统中复杂道岔的遍历,可以准确无遗漏地查找应答器,能够解决依靠枚举等算法来实现查找应答器的缺陷,应用前景广泛。
具体实施方式
下面将结合附图对本发明的实施例进行详细描述。
地铁CBTC系统中的应答器的位置关系分为直接相邻和非直接相邻,直接相邻是当前应答器只存在唯一的相邻应答器,即两个应答器之间不存在道岔;当地铁线路间存在道岔,会出现线路分支,在不同分支中的相应应答器称为非直接相邻应答器。
本发明提供一种非直接相邻应答器的查找及距离更新方法及系统。
图1示出了本发明的非直接相邻应答器的查找方法的流程图。
如图1所示,本发明的实施例的非直接相邻应答器的查找方法包括:
S1,设置起始位置;
本实施例中起始位置为查找非直接相邻应答器的当前应答器。
S2,从起始位置沿设定的方向进行查找;
S3,当遇到道岔时,判断当前线路是否是汇合线路,若是,则进行步骤S4,若否,则结束查找;
S4,沿着与所述道岔关联的正线线路方向查找应答器;
S5,当在所述正线线路查找到应答器后,退回到所述道岔,执行步骤S6,若在所述正线方向没有找到应答器时,返回到步骤S3;
S6,沿着所述道岔的侧线方向查找应答器,若在所述侧线方向找到应答器,则执行步骤S7,若没有找到应答器,则返回步骤S3;
S7,返回到与所述起始位置最接近的道岔,判断与所述起始位置最接近的道岔是否有侧线未查找,若有,则执行步骤S6,若没有,则结束。
本发明的另一个实施例,提供一种非直接相邻应答器的距离更新方法。
图2示出了本发明的非直接相邻应答器的距离更新方法的流程图;
参照图2,该更新方法包括:
S10,设置当前应答器;
S20,从当前应答器开始查找非直接相邻应答器,在查找非直接相邻应答器时,在道岔处先查找所述正线的应答器,所述正线应答器查找完成后,然后查找所述侧线的应答器。
S30,根据查找路径累加距离,当搜索到非直接相邻应答器后,当前的累加值即为查到的应答器到所述当前应答器的距离;
S40,当返回到道岔时,在当前距离上递减直到所述道岔的距离,继续查找下一个应答器,并累加距离;
S50,重复进行布置S30和S40,直到所有的非直接相邻应答器查找完成。
图3示出了本发明的非直接相邻应答器的查找方法的具体实施例的地铁线路示意图;
地铁轨道线路在CBTC信号系统中以Link的形式组成,每两个计轴器或道岔之间为一个Link长度。
参照图2,图中的线路图可以抽象为轴向深度为2的二叉树结构,其中道岔为节点,汇合Link所在区段中包含的应答器为根节点,正线及侧线Link所在区段中包含的应答器为子节点。
根据上述查找方法,设定搜索原则为:后序遍历,以道岔为节点,先正线后侧线搜索,以应答器VB1为起始应答器,搜索非直接相邻应答器VB2-VB5。具体步骤为:
S110,设置起始位置;该起始位置为在任一条正线上的一个应答器VB1。
S120,沿应答器VB1的正线方向上有道岔,当遇到道岔1时,判断当前应答器VB1所在的线路是否是汇合线路,若否,则结束查找;若是,则说明存在非直接相邻应答器,进行下一步查找。
S130,沿道岔1关联的正线Link方向查找,直到到达道岔2;
S140,当前Link为道岔2的汇合Link,继续查找与道岔2关联的正线线路;
S150,找到应答器VB2,回到道岔2,继续在道岔2搜索侧线Link,直到道岔4;
S160,当前Link为侧线Link,继续寻找汇合Link,找到应答器VB3;
S170,此时道岔2和4均已经找到应答器VB1的非直接相邻应答器,返回到道岔1;
S180,当前Link为道岔1的正线Link,则搜索道岔1的侧线Link;
S190,使用上述相同的方法,先找到应答器VB4,然后找到应答器VB5,此时VB1的所有非直接相邻应答器查找完成。
非直接相邻应答器的距离计算方法可以在上述查找方法中同时进行,以上述实施例的线路图轴向为深度为2的二叉树结构为例,其距离计算方法具体为:
距离计算原则为:根据搜索距离累加Link长度,搜索到应答器后,当前累加值即为距离。回退时在累加长度上递减直到道岔,搜索下一个Link继续累加,找到下一个应答器时的累加值即为距离。
根据上述应非直接相邻答器查找方法,通过如下过程更新当前应答器与其每一个非直接相邻的距离:
S101,计算当前VB1应答器到道岔1的距离;
S202,在道岔1、2之间没有找到应答器,将当前Link长度累加;,
S303,在道岔2相关的正线Link找到VB2应答器,将当前VB2到道岔的距离累加,既得出VB1与VB2的距离;,
S404,回到道岔2,减去VB2到道岔2的距离,搜索侧线Link;
S505,侧线无应答器,累加Link距离;
S606,经过道岔4,找到VB3应答器后,累加值即为VB1到VB3距离;,
S707,回到道岔4,减去VB3到道岔4距离;
S808,重复上述步骤,直到所有应答器的距离计算完成。
根据本发明的又一个实施例,提供了一种用于地铁CBTC定测的非直接相邻应答器的距离更新系统,该系统包括:
输入单元10,用于设置起始位置;
搜索单元20,用于搜索所述当前应答器的非直接相邻应答器;
计算单元30,用于计算散射当前应答器到所述非直接相邻应答器的距离。
本发明所述的非直接相邻应答器的查找及距离更新方法及系统,利用道岔定位、反位及道岔区段中正路、侧线、汇合Link属性,以及先正线后侧线的方法完成线路遍历,能正确识别出所有线路分支及对应的应答器,保证了数据的完整性和正确性;同时,利用压栈、退栈及设备距离累加求和,实现非直接相邻应答器的距离的计算并更新,提高了效率和正确率。本发明可以广泛地应用于地铁轨道交通以及铁路系统中复杂道岔的遍历,可以准确无遗漏地查找应答器,能够解决依靠枚举等算法来实现查找应答器的缺陷,应用前景广泛。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。