張 敏,李春艷,王福田
(北京交通大學(xué) 交通運輸學(xué)院,北京 100044)
鐵路是我國重要的基礎(chǔ)設(shè)施,一旦發(fā)生事故,將會造成嚴(yán)重后果和不良社會影響。因此,事故預(yù)防及應(yīng)急管理至關(guān)重要。對于鐵路突發(fā)事件來說,應(yīng)急救援以及物資的配送主要通過公路和鐵路兩種方式。而鐵路運輸靈活性較差的特點決定了鐵路救援及物資的配送必須與公路運輸相結(jié)合[1]。在這種情況中,需要保證運輸過程的連續(xù)性,其中,地理位置信息的兼容性是解決運輸連續(xù)性的首要問題。
在鐵路事故的應(yīng)急救援中,事故地點所屬單位向上級報告,只報告事故發(fā)生的時間、地點、線名、里程、事故相關(guān)單位和人員,即位置信息是通過線名和里程表述,是一維坐標(biāo)系;而公路運輸一般是利用經(jīng)緯度來確定事故發(fā)生地點進行救援,即二維坐標(biāo)系。在實施救援過程中,這就需要一種能夠快速進行坐標(biāo)轉(zhuǎn)換,并能按轉(zhuǎn)換得到的坐標(biāo)進行定位與導(dǎo)航的方法。
目前,對于應(yīng)急管理的研究,主要集中在理論和實踐兩方面。鐵路應(yīng)急管理理論研究主要集中在應(yīng)急救援處置、預(yù)案、資源與物流、評價體系等方面;在實踐方面,主要是指鐵路應(yīng)急管理信息系統(tǒng)和應(yīng)急平臺的建設(shè),如鐵路局應(yīng)急救援指揮系統(tǒng)[2]。里程和二維坐標(biāo)的轉(zhuǎn)換主要應(yīng)用在公路、鐵路施工過程中的測量環(huán)境環(huán)節(jié)[2-6],包括3方面的內(nèi)容:(1)里程與二維坐標(biāo)的相互轉(zhuǎn)換,如孫慧敏等[3]采用里程、偏距坐標(biāo)系統(tǒng),根據(jù)設(shè)計的參數(shù)與工程坐標(biāo)系統(tǒng)進行相互轉(zhuǎn)換;(2)二維坐標(biāo)向里程的轉(zhuǎn)換,如李富強等[4]根據(jù)組成路線的線型的不同,使用CASIO fx-4800p袖珍計算器把測量坐標(biāo)變換為路線里程的方法;(3)里程向二維坐標(biāo)轉(zhuǎn)換,如高潤喜[5]分別用導(dǎo)線法與偏距法計算了曲線橋梁墩臺中心坐標(biāo),并進行了比較,在使用偏距法時按照線型的不同分別計算。綜上所述,將一維坐標(biāo)系轉(zhuǎn)換為二維坐標(biāo)系存在多種方法,但一般來說存在計算復(fù)雜、參數(shù)較多或需按線型分情況討論的問題。原有應(yīng)急管理平臺大多集成在PC端,缺乏靈活性,不能直接借助平臺導(dǎo)航到事故地點。
本文針對事故發(fā)生地點在鐵路運輸和公路運輸中的描述不兼容的問題,研究一種快速有效的坐標(biāo)轉(zhuǎn)換算法,在此基礎(chǔ)上設(shè)計基于移動終端的鐵路工務(wù)應(yīng)急定位與導(dǎo)航服務(wù)系統(tǒng),建立鐵路線路中里程與經(jīng)緯度坐標(biāo)的映射數(shù)據(jù)庫,繪制鐵路線路圖,實現(xiàn)定位與導(dǎo)航。
利用MapInfo中鐵路線的基礎(chǔ)圖層生成控制點數(shù)據(jù)。從圖1可以看出,控制點是鐵路線路中已知坐標(biāo)的點,屬性主要包括:線路名(railName)、里程(mileage)、緯度(lat)、經(jīng)度(longi)。這里的經(jīng)緯度坐標(biāo)系為WGS84[7]。鐵路線路圖是由相鄰控制點連接的折線組成,如圖1所示。
圖1 鐵路線路中的控制點
當(dāng)事故地點P點上報時,需要輸入P(railName,mileage)來計算P(longi,lat),分以下3種情況:
(1)P點是控制點中的一個。遍歷所有控制點的railNamei和mileagei,查找railNamei=railName且mileagei=mileage,則獲得經(jīng)緯度。
(2)P點是折線段上的一點。遍歷所有控制點數(shù)據(jù),找出P點所在的線段,即起始點和終止點,根據(jù)比例關(guān)系求P點的經(jīng)緯度坐標(biāo)。起始點的里程為startMileage,緯度為startLat,經(jīng)度為startLongi;終止點的里程為endMileage,緯度為endLat,經(jīng)度為endLongi。公式如下:
(3)以上2種情況都不符合。如圖1所示,鐵路線路圖中第一個控制點并不是鐵路中里程為0的點,即存在部分里程點的mileagei值小于第一個控制點的mileage值。這時候需要選取鄰近控制點進行近似處理。
以京滬線中馬家堡立交為例,馬家堡立交的中心里程為10.014:(1)判斷控制點中是否存在mileagei=10.014的點,經(jīng)過查詢不存在;(2)判斷是否為折線段上的一點,根據(jù)京滬線折線段數(shù)據(jù)得知,馬家堡立交的中心里程是折線段133上的一點,則可根據(jù)式(1)、式(2)分別求出馬家堡立交的緯度和經(jīng)度。
經(jīng)過實例檢驗[6],里程點的坐標(biāo)換算滿足一定精確度的要求。而鐵路救援及物資配送中對事故地點定位的精確度要求不高,更側(cè)重快速和可到達性,即利用網(wǎng)絡(luò)地圖實現(xiàn)定位與導(dǎo)航。以百度地圖為例,即需要將上述所求坐標(biāo)轉(zhuǎn)換為百度坐標(biāo),借助百度地圖接口實現(xiàn)定位,并導(dǎo)航到目的地。
鐵路工務(wù)應(yīng)急定位與導(dǎo)航服務(wù)系統(tǒng)是指在移動終端利用網(wǎng)絡(luò)地圖接口開發(fā)App,利用網(wǎng)絡(luò)地圖中的地圖服務(wù)繪制高精度鐵路線路圖,建立鐵路線路中里程坐標(biāo)與經(jīng)緯度坐標(biāo)的映射關(guān)系數(shù)據(jù)庫,用戶能夠根據(jù)里程坐標(biāo)或工務(wù)設(shè)備名稱進行應(yīng)急定位,基于網(wǎng)絡(luò)地圖進行導(dǎo)航。系統(tǒng)功能,如圖2所示。
圖2 功能設(shè)計
利用鐵路線路中運營里程和經(jīng)緯度的映射關(guān)系,在網(wǎng)絡(luò)地圖的基礎(chǔ)圖層中繪制鐵路線路圖。
分2種定位方式:(1)以鐵路線路名、里程定位;(2)以工務(wù)設(shè)備名稱定位,實現(xiàn)按照用戶輸入信息定位,并使其顯示在以網(wǎng)絡(luò)地圖為基礎(chǔ)的圖層上。
借助網(wǎng)絡(luò)地圖提供的接口,實現(xiàn)按用戶輸入的關(guān)鍵詞進行搜索與定位,確定用戶出發(fā)點。
借助網(wǎng)絡(luò)地圖提供的接口,實現(xiàn)從出發(fā)點到事故地點的導(dǎo)航。
開發(fā)鐵路工務(wù)應(yīng)急定位與導(dǎo)航服務(wù)系統(tǒng),需要建立鐵路線路的里程坐標(biāo)、設(shè)備名稱與經(jīng)緯度坐標(biāo)的映射關(guān)系數(shù)據(jù)庫。用戶在系統(tǒng)的使用過程中只對數(shù)據(jù)庫中的數(shù)據(jù)進行查詢,因此選擇將數(shù)據(jù)庫封裝到應(yīng)用程序中。同時管理人員需要定期對數(shù)據(jù)庫進行維護,主要包括控制點數(shù)據(jù),工務(wù)設(shè)備數(shù)據(jù)和里程處理表。(1)控制點數(shù)據(jù)指運營里程和經(jīng)緯度的映射關(guān)系數(shù)據(jù);(2)工務(wù)設(shè)備數(shù)據(jù)指工務(wù)設(shè)備名稱與中心里程之間的映射數(shù)據(jù);(3)里程處理表是指對相鄰控制點進行里程做差得到的數(shù)據(jù)。
系統(tǒng)以Java作為主要開發(fā)語言,選用Android Studio作為集成開發(fā)環(huán)境,利用百度地圖接口,按功能設(shè)計進行開發(fā)。本節(jié)將選取系統(tǒng)中的重要功能做簡要介紹。
圖3是應(yīng)用程序的主界面。在開發(fā)過程中,選取了京滬線的部分?jǐn)?shù)據(jù),從圖中可以看到,京滬線的線路圖為用戶提供了2種定位方式。
圖3 繪制鐵路線路圖界面
圖4、圖5分別是用戶輸入線名、里程或者工務(wù)設(shè)備名稱進行定位的結(jié)果界面,并提供了導(dǎo)航的按鈕。圖4中,京滬線里程為5的位置在地圖中用紅色圖標(biāo)標(biāo)識出來,在紅色圖標(biāo)附近顯示該位置在WGS84坐標(biāo)系下的經(jīng)緯度,同時在界面底部顯示了該點的位置信息,包括線路名、里程和與用戶當(dāng)前位置的直線距離。圖5中,京滬線馬家堡立交用紅色圖標(biāo)標(biāo)識出來,并在附近顯示該位置在WGS84坐標(biāo)系下的經(jīng)緯度,同時在界面底部顯示了該設(shè)備名稱及與用戶當(dāng)前位置的直線距離。
圖6為用戶導(dǎo)航界面,利用百度地圖接口實現(xiàn)。圖中為從北京站導(dǎo)航到馬家堡立交,顯示到達時間以及導(dǎo)航路線,并向用戶提供文字導(dǎo)航、語音播報。
圖4 輸入里程定位界面
圖5 輸入工務(wù)設(shè)備名稱定位界面
圖6 導(dǎo)航界面
在解決應(yīng)急管理中地理位置信息不兼容的過程中,一維線性坐標(biāo)系的里程向二維坐標(biāo)系的經(jīng)緯度轉(zhuǎn)換是首要問題。在查閱文獻后,研究了一種快速有效、輸入信息較少的算法,滿足了里程點的坐標(biāo)換算,實現(xiàn)了一定精確度的要求,在此基礎(chǔ)之上,以百度地圖為例開發(fā)系統(tǒng),實現(xiàn)了定位與導(dǎo)航。本文采用的模型中數(shù)據(jù)維度較少,數(shù)據(jù)采集簡單,計算模型和算法易于實現(xiàn),可根據(jù)轉(zhuǎn)換得到的坐標(biāo)導(dǎo)航到目的地,對應(yīng)急管理中的救援具有重要意義。