基于DXF 接口文件的铁路枢纽网络数字化模型构建
2021-07-06方琪根王保山
骆 晖,方琪根,王保山
(1.中铁第四勘察设计院集团有限公司 线路站场设计研究院,武汉 430063;2.北京交通大学 交通运输学院,北京 100044)
铁路枢纽位于铁路网的交汇点,由多条线路、多个车站及其他设施、设备组成。若用文本或表格等形式表现其结构特征和信息,不易表述清晰,且在枢纽车站布局、规模、联络线设置[1]等设计方案发生改变时,设计人员难以直观地考察各方案的枢纽客货运输能力的情况。因此,需要通过图形化界面向用户演示枢纽的结构特征,以及线路、车站等实体及其属性[2],并对枢纽能力进行计算。根据不同设计方案生成铁路枢纽客货运输能力结果,并通过图形化界面显示给用户,便于用户查看各种设计方案对应的枢纽能力,从而对枢纽设计方案有更清晰、直观的理解[3-4]。
因此,本文结合我国铁路枢纽设计研究的实际情况[5],利用AutoCAD 的铁路枢纽网络设计文件,生成数字化的铁路枢纽网络[6],为研究铁路枢纽结构、优化铁路枢纽布局提供数据支撑[7-9]。
1 铁路枢纽设计文件格式
AutoCAD 计算机辅助设计软件广泛应用于二维绘图和三维设计等领域。它的数据文件主要有DWG、DWS 和DXF 等格式。其中,DXF 为文本形式,保存了AutoCAD 有关图素的详细信息,是普遍使用的AutoCAD 外部接口文件。
1.1 DXF 文件结构
DXF 文件主要由标题段(Header)、表段(Tables)、块段(Block)、实体段(Entities)和文件结束段(Eof,End of file)5 部分组成。
DXF 利用行存储数据,每2 行为1 组,第1 行为组的代码,第2 行为组的值,1 个组代表1 个数据,本文为了表述方便,将DXF 文件的内容简化,如表1 所示。虽然DXF 文件结构复杂,但只要根据需求获取建模所需实体段就可以完成相应实体的提取。
表1 信息表述样例
表1 右侧是本文采用的形式,即将左侧DXF 文件中用两行表示的组码和组值放在同一行中,并用“::”符号将两部分分开。
1.2 铁路枢纽网络设计样例
图1 是AutoCAD 软件绘制的某铁路枢纽的局部样例,为展示细节,将紫色框框定的部分区域放大。由图1 可看出,用AutoCAD 设计的枢纽图中,主要有2 种图素:线条和文字。线条都是由多段线(pline)绘制的,包括2 种:用闭合的6 边形表示车站;用不同颜色的线条表示铁路线路。文字是单行文字(dtext),是对闭合6 边形的标注,表示车站名称。
图1 AutoCAD 绘制的某铁路枢纽局部样例
设计人员在生成枢纽图时,利用AutoCAD 图形分层组织的特性,将不同的线路绘制在不同的图层上,为枢纽网络数字化建模提供了较大便利。
2 DXF 枢纽网络图信息格式
2.1 线路信息
由于不同的线路存储在不同的层上,且用线路名命名图层,所以只需从DXF 中读出层的定义就可得到枢纽范围内的线路信息。层的定义在表段只出现一次。DXF 文件中的图层信息格式如下:
其中,“100::AcDbSymbolTableRecord”是符号定义;“100::AcDbLayerTableRecord”表示后续若干信息是对1 个图层的描述;“2::京沪铁路”中“京沪铁路”是图层的名称;“62::7”表示图层的颜色。第4、6 行信息本文没有采用,因此没有给出说明(后面DXF 文件信息格式中没有用到的信息也一并忽略)。
2.2 车站名称
车站名称是单行文字,存储在实体段,且隶属于指定图层。单行文字信息格式如下:
其中,“100::AcDbText”引导一个单行文字信息;“10::2 235.15”表示单行文字的x坐标;“20::1 258.66”表示单行文字的y坐标;“30::0.0”表示单行文字的z坐标;“40::1.35”表示文字的高度;“1::高里”表示单行文本信息是“高里”。
2.3 车站外型
车站外型是用多段线绘制的六边形,存储在实体段,且隶属于指定图层。车站外型信息格式如下:
其中,“100::AcDbPolyline”引导一条多段线信息;“90::6”表示多段线由6 个点组成;“70::1”表示多段线闭合;组码10 和组码20 表示一个点的(x,y)坐标,本文列出了多段线经过的2 个点的(x,y)坐标,后面的点省略。
2.4 线路组成
2.4.1 直线绘制
铁路线路用多段线绘制,存储在实体段,且隶属于指定图层。区间线路信息格式如下:
其中,“100::AcDbEntity”表示当前在实体段;“8::京沪铁路”表示后面的信息属于图层“京沪铁路”;“100::AcDbPolyline”表示这是一条多段线;“70::0”表示多段线不闭合;组码10 和组码20 给出了多段线的第1 个点的坐标(x,y)的值。
2.4.2 曲线绘制
在绘制多段线时,有时会插入曲线,区间线路信息中有圆弧的信息格式如下:
其中,“42::0.18”表示一段圆弧,它的凸度是0.18,这个值是该圆弧所对圆心角的1/4 角的正切值,如图2 所示。
图2 凸度计算示意
建模时,为了降低模型的复杂度,可把多段线中的曲线部分分割成若干段小的折线,将区间线路统一用折线表示。
3 数字化枢纽网络模型
建立数字化的铁路枢纽网络模型,需从DXF 文件中读取铁路枢纽有价值的信息,把线路、车站、区间等实体的特征数据合理、有效地组织、关联起来,生成既相对独立又相互联系的有机整体,为后续研究工作提供数据支持。
3.1 数据结构定义
(1)线路索引数据结构
如表2 所示,线路ID 通过人工分配;线路名称来自DXF 接口文件,数据长度为49;线型和颜色可继承DXF 中对应的涂层的线性和颜色值;年度/车种是否可用信息则需要通过信息加工模块补充完善。
表2 线路索引数据结构
(2)车站信息数据结构
如表3 所示,fPnts 记录的六边形顶点坐标来自DXF 文件中的闭合多段线信息;车站名称来自DXF文件的单行文本信息,数据长度为49,但文本信息与车站的绑定需要经信息加工模块人工完成;车站类型需人工定义。
表3 车站信息数据结构
(3)区间线路组成信息数据结构
表4 中所有字段信息都来自DXF 文件相应内容。
表4 区间线路组成信息数据结构
(4)车站区间连接信息数据结构
如表5 所示,当AutoCAD 格式的设计资料较规范时(区间线路的端点都落在六边形内),则iStaFID 和iStaTID 可在模型生成时自动填入;区间线路的运营方向则需通过信息加工模块后期人工赋值。
表5 车站区间连接信息数据结构
3.2 铁路枢纽网络数字化模型生成
根据铁路枢纽实体的特征数据在DXF 文件中不同的表现形式,设计并编制图层处理模块、多段线处理模块和单行文字处理模块,提取实体的关键信息,生成网络数字模型,该方法的架构如图3 所示。
图3 枢纽网络数字模型生成方法架构
模型生成阶段,通过批量读入DXF 接口文件,生成铁路枢纽网络数字化模型的主要数据,同时,利用信息加工模块补充区间线路运营方向、线路的年度/车种运用属性等AutoCAD 设计资料中不能体现的数据。
信息加工模块提供对车站、线路等实体的修改功能,在没有DXF 文件时也能创建网络模型。
3.3 网络模型应用
设计专业的人员根据研究的需要,在网络数字化模型基础上叠加业务数据,计算评价指标,分析网络可能存在的问题,探寻优化方案。如图4 所示,在网络模型基础上,根据线路的功能和径路的费用分配列流,计算并展示线路的能力利用率。
图4 某铁路枢纽线路能力利用率局部
图4 中用颜色定性地表示线路能力利用率,也可以添加标注的形式,定量显示线路的运量和利用率。该铁路枢纽网络数字化模型数据信息主要来自DXF 文件,区间线路和车站的连接关系(图4 紫框部分)由信息加工模块批量添加,区间线路的运营方向(图4 绿框部分)在信息加工模块经人机交互加入。
4 结束语
本文设计的基于DXF 接口文件的铁路枢纽网络数字化模型生成方法,已基于VS2013 编码实现,并应用于铁路枢纽能力检算图形化系统中。使用结果表明:本文设计的方法,可以准确地读取铁路线路、车站和区间线路的组成信息,经过信息加工模块的辅助处理,生成完整的铁路枢纽网络数字化模型,建模便捷、数据完整,能够为研究、评价铁路枢纽提供数据支撑。