999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

城市軌道交通列車運(yùn)行圖編制模擬系統(tǒng)

2013-12-06 06:49:50許王燕
大眾科技 2013年9期
關(guān)鍵詞:系統(tǒng)

許王燕

(同濟(jì)大學(xué)電信學(xué)院,上海 201800)

近年來(lái)隨著城市規(guī)模的擴(kuò)大和地面交通的日益擁堵,發(fā)展軌道交通成為了解決城市交通問題的重要途徑。而列車運(yùn)行圖是軌道交通中指揮列車運(yùn)行的依據(jù),它作為城市軌道交通系統(tǒng)運(yùn)輸組織的工作計(jì)劃與調(diào)整基礎(chǔ),意義重大[1][2]。因此,一個(gè)能夠清晰展示列車運(yùn)行計(jì)劃的運(yùn)行圖對(duì)于軌道交通的正常運(yùn)行具有重要的意義。

城市軌道交通在運(yùn)行過程中受到眾多因素的影響,比如,軌道上的列車會(huì)經(jīng)常出現(xiàn)列車晚點(diǎn),甚至多趟列車連帶晚點(diǎn)等意外情況,所以在實(shí)際運(yùn)行過程中不可避免的會(huì)發(fā)生偏離原定計(jì)劃的現(xiàn)象。因此,調(diào)整修改運(yùn)行圖的功能是一個(gè)設(shè)計(jì)良好的運(yùn)行圖鋪畫編制系統(tǒng)的必備模塊。

本文詳細(xì)闡述了一個(gè)基于MFC的文檔編碼結(jié)構(gòu),使用面向?qū)ο蟮木幊谭绞剑瑢?shí)現(xiàn)了城市軌道交通列車運(yùn)行圖的鋪畫和調(diào)整的程序。最后給出了本程序在上海軌道交通八號(hào)線上的仿真實(shí)現(xiàn)結(jié)果。

1 列車運(yùn)行圖編制模擬系統(tǒng)體系結(jié)構(gòu)

總體結(jié)構(gòu)采用模塊化設(shè)計(jì),便于系統(tǒng)的維護(hù),也有利于系統(tǒng)以后的功能擴(kuò)展。在系統(tǒng)中,車站計(jì)劃員和工作站操作員要實(shí)時(shí)了解列車的運(yùn)行情況,并在需要的時(shí)候?qū)\(yùn)行進(jìn)行調(diào)整操作,因此運(yùn)行圖部分關(guān)鍵技術(shù)包括列車運(yùn)行圖編制、列車運(yùn)行圖調(diào)整、列車運(yùn)行圖輸出及數(shù)據(jù)管理四部分[3]。整體結(jié)構(gòu)如圖1所示。

軟件采用MVC三層架構(gòu),分為數(shù)據(jù)層、控制層和視圖層。其中數(shù)據(jù)層和數(shù)據(jù)庫(kù)、XML文件的交互,為控制層提供數(shù)據(jù)。控制層負(fù)責(zé)接受用戶的控制信息并對(duì)數(shù)據(jù)層提供的數(shù)據(jù)進(jìn)行整合。視圖層負(fù)責(zé)運(yùn)行圖的鋪畫和展示工作。

其中視圖層是整個(gè)系統(tǒng)的核心,列車運(yùn)行圖涉及許多方面的編圖數(shù)據(jù)(列車信息、車站信息、線路信息、車庫(kù)信息、列車時(shí)刻表信息和圖形顯示信息等)的處理和結(jié)果輸出的處理(編調(diào)圖數(shù)據(jù)庫(kù)管理、運(yùn)行圖人工調(diào)整、運(yùn)行圖輸出、列車時(shí)刻表輸出以及指標(biāo)統(tǒng)計(jì)),這些都在控制層中完成[5][8]。

2 系統(tǒng)框架和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

(1)系統(tǒng)框架設(shè)計(jì)。本系統(tǒng)采用了MFC的文檔/視圖結(jié)構(gòu)為框架進(jìn)行開發(fā)。主要圖形數(shù)據(jù)放在CGraphDoc類(從CDocument派生的文檔類)中;在CDisplayView視圖(運(yùn)行圖顯示與調(diào)圖視圖)中用圖形數(shù)據(jù)對(duì)象提供的接口對(duì)圖形數(shù)據(jù)進(jìn)行顯示輸出,即顯示/打印運(yùn)行圖,并在調(diào)圖操作時(shí)對(duì)數(shù)據(jù)對(duì)象進(jìn)行修改;在CGraphView視圖(站名與區(qū)間信息視圖)中,同樣調(diào)用圖形數(shù)據(jù)對(duì)象接口顯示車站和區(qū)間信息。由于車站信息也是運(yùn)行圖的一部分,兩視圖顯示的位置必須一致,二者就依賴于文檔類中的圖形數(shù)據(jù)進(jìn)行統(tǒng)一。

(2)運(yùn)行圖調(diào)整子系統(tǒng)的模塊設(shè)計(jì)。一般來(lái)說調(diào)整系統(tǒng)包含這樣一些功能:運(yùn)行圖圖形顯示和操作,運(yùn)行線的調(diào)整,周轉(zhuǎn)關(guān)系的調(diào)整,調(diào)整約束檢測(cè),和其他一些輔助功能[4]。

圖2描述了運(yùn)行圖調(diào)整子系統(tǒng)的模塊框架以及各個(gè)子模塊之間的相互關(guān)系,圖中細(xì)箭頭標(biāo)示控制流,粗箭頭表示數(shù)據(jù)流。該調(diào)圖子系統(tǒng)與主系統(tǒng)之間只有數(shù)據(jù)信息的關(guān)聯(lián),是松耦合結(jié)構(gòu),因此只要數(shù)據(jù)通訊接口統(tǒng)一,該調(diào)圖子系統(tǒng)完全可以整合到任何編圖系統(tǒng)框架之下。在調(diào)整系統(tǒng)內(nèi)部,分為顯示和調(diào)整兩大模塊,顯示模塊完成運(yùn)行圖圖形顯示和操作,調(diào)整模塊完成運(yùn)行線的調(diào)整,周轉(zhuǎn)關(guān)系的調(diào)整,這兩個(gè)個(gè)模塊均以運(yùn)行圖對(duì)象為數(shù)據(jù)基礎(chǔ),而數(shù)據(jù)對(duì)象則根據(jù)TimeTable生成。顯示與調(diào)整模塊兩者互不干涉的完成顯示和人工干預(yù)的功能,但兩者常常需要通信,因?yàn)檎{(diào)整常基于運(yùn)行圖顯示。

圖2 運(yùn)行圖調(diào)整子系統(tǒng)的模塊圖

(3)運(yùn)行圖數(shù)據(jù)結(jié)構(gòu)。由運(yùn)行圖的組成元素可以將運(yùn)行圖作為一個(gè)大的對(duì)象(TrainGraph),其內(nèi)部包含了運(yùn)行圖網(wǎng)格(Grid)、運(yùn)行線(Train Line)、周轉(zhuǎn)線(Circulation)、到發(fā)時(shí)刻點(diǎn)等對(duì)象。運(yùn)行圖的所有相關(guān)操作都要通過運(yùn)行圖對(duì)象來(lái)完成。因此可設(shè)計(jì)各對(duì)象的關(guān)系如下圖3。

圖3 運(yùn)行圖內(nèi)部對(duì)象關(guān)系

這個(gè)結(jié)構(gòu)是符合一般運(yùn)行圖編制軟件的普遍要求的,運(yùn)行圖中的元素是可增加的,而且具有較好的可擴(kuò)展性,不論是用面向?qū)ο蠡蚍敲嫦驅(qū)ο蟮恼Z(yǔ)言都可以很容易實(shí)現(xiàn)。

實(shí)際實(shí)現(xiàn)時(shí),運(yùn)行圖在接收參數(shù)TimeTable后,就由TimeTable產(chǎn)生了運(yùn)行線集合并保存在鏈表中。其內(nèi)部到發(fā)時(shí)刻保存在數(shù)組中,周轉(zhuǎn)線沒有獨(dú)立成為一個(gè)對(duì)象,而是作為運(yùn)行線的一個(gè)屬性。

