线路车站分析
我们将运行图功能大致分为线路部分、列车部分,其中线路部分又分为线路车站、线路断面和线路区间三类。当然,由于运行图数据是相互耦合的,很多分析实际上既涉及到线路,又涉及到列车,不能截然分开,我只能按照我理解的方式大致归类。
股道分析
- 起始版本:
V1.0.0
- pyETRC对应功能:
车站股道图
- 工具栏:
线路工具(8) 上下文页面 | 股道分析
股道分析功能是自pyETRC很早版本就存在的功能,并历经多次迭代,从最开始仅支持自动推定股道,到后来也支持手动指定股道;在qETRC开发阶段继续改进和添加了一些功能。股道分析功能主要是支持线路上某一车站的不同股道占用在时间上的分布图,同时提供简单直接的算法,在没有股道数据、或者没有完整股道数据的情况下计算一种股道安排方式,并修改调整以及保存数据。
选择当前线路上的一个车站后,显示如上图所示的主界面。其中,左侧为配置区,右侧为图形窗口。图形窗口中,横轴为时间(与运行图类似),每一行代表一条股道,每个色块代表一个车次占用本股道的时间段,其颜色由列车运行线颜色决定。将鼠标悬停于色块上可显示时刻信息,以及数据来源(图定或推定)。
几点注记:
通过列车的占用时间统一为一分钟。
存在 交路接续 情况的停车站,占用股道时间为自前车终到起,后车始发止。其色块颜色为后车运行线颜色。
股道分析仅能包含图定停车或通过的列车。如果列车时刻表上没有当前站,则不会被包含。若要处理通过列车,请考虑首先使用 时刻插值 功能。
股道的 铺画 是指将时刻表上各次列车分配到股道上的过程。在qETRC中,铺画有自动和手动两种模式。自动模式是指股道的数量、名称以及列车在股道上的安排全部由本系统内置算法计算得出(并有若干配置参数可以由用户调整);手动模式是指,首先使用用户提供的数据安排,再由内置算法补全必要的信息,得到完整的股道信息。以下分别说明。
铺画模式和逻辑
左侧的 铺画模式 设定项给出了三种可能的方式,即手动铺画、单线铺画、双线铺画。其中,单线铺画和双线铺画都是利用本系统的算法自动安排股道,不使用用户提供的股道信息(即使有设置,也会被忽略);手动铺画模式首先使用用户提供的股道信息,安排给出了股道的车次,然后对于没有安排股道的车次,使用 单线、允许正线停车 的算法,自动安排股道。
各种铺画模式下的股道安排、名称及其意义为:
单线铺画 。车站股道依次编排为
Ⅰ, 2, 3, ...。其中,Ⅰ道称为 正线 ,其他股道皆称为 侧线 。双线铺画 。车站股道依次编排为
..., 3, Ⅰ, Ⅱ, 4, ...。其中,Ⅰ, Ⅱ道分别为下行正线和上行正线,其他单数股道为下行侧线,双数股道为上行侧线。在本站运行方向为下行的列车只安排使用下行股道(包括正线、侧线),上行同理。如果存在交路接续的情况,其行别按后续车次决定。手动铺画 。首先使用车次时刻表中出现过的股道名称,建立相应的股道。无股道信息的列车,首先在已有股道内安排,如果排不下,则建立新的股道。新建股道名称自动编为
A1, A2, ...。
备注
请注意qETRC中车站股道名称为 字符串 ,时刻表中给出的股道名称按 字符串匹配 的方式对应到已有股道。这就是说,股道名称不限于数字,并且 1 和 01 将指向不同的股道。
使用自动铺画时, 正线停车 选项决定停车列车的安排方式。若选择允许,则停车的列车从正线开始,依次遍历所有股道(双线情况的为同方向的股道),直到能够安排该列车为止;若选择不允许,则停车的列车不考虑安排在正线,而是从第一侧线开始安排。通过的列车总是优先从正线开始安排。
同向接车间隔 规定同一股道上、同行别的两车次的最小间隔。在安排车次时,只有待安排车次与前后的同方向列车距离都不小于此设定项时,才认为不发生冲突。默认值为0,即两列车占用股道时间只要不重叠就可以接受。 对向接车间隔 相似地适用于同一股道上、不同行别的两车次。
股道名称和顺序编辑
调整股道名称和顺序有两种方式。
一是 与pyETRC相同的自由编辑,仅在手动铺画模式下有效。可在表中自由增加、删除、调整股道名称和顺序,点击 铺画 按新的股道次序铺画股道图。有如下的规则:
在手动铺画模式下(启动时默认是这样的),如果线路数据中有股道信息、或者用户已经设置过股道信息然后点击铺画,则系统首先将股道信息表中的股道按顺序安排(即使有的股道并没有图定车使用,也会安排)。
- 如果有的车次停站信息中的股道不在股道表中,则在后面追加该股道。增加股道的顺序是不确定的(事实上,取决于扫描车次的顺序)。
例如,如果某站股道表为Ⅰ, 2, 3,某车次在该站停靠股道为1,则该股道不在股道表中,股道信息将变为Ⅰ, 2, 3, 1。我们再次强调,股道匹配是按照字符串匹配的原则进行的。
对于没有股道信息的车次,系统将尝试安排到既有股道;如果既有股道都不能安排该车次,则新建股道,新建股道命名格式为
A1, A2, ...。在手动铺画模式下,如果没有输入的股道次序信息(即:线路信息中的股道次序表,或者用户指定的股道次序表),则将所有车次信息中的股道添加到股道表后,进行一次基于字符串比较的排序。
二是 仅对股道进行重命名或调整顺序。这是qETRC新增的功能,既可以用在手动铺画中,也可以用于调整自动铺画所得的股道顺序。此时只能调整股道的顺序,或对股道重命名,但这些操作不会触发重新铺画。
点击 调整股道次序表 后的 调整 按钮,弹出对话框如上图所示。双击单元格可以编辑股道名称;点击 上移 或 下移 可以改变股道顺序。点击 铺画 可以更新股道图。
警告
请注意任何调整都立即生效,且不可撤销,无论是否点击 铺画 。更改股道名称时请特别小心,切勿将股道重命名为空白或冲突的名称,否则将导致不确定的结果。
车站时刻表
- 起始版本:
V1.0.0
- pyETRC对应功能:
车站时刻表
- 最后修改:
…
- 工具栏:
线路工具(8) | 车站车次
车站时刻表功能,或称为车站车次表功能,是提供线路上某一车站的所有 图定 列车时刻表的功能。此功能与pyETRC的车站时刻表功能基本一致。
打开本功能并选择车站后,显示如上图所示的表格。其中,每一行为一趟列车一次图定经过本站的信息,包含列车的基本信息,到点、开点、股道等。若列车多次经过本站(通常是因为列车折返运行),则每次经过都有一行数据与之对应。
小技巧
本功能只包含 图定 列车信息,也就是列车时刻表中包含当前车站的情况。对于列车时刻表上没有本站,但运行线跨过本站的情况,本功能 不会 推定其通过时刻。 如需推定这种情况下的通过时刻,请使用车站事件表功能。
车站事件表
- 起始版本:
V1.0.0
- 最后修改:
…
- pyETRC对应功能:
无
- 工具栏:
线路工具(8) | 车站事件
车站事件表功能,提供线路上某一车站时刻表上的所有“事件”的列表。这里的事件是指列车到达(终到)、出发(始发)、通过该站。此功能与车站时刻表功能有些类似,但有些重要的差别:
车站事件表功能是基于“事件”的,而车站时刻表功能是基于“列车”的。体现在,若列车在本站停靠,则在车站时刻表功能中对应于一行数据,而在车站事件表中,到达和出发分别是独立的事件,对应于两行数据。
对于时刻表上无本站、但运行线与本站水平线相交的列车,车站事件表功能自动推算通过时刻(在
备注列标出推算),而车站时刻表功能不做这种推算。
qETRC将车站事件分为站前事件和站后事件。这里的站前和站后是指车站 里程标 小端和大端。站前事件是指,考察从本站出发向上行方向(里程标减小端)移动一充分小距离处,能影响该处的事件。从运行图角度,可以理解为,在本站的车站水平线上方一无限小距离处绘制水平线,与之有交叉的运行线所对应的事件。实践中,这包含下行列车的到达(或终到)事件、上行列车的出发(或始发)事件。类似地,下行列车出发(或始发)、上行列车到达(或终到)事件属于站后事件。列车通过事件同时属于站前事件和站后事件,在表中记作 前后 。
小技巧
站前/站后事件的定义的出发点是模拟在车站附近拍摄过往列车的情况。考虑在站前端(里程小端),则能拍摄到的是到达的下行列车、出发的上行列车;但出发的下行列车在车站的另一端,是拍摄不到的。站后端亦然。
重要
注意,此处的“站前”与“站后”皆是相对于线路里程标而言的:里程标小端为站前,里程标大端为站后。这与列车运行时经过的先后顺序不一定相同。
打开本功能并选择车站后,显示的事件表如上图所示。可以根据事件发生的位置(站前或站后)筛选显示的事件,亦可使用列车筛选器。
间隔分析
- 起始版本:
V1.0.0
- 最新修订:
V1.2.0
- pyETRC对应功能:
无
- 工具栏:
线路编辑 上下文页面 | 间隔分析
- 其他入口:
车站事件表功能对话框 | 下方 间隔分析 按钮
小技巧
关于本系统所使用的间隔系统的详细定义,以及部分实现相关的技术内容,请参见专栏文章。https://zhuanlan.zhihu.com/p/409619647
重要
qETRC所采用的间隔定义形式仅适用于本系统内部,不代表任何官方定义。实际使用时请仔细确认各间隔类型的详细定义形式,以及与所需要的数据是否一致。
此功能提供对单个车站的列车间隔分析。这里的 列车间隔 是指(根据本系统规定)能够有相互影响的两个 列车事件 之间的 时间间隔 。列车间隔的数据来源于对 车站事件表 数据的整理分析。 打开本功能并选择车站后,显示如下图所示的界面。
其中, 间隔类型 主要包括两类:
根据本系统规定,能够直接相互影响的两个车站事件之间的间隔。相互影响,是指两个事件发生在车站的同一端(站前端或站后端,详见 车站事件表 )。间隔类型由四个字描述,前两个字表示两事件相应的列车运行方向,后两个字表示两列车在本站的事件类型。例如,上表中行号为52的
上行通发表示此间隔的前事件为(G36次)在本站上行通过,后事件为(G7395/G7398)次在本站为上行发车。在单线区段还可能有对向之间的事件,例如上下到发表示前事件为上行到达,后事件为下行出发。特殊事件
待避。虽然不适用于一般规定,但由于可能经常用到,本系统特别规定了这种特殊类型的间隔。它定义为,若两列车之间存在潜在冲突,且有列车先到达本站、后出发,则认为该列车在本站发生待避间隔,待避间隔为到达时刻至出发时刻的时长。
上图中, 位置 表示间隔相关的两个事件发生的位置,即站前或站后(详见 车站事件表 )。特别地,待避事件不存在“位置”;两列车皆为通过的事件,同时为站前和站后事件。
前车次 前时刻 后车次 后时刻 分别是与本间隔相关的两个事件的车次和时刻。特别地,待避事件的前后车次皆为当前车次,前后时刻分别为在本站的到达和出发时刻。
数量 列仅适用于待避类型,是指列车待避的列车数量,即列车在本站停靠期间,比之后到达、先出发的可能存在潜在冲突的列车数量。
最小间隔 规定所分析的间隔的最小值。若系统分析出小于这个值的间隔,该间隔数据将被忽略。默认值为0,即考虑所有可能的间隔。每种类型中间隔时间最小的行以红字标出。通常,在存在共线运行情况的运行图中,共线两车次之间的某些间隔类型的最小间隔可能是0。为了排除这些数据的影响,得到有意义的最小间隔,可以设置此项目为合适值。
点击下方的 统计 按钮,弹出右侧所示的对话框。其中列出了各种间隔所对应的数据数量(即左边表中的行数)和最小间隔值。
间隔汇总
- 起始版本:
V1.0.0
- 最新修订:
V1.2.0
- pyETRC对应功能:
无
- 工具栏:
线路工具(8) | 间隔汇总
间隔汇总功能,一次性统计本线路所有车站的所有间隔类型的最小间隔。打开本功能后,显示如下图所示界面
其中,横排表头显示各种间隔类型名称,第一行(带背景色)显示各种间隔的全线最小值(是这一列所有数据中的最小值),此后每行显示一个车站的各种间隔类型的最小值。 若某车站没有出现某种类型的间隔,则该空格留空。
双击车站对应行,显示相应车站的 间隔分析 界面。
在顶端可以编辑列车筛选器和考虑的最小间隔。未被列车筛选器选中的列车,将不参与间隔分析;分析出来的间隔若小于所设定的最小间隔,则相应数据被忽略。
线路断面分析
断面分析是对车站事件表逻辑的推广。车站事件表,是在线路上某个车站处观察所能得到的事件情况。若将观察点从车站推广到线路上任意里程标的位置,就是“断面事件表”的功能。另一方面,车站事件表/断面事件表可以理解为在运行图上横向切片得到的事件(即在运行图上划一条水平线,记录所有与之相交的运行线情况),若将水平切片改为垂直切片,即某一时刻线路上所有列车的运行状态,就是“运行快照”功能。
断面事件表
- 起始版本:
V1.0.0
- 最新修订:
?
- pyETRC对应功能:
无
- 工具栏:
线路工具(8) | 断面事件
如前所示,断面事件表功能,是对车站事件表功能的推广,允许查看区间任意给定里程标处的事件表。可以理解为,在区间某指定里程标处观察列车通过的情况。启动本功能后,显示如下界面。
输入 公里标 后,点击 确定 ,显示相应公里标处的事件表。由于本功能提供的是 区间 某一里程处的事件表,列车在区间只能是运行状态,因此所有的“事件类型”实际上都是“通过”,表中的信息相比车站事件表简单得多。各列的标题具有显然的含义。
备注
断面事件表功能只提供 区间 的事件表,不提供车站站内的事件情况。如果输入的里程标与某一车站的里程标重合,将理解为车站 站前区间 (即里程标减小端)的区间事件表,或者说,在所给里程标上,向里程标减小端做一无穷小位移处观察到的区间事件。如需查看站内事件,请使用 车站事件表 功能。
运行快照
- 起始版本:
V1.0.0
- 最新修订:
?
- pyETRC对应功能:
无
- 工具栏:
线路工具(8) | 运行快照
运行快照功能提供某一给定时刻下,当前线路上各列车的运行状态。比较类似于ETRC动态运行图输出的运行日志。
启动本功能后,显示界面如上图所示。输入时刻,并点击 确定 ,显示各列车运行状态。
表中,每一行为一列车的当前时刻运行状态。其中, 里程标 表示列车当前所在位置的里程标(包含站内情况,若是站内则显示车站的里程标), 位置 表示当前位置所属的区间或者车站, 状态 分为 运行 和 停车 两种。