CN113672690A - 一种轨道区段的遍历方法 - Google Patents
一种轨道区段的遍历方法 Download PDFInfo
- Publication number
- CN113672690A CN113672690A CN202110974594.6A CN202110974594A CN113672690A CN 113672690 A CN113672690 A CN 113672690A CN 202110974594 A CN202110974594 A CN 202110974594A CN 113672690 A CN113672690 A CN 113672690A
- Authority
- CN
- China
- Prior art keywords
- vertex
- track section
- edge
- track
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000010845 search algorithm Methods 0.000 claims abstract description 30
- 238000010586 diagram Methods 0.000 claims abstract description 15
- 230000003068 static effect Effects 0.000 claims description 10
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004836 empirical method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种轨道区段的遍历方法,通过顶点集、边集、以及顶点与边的基本操作来构建图的数据结构,轮询轨道区段,将轨道区段对应到顶点,将轨道区段链接关系对应到边,根据图的数据结构来构建轨道区段拓扑结构图,基于轨道区段拓扑结构图,应用深度优先搜索算法或广度优先搜索算法,提供轨道区段的通用遍历方法,实现对轨道区段的遍历。本发明通用、高效、灵活、可靠。
Description
技术领域
本发明涉及轨道交通信号技术领域,尤其涉及一种轨道区段的遍历方法。
背景技术
轨道区段是车载电子地图中的最基本单位,所有设备的位置信息均通过轨道区段及在轨道区段中的坐标来表示,列车对设备信息的处理需要通过轨道区段的遍历与搜索来实现,目前缺乏相关搜索方法。
发明内容
本发明的目的在于提供一种轨道区段的遍历方法,通用、高效、灵活、可靠。
为了达到上述目的,本发明提供一种轨道区段的遍历方法,通过顶点集、边集、以及顶点与边的基本操作来构建图的数据结构,轮询轨道区段,将轨道区段对应到顶点,将轨道区段链接关系对应到边,根据图的数据结构来构建轨道区段拓扑结构图,基于轨道区段拓扑结构图,应用深度优先搜索算法或广度优先搜索算法,提供轨道区段的通用遍历方法,实现对轨道区段的遍历。
所述顶点集包含:用于存储所有顶点数据的集合;所述边集包含:用于存储所有边数据的集合;所述顶点与边的基本操作包含:顶点的基本操作和边的基本操作;
所述顶点数据包含:顶点数据、顶点的入度、顶点的出度、顶点状态、时间标签、在遍历树中的父顶点、在遍历树中的优先级数;所述顶点状态包含:未发现、已发现、已访问三种状态;
所述边数据包含:边的数据、类型、权重;所述边类型包含:树枝、正向边、反向边、交叉边以及未定义五种类型;
所述顶点的基本操作包含:顶点的静态操作和顶点的动态操作;
所述顶点的静态操作包含:判断顶点是否存在;获取顶点的数据值;获取顶点的入度;获取顶点的出度;获取顶点的首个邻接点编号;获取顶点的下一个邻接点编号;获取顶点的状态;获取顶点的时间标签;获取顶点在遍历树中的父顶点编号;获取顶点在遍历树中的优先级数;
所述顶点的动态操作包含:向顶点集中插入一个顶点,并返回顶点编号;向顶点集的具体索引位置中插入一个顶点,并返回顶点编号;从顶点集中删除某个索引位置顶点及其关联的边;
所述边的基本操作包含:边的静态操作和边的动态操作;
所述边的静态操作包含:判断某条边是否存在;获取边的类型;获取边的数据值;获取边的权重;
所述边的动态操作包含:向边集中的某个位置插入边;从边集的某个位置删除某条边。
所述构建图的数据结构的方法包含:
定义顶点集向量和边集邻接表;
初始化顶点集和边集;
将所有顶点的状态置为“未发现”状态,将顶点的时间标签、遍历树中的父顶点编号、遍历树中的优先级数置为-1,将边的状态置为“未定义”状态。
所述构建轨道区段拓扑结构图的方法包含:
轮询所有的轨道区段列表,在每个轨道区段构建一个顶点,顶点的编号为对应的轨道区段编号,利用顶点的插入操作将此轨道区段插入轨道区段顶点集;
轮询轨道区段顶点集中的每个顶点,根据轨道区段的链接关系计算其对应轨道区段的上行方向链接定位轨道区段编号、上行方向链接反位轨道区段编号、下行方向链接定位轨道区段编号、下行方向链接反位轨道区段编号;
当某个方向存在链接的轨道区段时,即对应链接方向的轨道区段编号不为0时,将当前轨道区段和其链接的轨道区段,每两个为一对,定义为一条边,利用边的插入操作,将其添加到轨道区段边集中;
以顶点集和边集构建轨道区段拓扑结构图。
将搜索结果展示为轨道区段链路数据结构,所述轨道区段链路数据结构包含:起始位置、结束位置、起始设备、结束设备、搜索方向、包含的轨道区段顶点列表、路径长度、包含的道岔列表。
所述轨道区段的通用遍历方法包含:找出某两个设备间的所有路径的方法;找出以某个设备为起点,某个长度内的所有路径及其结束位置的方法;搜索路径中某种类型的所有设备的方法;搜索某设备在上行或下行方向的下一个设备的方法;计算路径长度的方法;计算路径上的道岔信息的方法。
所述找出某两个设备间的所有路径的方法包含:根据起始设备和结束设备的位置,找到其在轨道区段拓扑结构图的顶点集中对应的顶点元素,运用深度优先搜索算法或广度优先搜索算法,找到起始顶点和结束顶点间的每一条路径;
对于每一条路径,在搜索过程中,记录路径中的访问过的顶点,将其添加到轨道区段链路数据结构的轨道区段顶点列表中;每条路径构建一个轨道区段链路对象,将所有对象添加到轨道区段链路列表中,即为起始设备和结束设备之间所有路径的列表。
所述找出以某个设备为起点,某个长度内的所有路径及其结束位置的方法包含:根据起始设备和搜索距离,找到起始设备所在的轨道区段顶点,获取此对应的顶点元素,根据顶点元素对应的轨道区段,计算该轨道区段的长度,与搜索距离进行比较,若小于搜索距离,说明搜索未结束,按照顶点与邻接点的链接关系继续遍历下一个轨道区段顶点,直到累计到某个轨道区段顶点的长度大于搜索距离,则说明搜索结束;
向所有的邻接方向按此方法搜索,找出所有搜索距离范围内的路径,并记录该路径上访问的轨道区段顶点列表,列表的最后一个元素即为该路径的结束位置;每个路径构建一个轨道区段链路对象形成轨道区段链路对象列表。
所述搜索路径中某种类型的所有设备的方法包含:计算轨道区段链路列表,轮询轨道区段链路上的轨道区段顶点列表,计算每个轨道区段上该类型设备,加入设备列表作为输出结果。
所述搜索某设备在上行或下行方向的下一个设备的方法包含:以起始点和方向作为搜索条件,找到起始点所在的轨道区段顶点,向相应方向搜索,按照深度优先搜索算法或广度优先搜索算法,找到该顶点的邻接顶点,判断此邻接顶点上是否存在此种类型设备,如果不存在则继续向邻接点遍历,如果存在则此条路径上的下一设备已找到,继续搜索其他路径,直到所有路径搜索完成为止。
所述计算路径长度的方法包含:计算轨道区段链路的过程中记录了路径长度。
所述计算路径上的道岔信息的方法包含:计算轨道区段链路列表,轮询轨道区段链路上的轨道区段顶点列表,判断该顶点是否具有多于1个的邻接顶点,如果有,则记录该顶点对应搜索方向上的道岔设备信息,加入道岔设备列表作为输出结果。
本发明能够保证通用的搜索轨道区段和轨道区段上的各类型设备,且搜索方法、高效、灵活、可靠,可以使列车在任意位置上时,都能处理所需范围内的设备,计算相应路径上的数据信息等,对VOBC在线软件与离线数据处理都有很好的实际应用意义。
附图说明
图1是本发明提供的一种轨道区段的遍历方法的流程图。
图2为构建的轨道区段拓扑结构图。
图3为广度优先搜索算法流程图。
图4为深度优先搜索算法流程图。
图5为实施实例中轨道区段结构图。
图6为实施实例中对应的轨道区段拓扑结构图。
图7为实施实例中搜索的路径示意图。
具体实施方式
以下根据图1~图7,具体说明本发明的较佳实施例。
如图1所示,本发明提供一种轨道区段的遍历方法,包括以下步骤:
步骤A、构建顶点、顶点状态、顶点集以及边、边类型、边集等数据结构;
步骤B、实现顶点与边的基本操作;
步骤C、通过顶点集、边集、以及顶点与边的基本操作来构建图的数据结构,并提供基本应用算法;
步骤D、轮询轨道区段,将轨道区段对应到顶点,将轨道区段链接关系对应到边,构建轨道区段拓扑结构图;
步骤E、基于轨道区段拓扑结构图,应用深度优先搜索算法和广度优先搜索算法,提供轨道区段的通用遍历方法,实现对轨道区段的遍历。
所述的步骤A中,所述顶点数据Vertex包含:顶点数据、顶点的入度、顶点的出度、顶点状态、时间标签、在遍历树中的父顶点、在遍历树中的优先级数;
所述顶点状态VStatus包含:未发现、已发现、已访问三种状态;
所述顶点集V包含:用于存储所有顶点数据的集合;
所述边数据Edge包含:边的数据、类型、权重;
所述边类型EType包含:树枝、正向边、反向边、交叉边以及未定义五种类型;
所述边集E包含:用于存储所有边数据的集合。
所述的步骤B中,所述顶点与边的基本操作包含:
1、顶点的基本操作:
1.1、顶点的静态操作:
1.1.1、判断顶点是否存在;
1.1.2、获取顶点的数据值;
1.1.3、获取顶点的入度;
1.1.4、获取顶点的出度;
1.1.5、获取顶点的首个邻接点编号;
1.1.6、获取顶点的下一个邻接点编号;
1.1.7、获取顶点的状态;
1.1.8、获取顶点的时间标签;
1.1.9、获取顶点在遍历树中的父顶点编号;
1.1.10、获取顶点在遍历树中的优先级数;
1.2、顶点动态操作:
1.2.1、向顶点集中插入一个顶点,并返回顶点编号;
1.2.2、向顶点集的具体索引位置中插入一个顶点,并返回顶点编号;
1.2.3、从顶点集中删除某个索引位置顶点及其关联的边;
2、边的基本操作:
2.1、边的静态操作:
2.1.1、判断某条边是否存在;
2.1.2、获取边的类型;
2.1.3、获取边的数据值;
2.1.4、获取边的权重;
2.2、边的动态操作:
2.2.1、向边集中的某个位置插入边;
2.2.2、从边集的某个位置删除某条边。
所述步骤C中,构建图的数据结构Graph(V,E)具体包含以下步骤:
1、定义顶点集向量V以及边集邻接表E;
2、初始化顶点集V,边集E;
3、实现基本应用算法:
3.1、图结构重置:所有顶点的状态置为“未发现”状态,顶点的时间标签、遍历树中的父顶点编号、遍历树中的优先级数置为-1,边的状态置为“未定义”状态;
3.2、联通域广度优先搜索算法:如图3所示流程图,遵循先入先出的原则,定义队列Q用于存放搜索的顶点列表,首先将搜索的起始顶点加入队列,顶点状态置为“已发现”状态;循环判断队列Q是否为空,当队列不为空时,将队首元素弹出,判断此顶点是否有邻接点,从其首个邻接点依次往下一个邻接点遍历,依次将每个顶点元素加入队列,并根据顶点的访问状态确定两个顶点间边的类型,直到找到结束顶点为止。此算法不考虑结束点可能出现的位置,优点是可以优先确定搜索的起始点和结束点之间的最短路径,搜索速度快;
3.3、联通域深度优先搜索算法:如图4所示流程图,遵循先入后出的原则,定义堆栈S用于存放搜索的顶点列表,首先将搜索的起始顶点压入堆栈,顶点状态置为“已发现”状态;当堆栈不为空时,将栈顶元素弹出,判断此顶点是否有邻接点,将其首个邻接点入栈,再继续判断此首个邻接点是否有邻接点,如有继续入栈,支到某个顶点没有邻接点为止,此后将栈内元素依次出栈,并且判断出栈元素的下一个邻接点,继续入栈和出栈操作,直到找到结束顶点为止。此算法参考经验法则,搜索完部分结点以后再搜索其他结点,占用内存少。
所述步骤D中,根据图的数据结构Graph(V,E)构建轨道区段的拓扑图结构BlockGraph(V,E)的步骤包含:
1、轮询所有的轨道区段列表,每个轨道区段构建一个顶点V,顶点的编号为对应的轨道区段编号,利用顶点的插入操作将此轨道区段插入轨道区段顶点集V(Block);
2、轮询轨道区段顶点集V(Block)中的每个顶点,根据轨道区段的链接关系计算其对应轨道区段的上行方向链接定位轨道区段编号、上行方向链接反位轨道区段编号、下行方向链接定位轨道区段编号、下行方向链接反位轨道区段编号;
3、当某个方向存在链接的轨道区段时,即对应链接方向的轨道区段编号不为0时,将当前轨道区段和其链接的轨道区段,每两个为一对,定义为一条边(Vi,Vj),利用边的插入操作,将其添加到轨道区段边集E(Block)中;
4、以顶点集V(Block)和边集E(Block)构建轨道区段拓扑结构图BlockGraph(V,E)。
所述步骤E中提供的轨道区段的通用遍历方法包含:
1、构建轨道区段链路BlockChain数据结构,以展示最终的搜索结果;该BlockChain数据结构包含:起始位置、结束位置、起始设备、结束设备、搜索方向、包含的轨道区段顶点列表、路径长度、包含的道岔列表。
2、通用算法1:找出某两个设备间的所有路径。
根据起始设备和结束设备的位置,找到其在轨道区段拓扑结构图的顶点集中对应的顶点元素,运用步骤C中提供的深度优先搜索算法和广度优先搜索算法,找到起始顶点和结束顶点间的每一条路径。对于每一条路径,在搜索过程中,并记录路径中的访问过的顶点,将其添加到BlockChain数据结构的轨道区段顶点列表中。每条路径构建一个BlockChain对象,将所有对象添加到BlockChain列表中,即为起始设备和结束设备之间所有路径的列表。此算法用于计算不同轨道区段上两个设备间的路径,即从起始设备经过哪些轨道区段可达到结束设备。
3、通用算法2:找出以某个设备为起点,某个长度内的所有路径及其结束位置。
根据起始设备和搜索距离,找到起始设备所在的轨道区段顶点,获取此对应的顶点元素,根据顶点元素对应的轨道区段,计算该轨道区段的长度,与搜索距离进行比较,若小于搜索距离,说明搜索未结束,按照顶点与邻接点的链接关系继续遍历下一个轨道区段顶点,直到累计到某个轨道区段顶点的长度大于搜索距离,则说明搜索结束。向所有的邻接方向按此方法搜索,找出所有搜索距离范围内的路径,并记录该路径上访问的轨道区段顶点列表,列表的最后一个元素即为该路径的结束位置。同样的,每个路径构建一个BlockChain对象形成BlockChain对象列表。此算法用于计算轨道区段上某个设备上游或者下游方向上一段距离内的路径。
4、通用算法3:搜索路径中某种类型的所有设备。
按照通用算法1和通用算法2计算BlockChain列表,轮询BlockChain上的轨道区段顶点列表,计算每个轨道区段上该类型设备,加入设备列表作为输出结果。此算法用于计算某一段轨道区段上所有的某类型设备列表。
5、通用算法4:搜索某设备在上行或下行方向的下一个设备。
以起始点和方向作为搜索条件:找到起始点所在的轨道区段顶点,向相应方向搜索,按照深度优先搜索算法或者广度优先搜索算法,找到该顶点的邻接顶点,判断此邻接顶点上是否存在此种类型设备,如果不存在则继续向邻接点遍历;如果存在则此条路径上的下一设备已找到,继续搜索其他路径,直到所有路径搜索完成为止。此算法用于计算轨道区段上的某个设备在上下或者下行方向上下游的下一个同类型设备。
6、通用算法5:计算路径长度。
通用算法1和通用算法2中计算BlockChain的过程中记录了路径长度。此算法用于计算轨道区段上某两个设备之间的距离。
7、通用算法6:计算路径上的道岔信息。
按照通用算法1和通用算法2的计算BlockChain列表,轮询BlockChain上的轨道区段顶点列表,判断该顶点是否具有多于1个的邻接顶点,如果有,则记录该顶点对应搜索方向上的道岔设备信息,加入道岔设备列表作为输出结果。此算法用于计算轨道区段上两个设备之间的道岔信息,用于生成道岔列表。
在本发明的一个实施例中,轨道区段线路连接情况如图5所示,以B1作为搜索起始轨道区段,B9作为搜索结束轨道区段,搜索从B1到B9间所有可能的路径。
步骤A:构建顶点数据Vertex、顶点状态VStatus、顶点集V、边Edge、边类型EType、边集E。
步骤B:实现顶点与边的基本操作:
顶点是否存在(isVertetExists),获取顶点数据值(getVertexData),获取顶点入度(getVertexInDegree),获取顶点出度(getVertexOutDegree),获取顶点的首个邻接点编号(getVertexFisrtNbr),获取顶点的下一个邻接点编号(getVertexNextNbr),获取顶点的状态(getVertexStatus),获取顶点的时间标签(getVertexTime),获取顶点在遍历树中的父顶点编号(getVertexParent),获取顶点在遍历树中的优先级数(getVertexPriority),向顶点集中插入一个顶点(insertVertex),从顶点集中删除某个索引位置顶点及其关联的边(removeVertex),判断某条边是否存在(isEdgeExists),获取边的类型(getEdgeType),获取边的数据值(getEdgeData),获取边的权重(getEdgeWeight),向边集中的某个位置插入边(insertEdge),从边集的某个位置删除某条边(removeEdge)。
步骤C:通过顶点集、边集及基本操作构建图的数据结构Graph(V,E),提供图的基本应用算法,包括:复位操作resetGraph(将所有顶点的状态置为未访问状态,所有边的状态置为未定义状态),联通域广度优先搜索算法BFS,联通域深度优先搜索算法DFS。
步骤D:轮询轨道区段,将轨道区段对应到顶点、轨道区段链接关系对应到边,构建轨道区段的拓扑图结构:
按照图5的轨道区段列表及其链接关系,以轨道区段作为顶点、轨道区段链接关系作为边,构建轨道区段的拓扑图结果,如图6所示。
步骤E:通过轨道区段的拓扑图,应用深度优先搜索算法或广度优先搜索算法,提供轨道区段的通用遍历方法:
参考步骤D中构建的轨道区段拓扑结构图,采用深度优先搜索算法,可以此计算出B1到B9间的所有路径,如图7所示,分别是:
路径1:{B1,B2,B3,B5,B8,B9}
路径2:{B1,B2,B4,B13,B14,B15,B17,B9}
路径3:{B1,B6,B7,B20,B21,B23,B24,B8,B9}
与现有技术相比,本发明具有以下优点:
1、通用性强,提供的一系列通用算法可以适用于轨道区段遍历的各种场景,满足在电子地图中轨道区段遍历的各类需求。
2、更高效,广度优先搜索算法可以快速的搜索出起始点和结束点之间的最短路径,搜索速度快,效率更高。
3、更灵活,提供了基于深度优先的搜索算法和基于广度优先的搜索算法,此两种搜索算法各有优缺点,可以根据不同应用场景选取对应的遍历算法。
需要说明的是,在本发明的实施例中,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述实施例,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (13)
1.一种轨道区段的遍历方法,其特征在于,通过顶点集、边集、以及顶点与边的基本操作来构建图的数据结构,轮询轨道区段,将轨道区段对应到顶点,将轨道区段链接关系对应到边,根据图的数据结构来构建轨道区段拓扑结构图,基于轨道区段拓扑结构图,应用深度优先搜索算法或广度优先搜索算法,提供轨道区段的通用遍历方法,实现对轨道区段的遍历。
2.如权利要求1所述的轨道区段的遍历方法,其特征在于,所述顶点集包含:用于存储所有顶点数据的集合;所述边集包含:用于存储所有边数据的集合;所述顶点与边的基本操作包含:顶点的基本操作和边的基本操作;
所述顶点数据包含:顶点数据、顶点的入度、顶点的出度、顶点状态、时间标签、在遍历树中的父顶点、在遍历树中的优先级数;所述顶点状态包含:未发现、已发现、已访问三种状态;
所述边数据包含:边的数据、类型、权重;所述边类型包含:树枝、正向边、反向边、交叉边以及未定义五种类型;
所述顶点的基本操作包含:顶点的静态操作和顶点的动态操作;
所述顶点的静态操作包含:判断顶点是否存在;获取顶点的数据值;获取顶点的入度;获取顶点的出度;获取顶点的首个邻接点编号;获取顶点的下一个邻接点编号;获取顶点的状态;获取顶点的时间标签;获取顶点在遍历树中的父顶点编号;获取顶点在遍历树中的优先级数;
所述顶点的动态操作包含:向顶点集中插入一个顶点,并返回顶点编号;向顶点集的具体索引位置中插入一个顶点,并返回顶点编号;从顶点集中删除某个索引位置顶点及其关联的边;
所述边的基本操作包含:边的静态操作和边的动态操作;
所述边的静态操作包含:判断某条边是否存在;获取边的类型;获取边的数据值;获取边的权重;
所述边的动态操作包含:向边集中的某个位置插入边;从边集的某个位置删除某条边。
3.如权利要求2所述的轨道区段的遍历方法,其特征在于,所述构建图的数据结构的方法包含:
定义顶点集向量和边集邻接表;
初始化顶点集和边集;
将所有顶点的状态置为“未发现”状态,将顶点的时间标签、遍历树中的父顶点编号、遍历树中的优先级数置为-1,将边的状态置为“未定义”状态。
4.如权利要求3所述的轨道区段的遍历方法,其特征在于,所述构建轨道区段拓扑结构图的方法包含:
轮询所有的轨道区段列表,在每个轨道区段构建一个顶点,顶点的编号为对应的轨道区段编号,利用顶点的插入操作将此轨道区段插入轨道区段顶点集;
轮询轨道区段顶点集中的每个顶点,根据轨道区段的链接关系计算其对应轨道区段的上行方向链接定位轨道区段编号、上行方向链接反位轨道区段编号、下行方向链接定位轨道区段编号、下行方向链接反位轨道区段编号;
当某个方向存在链接的轨道区段时,即对应链接方向的轨道区段编号不为0时,将当前轨道区段和其链接的轨道区段,每两个为一对,定义为一条边,利用边的插入操作,将其添加到轨道区段边集中;
以顶点集和边集构建轨道区段拓扑结构图。
5.如权利要求4所述的轨道区段的遍历方法,其特征在于,将搜索结果展示为轨道区段链路数据结构,所述轨道区段链路数据结构包含:起始位置、结束位置、起始设备、结束设备、搜索方向、包含的轨道区段顶点列表、路径长度、包含的道岔列表。
6.如权利要求5所述的轨道区段的遍历方法,其特征在于,所述轨道区段的通用遍历方法包含:找出某两个设备间的所有路径的方法;找出以某个设备为起点,某个长度内的所有路径及其结束位置的方法;搜索路径中某种类型的所有设备的方法;搜索某设备在上行或下行方向的下一个设备的方法;计算路径长度的方法;计算路径上的道岔信息的方法。
7.如权利要求6所述的轨道区段的遍历方法,其特征在于,所述找出某两个设备间的所有路径的方法包含:根据起始设备和结束设备的位置,找到其在轨道区段拓扑结构图的顶点集中对应的顶点元素,运用深度优先搜索算法或广度优先搜索算法,找到起始顶点和结束顶点间的每一条路径;
对于每一条路径,在搜索过程中,记录路径中的访问过的顶点,将其添加到轨道区段链路数据结构的轨道区段顶点列表中;每条路径构建一个轨道区段链路对象,将所有对象添加到轨道区段链路列表中,即为起始设备和结束设备之间所有路径的列表。
8.如权利要求6所述的轨道区段的遍历方法,其特征在于,所述找出以某个设备为起点,某个长度内的所有路径及其结束位置的方法包含:根据起始设备和搜索距离,找到起始设备所在的轨道区段顶点,获取此对应的顶点元素,根据顶点元素对应的轨道区段,计算该轨道区段的长度,与搜索距离进行比较,若小于搜索距离,说明搜索未结束,按照顶点与邻接点的链接关系继续遍历下一个轨道区段顶点,直到累计到某个轨道区段顶点的长度大于搜索距离,则说明搜索结束;
向所有的邻接方向按此方法搜索,找出所有搜索距离范围内的路径,并记录该路径上访问的轨道区段顶点列表,列表的最后一个元素即为该路径的结束位置;每个路径构建一个轨道区段链路对象形成轨道区段链路对象列表。
9.如权利要求7或8所述的轨道区段的遍历方法,其特征在于,所述搜索路径中某种类型的所有设备的方法包含:计算轨道区段链路列表,轮询轨道区段链路上的轨道区段顶点列表,计算每个轨道区段上该类型设备,加入设备列表作为输出结果。
10.如权利要求6所述的轨道区段的遍历方法,其特征在于,所述搜索某设备在上行或下行方向的下一个设备的方法包含:以起始点和方向作为搜索条件,找到起始点所在的轨道区段顶点,向相应方向搜索,按照深度优先搜索算法或广度优先搜索算法,找到该顶点的邻接顶点,判断此邻接顶点上是否存在此种类型设备,如果不存在则继续向邻接点遍历,如果存在则此条路径上的下一设备已找到,继续搜索其他路径,直到所有路径搜索完成为止。
11.如权利要求7或8所述的轨道区段的遍历方法,其特征在于,所述计算路径长度的方法包含:计算轨道区段链路的过程中记录了路径长度。
12.如权利要求7或8所述的轨道区段的遍历方法,其特征在于,所述计算路径上的道岔信息的方法包含:计算轨道区段链路列表,轮询轨道区段链路上的轨道区段顶点列表,判断该顶点是否具有多于1个的邻接顶点,如果有,则记录该顶点对应搜索方向上的道岔设备信息,加入道岔设备列表作为输出结果。
13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110974594.6A CN113672690B (zh) | 2021-08-24 | 2021-08-24 | 一种轨道区段的遍历方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110974594.6A CN113672690B (zh) | 2021-08-24 | 2021-08-24 | 一种轨道区段的遍历方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113672690A true CN113672690A (zh) | 2021-11-19 |
CN113672690B CN113672690B (zh) | 2024-04-26 |
Family
ID=78545683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110974594.6A Active CN113672690B (zh) | 2021-08-24 | 2021-08-24 | 一种轨道区段的遍历方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672690B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080130949A1 (en) * | 2006-11-30 | 2008-06-05 | Ivanov Yuri A | Surveillance System and Method for Tracking and Identifying Objects in Environments |
CN105225187A (zh) * | 2015-10-09 | 2016-01-06 | 苏州盛景信息科技股份有限公司 | 基于广度优先搜索算法的管网空间分析方法 |
CN107798991A (zh) * | 2017-11-15 | 2018-03-13 | 交控科技股份有限公司 | 一种电子地图坡度数据生成方法 |
CN110375728A (zh) * | 2019-07-24 | 2019-10-25 | 山东麦港数据系统有限公司 | 一种基于图数据库的gyk轨道车导航方法与系统 |
CN110654429A (zh) * | 2019-10-15 | 2020-01-07 | 通号万全信号设备有限公司 | 一种网络拓扑结构的数据逻辑关系生成方法 |
US20200310766A1 (en) * | 2019-03-29 | 2020-10-01 | Advanced Micro Devices, Inc. | Generating vectorized control flow using reconverging control flow graphs |
CN112000844A (zh) * | 2020-08-18 | 2020-11-27 | 中山大学 | 一种自底向上广度优先搜索的向量化方法、系统及装置 |
CN112464351A (zh) * | 2020-12-09 | 2021-03-09 | 郑州捷安高科股份有限公司 | 轨道线路处理方法、装置、处理设备及介质 |
-
2021
- 2021-08-24 CN CN202110974594.6A patent/CN113672690B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080130949A1 (en) * | 2006-11-30 | 2008-06-05 | Ivanov Yuri A | Surveillance System and Method for Tracking and Identifying Objects in Environments |
CN105225187A (zh) * | 2015-10-09 | 2016-01-06 | 苏州盛景信息科技股份有限公司 | 基于广度优先搜索算法的管网空间分析方法 |
CN107798991A (zh) * | 2017-11-15 | 2018-03-13 | 交控科技股份有限公司 | 一种电子地图坡度数据生成方法 |
US20200310766A1 (en) * | 2019-03-29 | 2020-10-01 | Advanced Micro Devices, Inc. | Generating vectorized control flow using reconverging control flow graphs |
CN110375728A (zh) * | 2019-07-24 | 2019-10-25 | 山东麦港数据系统有限公司 | 一种基于图数据库的gyk轨道车导航方法与系统 |
CN110654429A (zh) * | 2019-10-15 | 2020-01-07 | 通号万全信号设备有限公司 | 一种网络拓扑结构的数据逻辑关系生成方法 |
CN112000844A (zh) * | 2020-08-18 | 2020-11-27 | 中山大学 | 一种自底向上广度优先搜索的向量化方法、系统及装置 |
CN112464351A (zh) * | 2020-12-09 | 2021-03-09 | 郑州捷安高科股份有限公司 | 轨道线路处理方法、装置、处理设备及介质 |
Non-Patent Citations (2)
Title |
---|
王元驰;肖先勇;邓武军;: "一种基于邻接关系和广度优先搜索的网络拓扑分析方法", 《四川电力技术》, no. 2, pages 33 - 36 * |
黄虹苇 等: "基于深度优先搜索的极性交叉设计辅助软件研究", 《基于深度优先搜索的极性交叉设计辅助软件研究》, vol. 54, no. 4, pages 49 - 52 * |
Also Published As
Publication number | Publication date |
---|---|
CN113672690B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111504325B (zh) | 一种基于扩大搜索邻域的加权a*算法的全局路径规划方法 | |
CN100523735C (zh) | 一种基于小网格路网组织结构的快速地图匹配方法 | |
Lefebvre et al. | Fast shortest path computation in time-dependent traffic networks | |
JP4847044B2 (ja) | 地図データ配信装置、通信端末および地図配信方法 | |
US20130253827A1 (en) | Apparatus for fast path search by learning heuristic function and method thereof | |
Dessmark et al. | Optimal graph exploration without good maps | |
CN113191550B (zh) | 地图匹配方法及装置 | |
CN101630463A (zh) | 路网栅格数字地图自动矢量化方法 | |
CN108151744A (zh) | 基于a-star算法的室内导航系统 | |
CN114111830B (zh) | 一种基于ai模型的路径规划方法及装置 | |
CN106502607A (zh) | 一种线段擦除方法和装置 | |
CN108489501A (zh) | 一种基于智能绕过障碍的快速路径搜索算法 | |
Cruz et al. | K-nearest neighbors queries in time-dependent road networks | |
CN108204821A (zh) | 一种路径规划方法及装置 | |
CN113672690A (zh) | 一种轨道区段的遍历方法 | |
CN113159457A (zh) | 一种智能路径规划的方法、系统及电子设备 | |
CN112327931A (zh) | 一种基于sdf地图的无人机三维路径快速规划方法 | |
CN114577217A (zh) | 基于冯洛诺伊图的路径规划方法、装置、设备及存储介质 | |
CN109035405A (zh) | 一种基于预测-校正模型的网格简化方法 | |
CN113918676A (zh) | 上下行道路合并方法、装置、电子设备及存储介质 | |
CN113468282A (zh) | 货车场地轨迹的构建方法、装置、终端及存储介质 | |
CN112999658B (zh) | 用于游戏三维空间飞行的寻路方法、装置及介质 | |
CN107368512B (zh) | 信息对象的查询和序列确定方法、装置及设备、可读介质 | |
JP3614761B2 (ja) | 三次元物体データベースの検索方法及び三次元物体データベースの検索プログラムを記録した記録媒体 | |
Rao | On performance of path planning algorithms in unknown terrains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |