赵宜芳
(中国铁路设计集团有限公司,天津 300251)
在既有线测量工程中,站场图测绘的工作内容较多,数字化的成果数据量较大,尤其是在编组站等大型枢纽站场测绘项目中,站场图的测绘是一项复杂的工作。采用高分辨率立体航测技术可以获取站场地形图,从而获取站场内股道、站房、信号灯、警钟标、道岔、车档等站场设备的精确采集数据[1-8]。通过外业实地测量,可以得到站场设备对应的里程,以及各种设备的型号和铁路沿线的调查数据。在既有线站场图成果中需要将航测立体采集成果与外业丈量调查的成果统一集成到CAD的数字成果中。传统的作业方式主要采用手动方法将不同设备的里程、道岔的位置以及相应调查数据的信息输入到CAD文件中,耗费大量人力,工作效率较低,容易出现错误。
随着AutoCAD平台应用的深入,基于ObjectARX二次开发的应用也越来越多。蔡建国等[9]基于AutoCAD平台,利用AutoCAD提供的二次开发接口,在铁路勘测专业调查中进行了应用研究;张继兰[10]和王欣等[11]对AutoCAD二次开发工具ObjectARX的开发原理和特点进行了介绍,阐述了基于ObjectARX二次开发的运行机制,并总结了开发中存在的问题;窦学颖[12]对既有铁路复测资料的数字化进行了研究,采用ObjectARX技术研发的系统能够实现复测资料的自动标注,但是该系统尚不能对数据表及道岔进行自动化批量制作。
基于ObjectArx方式进行AutoCAD二次开发,可实现航测地形图与外业丈量调查数据的融合,最终形成标准的CAD数字成果。基于ObjectArx开发的方式可以实现既有线站场图资料的自动化成图,显著提高工作效率。
根据站场图成果的制作要求,将站场图中站场股道、道岔及坡度表导入CAD,站场设备里程标注以及站场道岔上图等内容存在人工交互工作量大,插入CAD的成果制作需要标准化等难点。根据上述工作内容的数据对象不同,通过AutoCAD二次开发的方式,调用不同的接口函数,实现不同工作内容的批量标准化制作。
在站场图成果制作中,需要将站场地形图、股道表、道岔表以及坡度表等数据表格全部输入到站场地形图中。传统方法通过复制表格内容直接以CAD图元的形式插入到地形图中。在实际生产中发现,传统方法存在粘贴后文字出现乱码、粘贴的文件没有考虑比例信息、需要手动调整表格大小及相应文字大小、坡度表数据无法表示成坡度/距离的形式等问题。
对股道表、道岔表及坡度表(见图1)进行分析,股道表与道岔表采用程序自动读入的方式相对简单,可将excel表格中的数据直接复制到CAD文件中。导入股道表中的“#”时,需要采用上标形式标注“#”字符。表格导入CAD的基本方法如下:①将采集的数据和台账数据按照标准规则写入excel中;②统一读取excel表格数据,确定其在cad中的位置及表格框大小等,将其基本样式绘制出来;③逐条读取excel表格中记录的属性项,确定数据写入的合理位置。
图1 外业调查道岔、股道与坡度数据格式
坡度表的导入方法相对比较复杂,采用程序实现坡度表导入时,除了需要注意“#”的标注形式外,还需将坡度表两个坡率与坡长的表格形式转换成坡度/距离的形式,同时要区分坡度方向(坡度的正负决定了坡度斜线的方向)。表格导入CAD的实现方法如下:根据每个股道中坡率/坡长的列数,计算每个坡度表格的位置,将坡率与坡长之间的斜线建立y=ax+b的函数关系式,综合a=坡率及斜线经过每个网格的中心点,即可确定每个坡度线的位置及方向。
既有线站场图成果中,站场中心里程,站场内部的桥梁、涵洞、信号机、平交道以及曲线资料等均需要标注在车站图中(见图2、图3)。传统的方式采用手动逐个标注,对于长大干线铁路来说,手动标注需要投入大量人力成本,并且容易出现错误。另外,采用全手动标注里程时,容易出现标注格式不一致的情况,影响车站图的美观。
图2 桥梁数据
图3 涵渠数据
站场设备里程标注采用如下方法:①对全线航测采集的铁路中线与外业丈量的里程位置进行里程平差,获取任意百米标的里程及坐标;②为了减少平面投影的误差,将站场范围内中线拆分成不同的段落(每公里拆分成一个段落);③选择站场范围内航测采集的中线,根据对应段落起点的平差里程,确定需要标注里程的位置;④根据外业丈量数据表中站场设备的里程信息,完成该段落内设备里程的标注。
站场图中,道岔是连接两个股道的关键铁路设备。在大型铁路交通枢纽中,道岔数量、种类、型号繁多。道岔的型号不同,其绘制符号的长度、形状均不相同。这种情况下,通过航测采集的方式不能确定型号,需要在后续处理中结合台账资料进行添加,且道岔的叉心位置确定起来比较困难,使得依靠手工作业的方式不可行。结合多个项目信息,统计了站场中常用道岔的基本数据,并将搜集的道岔型号写入程序,插入道岔时可以直接调用。另外,在一些特殊的站场中,部分道岔经过改造加工,传统的道岔参数不能满足要求,需在程序中增加接口(可添加手工输入道岔属性信息的功能。)
在道岔位置标注时,可根据道岔里程表(见图4)中外业调查的岔尖里程以及不同道岔岔尖与岔心里程的换算关系,自动反算岔心的具体位置。
图4 道岔里程数据
调用CAD中的接口函数,实现excel表的批量自动读取,并在CAD中以图形的形式显示。采用C++的类库MFC,将程序以界面的形式进行显示,便于工程应用中大数据量的操作,站场数据表成果自动输出流程如图5所示。在道岔表与股道表的数据读取时,可以直接将表格中的数据导入到CAD图形汇总。坡度表导入时,首先确定表格的网格点,根据网格点的相对坐标计算表格中的坡度斜线。选择某铁路既有线车站的坡度表、道岔表及股道表进行实验。采用自行开发的程序将数据读取到CAD中,其结果如图6所示。相较于人工输入的方式,软件操作能够大幅提高工作效率,并且降低了出错的概率。
图5 站场数据表自动读取流程
图6 站场数据读入CAD显示结果示意
调用CAD中的接口函数,直接读取txt文件表数据。以桥涵表为例,桥梁表中每列的字段类型必须固定,分别为桥梁中心里程、孔数、跨度及样式、桥梁全长;涵渠表中每列中固定的字段名称为涵渠中心里程、式样或种类、孔数、孔径、长度。采用C++的类库MFC,将程序界面化。基于开发软件,实现站场设备资料自动标注的流程如图7所示。
图7 既有线桥涵里程标注流程
采用程序方式标注桥涵等铁路构筑物信息:根据桥梁表及涵渠表中的里程信息,在CAD图中选择铁路中线线位,输入起始点的里程信息,程序可自动计算每个需要标注的桥涵信息,根据选定的标注样式,完成桥涵数据的自动标注。选择某铁路既有线部分段落的桥涵数据进行操作,图8为标注在站场地形图中的成果数据,红框范围内文字为程序标注的内容。如果在铁路某些里程处桥涵数据较多,或者与其他标注资料存在冲突时,则需要手动编辑图形资料,以保证图形成果的美观。
图8 桥涵里程标注成果示意
将常用道岔参数集成在软件界面上,道岔上图时可以直接选择。基于开发程序的道岔标注流程如图9所示。
图9 道岔标注流程
站场道岔标注是站场图制作中比较复杂的部分,经过程序自动标注的道岔信息,还需要进行手动编辑,利用道岔表、股道表中的里程数据和长度信息,计算每个道岔的岔心里程。位于正线以外的道岔,需要借助正线的投影里程确定岔心位置。对于特定里程的道岔,岔心里程确定后,选中道岔所涉及的两条线位,并选择对应的型号,再进行标注。另外,道岔标注时还需要注意道岔的方向。经过程序标注及手动编辑之后的道岔成果如图10所示,其中红色方框内岔尖标志为程序自动标注生成。
图10 站场图道岔标注成果示意
针对站场图涉及的资料多、数据量大、调查数据上图工序复杂等特点,对站场图中站场数据表导入、站场设备里程标注以及道岔上图等三个工序进行详细分析。根据站场图制作中上述三个工序传统操作流程中存在的弊端,采用基于ObjectArx的CAD平台开发了三个CAD界面程序,实现了站场数据表的批量自动导入,能够完成外业调查坡度数据导入CAD中显示格式的转换;可实现站场中桥梁表、涵渠表等表格数据的自动批量标注功能,以及站场中任意类型道岔的位置标注。
采用程序与手动交互的方式,站场图制作的效率提高了80%以上,极大地节省了人力成本的投入,实现了站场资料成图的程序化、标准化。