所以設(shè)計(jì)時(shí)所有顯示及調(diào)圖操作基本上都圍繞這兩個(gè)類:

CtrainGraph類:負(fù)責(zé)整幅運(yùn)行圖的操作,包括建立運(yùn)行圖對(duì)象、格式設(shè)置、顯示比例設(shè)置、繪制整幅圖、車站及區(qū)間信息顯示等操作。

CtrainLine類:其對(duì)象表示運(yùn)行圖中各段線路。該類負(fù)責(zé)線路的繪制、擦除,提供調(diào)圖操作所需的必要接口。

(4)運(yùn)行圖的輸出與調(diào)整。①運(yùn)行圖信息。本設(shè)計(jì)利用XML文件保存運(yùn)行圖顯示和運(yùn)行圖調(diào)整的內(nèi)容,在主系統(tǒng)與子系統(tǒng)交互的數(shù)據(jù)和信息是由參數(shù) TimeTable來(lái)關(guān)聯(lián)的,TimeTable是從XML讀取的一種保存了運(yùn)行圖顯示和運(yùn)行圖調(diào)整內(nèi)容的數(shù)據(jù)結(jié)構(gòu)。XML文件存儲(chǔ)的數(shù)據(jù)如下所示:

<TimeTableLists>

<Name>時(shí)刻表 1</Name> //時(shí)刻表名稱

<TimeTable>

<ID>801</ID> //列車 ID

<Record>

<Line>39</Line> //運(yùn)行線路

<Platform>HTM-PS23</Platform> //停靠站臺(tái)名

<Arrival>05∶14∶00</Arrival> //到站時(shí)間

<Departure>05∶14∶00</Departure> //離站時(shí)間

</Record>

……

</TimeTable>

<TimeTable>

……

</TimeTable>

</TimeTableLists>②運(yùn)行圖顯示。圖3描述了運(yùn)行圖數(shù)據(jù)結(jié)構(gòu)的從屬關(guān)系,運(yùn)行圖的顯示模塊是建立在運(yùn)行圖對(duì)象結(jié)構(gòu)的基礎(chǔ)之上的,首先對(duì)各對(duì)象實(shí)現(xiàn)各自的OnDraw()函數(shù),運(yùn)行圖顯示則通過運(yùn)行圖對(duì)象的OnDraw()函數(shù)調(diào)用其內(nèi)部各對(duì)象的OnDraw()來(lái)完成。

實(shí)現(xiàn)時(shí),在運(yùn)行圖對(duì)象(CTrainGraph)中實(shí)現(xiàn)運(yùn)行圖顯示的方法。通過運(yùn)行圖坐標(biāo)原點(diǎn)在設(shè)備坐標(biāo)系中的坐標(biāo)(CTrainGraph的屬性m_OrgPoint)就可以完成設(shè)備坐標(biāo)系與運(yùn)行圖坐標(biāo)系的映射。Time2Point()與Point2Time()函數(shù)完成了時(shí)間到運(yùn)行圖橫坐標(biāo)的映射。

③運(yùn)行圖調(diào)整。運(yùn)行圖的調(diào)整模塊是運(yùn)行圖系統(tǒng)另一重要的模塊。目前,人機(jī)交互方式在圖形界面下仍然以鼠標(biāo)+鍵盤為主[11]。雖然很多新人機(jī)交互技術(shù)層出不窮,像手寫筆或觸摸屏的發(fā)展,然而鼠標(biāo)+鍵盤+圖形界面元素(菜單、按鈕等)完全可以對(duì)運(yùn)行圖精確調(diào)整[9][10]。所以每個(gè)調(diào)整圖行的操作,包括運(yùn)行圖的縮放,添加、刪除和移動(dòng)運(yùn)行線,增加和刪減停站,變更區(qū)間運(yùn)行時(shí)分等等,都可以分解為一系列連續(xù)或獨(dú)立鍵盤或鼠標(biāo)的操作。拿平移運(yùn)行線舉例來(lái)說,它可以是下面一系列鼠標(biāo)操作:按下左鍵選定運(yùn)行線->拖動(dòng)運(yùn)行線->放開完成拖動(dòng),也可以是鍵盤操作:選擇運(yùn)行線->輸入平移位移量->確定完成修改。運(yùn)行圖調(diào)整模塊的設(shè)計(jì)如下圖4所示:

