趙宜芳
(中國鐵路設計集團有限公司,天津 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%以上,極大地節省了人力成本的投入,實現了站場資料成圖的程序化、標準化。