圖4 運(yùn)行圖調(diào)整模塊設(shè)計(jì)

其中GraphCommand類提供了鼠標(biāo)按下、移動(dòng),鍵盤等操作的通用接口,子類繼承、實(shí)現(xiàn)這些接口。

另一個(gè)重要的類是Memory,它記錄了操作之前的運(yùn)行圖狀態(tài),是為了完成撤銷及恢復(fù)的操作。

實(shí)現(xiàn)時(shí),調(diào)整操作對(duì)象均從GraphCommand對(duì)象繼承,子操作具體實(shí)現(xiàn) GraphCommand的接口,調(diào)用時(shí)只需通過GraphCommand指針完成,例如鼠標(biāo)移動(dòng)消息響應(yīng)函數(shù)OnMouseMove():

void CmyView ∶∶ OnMouseMove ( UINT nFlags, CPoint point){

……

if(m_pGraphCommand != NULL){

BOOL bRet = m_pGraphCommand ->OnMouseMove( nFlags, ScrollPos, point,… );

}

……

}

調(diào)用前只需確定 m_pGraphCommand的具體操作,如m_pGraphCommand = &DeleteLine;則調(diào)用平移運(yùn)行線操作的OnMouseDelete()。

3 實(shí)現(xiàn)結(jié)果

為了證實(shí)上述程序的有效性,我們選擇上海軌道交通 8號(hào)線2008年列車運(yùn)行時(shí)刻表的計(jì)劃數(shù)據(jù),并將其保存為結(jié)構(gòu)如表1、表2、表3所示的TimeTable。使用前述程序?qū)ζ溥M(jìn)行處理,得到圖5所示的列車運(yùn)行圖。

圖5所顯示的列車運(yùn)行圖中,橫坐標(biāo)代表時(shí)間,縱坐標(biāo)代表列車所經(jīng)過的具體車站,紅色代表上行計(jì)劃線,藍(lán)色代表下行計(jì)劃線,粉紅色表示實(shí)際上行線,淺綠色表示實(shí)際下行線。在時(shí)間軸上的水平線是周轉(zhuǎn)線。從圖中可以看出,通過自動(dòng)調(diào)整模塊調(diào)整后實(shí)際運(yùn)行線與計(jì)劃運(yùn)行線之間還是有一定偏差,這時(shí)可以運(yùn)用調(diào)整模塊進(jìn)行適當(dāng)?shù)氖謩?dòng)調(diào)整包括跳停、扣車、調(diào)整運(yùn)行時(shí)分等方法。

從圖中可以看出,此種方式能夠繪制出表達(dá)清晰的列車運(yùn)行圖。

表1 時(shí)刻表信息

表2 時(shí)刻表信息 (續(xù))

上海地鐵8號(hào)線用于以上系統(tǒng)后所顯示的部分運(yùn)行圖如圖8所示。

圖5 上海地鐵8號(hào)線模擬運(yùn)行圖

[1] 吳洋.晚點(diǎn)情況下地鐵列車實(shí)時(shí)運(yùn)行調(diào)整及速度控制模式研究[D].西南交通大學(xué),2004.1-2.

[2] 徐煒.計(jì)算機(jī)編制列車運(yùn)行圖的方法研究[D].大連交通大學(xué),2005.1-2.

[3] 張其亮,陳永生,杜磊.基于編織算法的復(fù)線高速磁浮列車運(yùn)行圖鋪畫方法[J].計(jì)算機(jī)應(yīng)用,2011,12(31) 3434~3437.

[4] 倪少權(quán),呂紅霞,劉繼勇.計(jì)算機(jī)編制列車運(yùn)行圖系統(tǒng)調(diào)整系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[J].西南交通大學(xué)學(xué)報(bào),2001:36(3):240~244

[5] 高強(qiáng)周.城市軌道交通列車運(yùn)行圖設(shè)計(jì)實(shí)現(xiàn)與評(píng)價(jià)[D].北京交通大學(xué),2008.11.

[6] 江志彬,徐瑞華,吳強(qiáng),呂杰.計(jì)算機(jī)編制城市軌道交通共線交路列車運(yùn)行圖[J].同濟(jì)大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,38(5) 692~696.

[7] 徐瑞華,江志彬,朱效潔,吳強(qiáng).城市軌道交通列車運(yùn)行圖計(jì)算機(jī)編制的關(guān)鍵問題研究[J].城市軌道交通研究,2005.(05).31-36.

[8] Kroon Leo,Marofi Gabor,Helmrich Mathiin Retel,et a1.Stochastic improvement of cyclic railway timetables[J].Transportation Research Part B: Methodological, 2008,42(6):553.

[9] 馬建軍,胡思繼,許紅,等.京滬高速鐵路列車運(yùn)行圖編制基本理論的研究[J].北京交通大學(xué)學(xué)報(bào),2002,26(2):47-50.

[10] Dai Baoqian, Wang Tong, Qin Yueping. “Subway Station Evacuation Simulation System”, International Conference on Measuring Technology and Mechatronics Automation,vol 2, 2009, pp. 396-399.

[11] 汪現(xiàn)雨,陳永生.可復(fù)用的列車運(yùn)行圖調(diào)整系統(tǒng)的設(shè)計(jì)[J].西南交通大學(xué)學(xué)報(bào),2001,36(3) 240~244.

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動(dòng)化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 蜜桃视频一区| 五月激情综合网| 中文字幕在线看| 91精品啪在线观看国产91| 久无码久无码av无码| 国产精品久久久久久搜索 | 欧美国产精品不卡在线观看| 亚洲色图欧美在线| 911亚洲精品| 午夜在线不卡| 思思热在线视频精品| 思思热精品在线8| 精品人妻一区二区三区蜜桃AⅤ | 大香伊人久久| 天天综合网色中文字幕| 欧美精品不卡| 国产精品吹潮在线观看中文| 国产精品99在线观看| 久久精品aⅴ无码中文字幕| 在线国产毛片手机小视频| 欧美伦理一区| 97国产在线播放| 夜夜爽免费视频| 午夜老司机永久免费看片| 亚洲妓女综合网995久久| 亚洲精品无码抽插日韩| 成人午夜视频在线| 99激情网| 1769国产精品免费视频| 日韩激情成人| 国产成人综合亚洲欧美在| 91探花在线观看国产最新| 视频一区亚洲| 国产成人免费手机在线观看视频| 欧美另类视频一区二区三区| 亚洲综合专区| 蝴蝶伊人久久中文娱乐网| 亚洲人精品亚洲人成在线| 99久久国产自偷自偷免费一区| 91精品啪在线观看国产91| 亚洲精品中文字幕无乱码| 天堂网国产| 99热在线只有精品| 日韩精品一区二区三区中文无码| 永久免费精品视频| 国产午夜一级毛片| 免费视频在线2021入口| 一本大道无码高清| 2021国产乱人伦在线播放| 久久久久久久久久国产精品| 69国产精品视频免费| 久久午夜影院| 亚洲电影天堂在线国语对白| 国产精品免费电影| 久久中文字幕不卡一二区| 手机在线免费不卡一区二| 国产乱子伦无码精品小说| 日本91视频| 亚洲一区二区成人| 亚洲精品大秀视频| 尤物精品视频一区二区三区| 国产地址二永久伊甸园| 国产美女91呻吟求| 欧美h在线观看| 国产特级毛片| 精品国产自| 国产日韩欧美在线播放| 高清乱码精品福利在线视频| av在线人妻熟妇| 亚洲伦理一区二区| 最新国产网站| 国产喷水视频| 夜精品a一区二区三区| 亚洲精品在线影院| 天天综合色天天综合网| 在线免费亚洲无码视频| 国产精品亚洲日韩AⅤ在线观看| 亚洲综合专区| 亚洲人成人无码www| 国产女人18毛片水真多1| 国产欧美精品午夜在线播放| 午夜视频日本|