徐 瑋,李世春,解 亮,朱海佳,王清玉
(1.中國鐵路蘭州局集團(tuán)有限公司 客運(yùn)部,蘭州 730000;2.中國鐵路蘭州局集團(tuán)有限公司 信息技術(shù)所,蘭州 730000;3.中國鐵路蘭州局集團(tuán)有限公司 科技和信息化部,蘭州 730000)
鐵路客運(yùn)運(yùn)價(jià)里程表(簡稱:里程表)和全國 鐵路(簡稱:全路)客運(yùn)營業(yè)站示意圖(簡稱:營業(yè)站示意圖)是鐵路客運(yùn)基礎(chǔ)技術(shù)資料。其中,里程表包含線路車站里程表、全路客運(yùn)管轄線路示意圖、客運(yùn)運(yùn)價(jià)里程接算站示意圖、站名首字音序索引表、站名首字筆劃索引表、站名索引表等一整套鐵路客運(yùn)基礎(chǔ)數(shù)據(jù)[1],是客運(yùn)服務(wù)、客運(yùn)票價(jià)核定、客運(yùn)清算、客運(yùn)計(jì)劃與統(tǒng)計(jì)等業(yè)務(wù)的常用資料。營業(yè)站示意圖以簡圖形式,標(biāo)示全路多條客運(yùn)運(yùn)營線路上的車站分布情況,常作為里程表的輔助配套資料,為用戶查找里程表數(shù)據(jù)提供直觀、便捷的指引。
多年來,紙質(zhì)里程表和營業(yè)站示意圖由中國鐵道出版社負(fù)責(zé)編制,定期正式出版發(fā)行。隨著鐵路路網(wǎng)規(guī)模的不斷擴(kuò)大,以及較為頻繁的線路運(yùn)營方案調(diào)整,在數(shù)據(jù)管理、維護(hù)及使用方面,現(xiàn)有紙質(zhì)里程表和營業(yè)站示意圖存在諸多不便,主要體現(xiàn)為:(1)里程表內(nèi)容繁雜,篇幅較長,現(xiàn)有的紙質(zhì)排版方式不便于用戶查閱;(2)全路路網(wǎng)密集,營業(yè)站示意圖線路屬性、車站辦理限制等信息無法在圖上標(biāo)注,用戶查找業(yè)務(wù)辦理所需信息時(shí),需要結(jié)合使用里程表,在紙質(zhì)圖和表之間來回翻閱查對,數(shù)據(jù)獲取費(fèi)時(shí)費(fèi)力;(3)紙質(zhì)營業(yè)站示意圖使用CAD制圖軟件繪制,由于客運(yùn)線路錯(cuò)綜復(fù)雜,車站分布密集,繪制費(fèi)時(shí)費(fèi)力,且存在與里程表數(shù)據(jù)不一致的問題;(4)紙質(zhì)出版物的制作和發(fā)行周期較長,致使紙質(zhì)版里程表和營業(yè)站示意圖往往滯后于實(shí)際情況的變化,給客運(yùn)管理和運(yùn)輸生產(chǎn)帶來諸多不利影響;(5)對于出版周期中出現(xiàn)的數(shù)據(jù)變更,用戶需要依據(jù)相關(guān)電報(bào)和文件資料,依靠手工修改和粘貼來自行維護(hù)紙質(zhì)里程表,不但耗時(shí)耗力,也容易產(chǎn)生錯(cuò)誤,且紙質(zhì)里程表經(jīng)反復(fù)修改后難以辨認(rèn),影響了數(shù)據(jù)的準(zhǔn)確使用。
為此,亟需研究和開發(fā)鐵路客運(yùn)里程表數(shù)據(jù)管理系統(tǒng)(簡稱:里程表系統(tǒng)),運(yùn)用數(shù)字化技術(shù),實(shí)現(xiàn)全路客運(yùn)里程表數(shù)據(jù)的統(tǒng)一管理和維護(hù),提供基于里程表數(shù)據(jù)的電子化營業(yè)站示意圖繪制工具,方便數(shù)據(jù)維護(hù)人員及時(shí)更新里程表和營業(yè)站示意圖數(shù)據(jù)并快速完成發(fā)布,方便最終用戶準(zhǔn)確獲取和使用數(shù)據(jù)。
堅(jiān)持實(shí)用、經(jīng)濟(jì)、先進(jìn)、開放、安全的原則,統(tǒng)籌兼顧相關(guān)各類業(yè)務(wù)需求,嚴(yán)格遵循規(guī)章管理要求,運(yùn)用先進(jìn)的信息技術(shù),自主研發(fā)鐵路客運(yùn)里程表數(shù)據(jù)管理系統(tǒng)。注重系統(tǒng)功能適用性和整體兼容性,建立全路客運(yùn)里程表數(shù)據(jù)及營業(yè)站示意圖的統(tǒng)一管理和維護(hù)平臺(tái),為相關(guān)業(yè)務(wù)部門提供便捷、可靠的數(shù)據(jù)查詢工具,在確保數(shù)據(jù)及時(shí)更新和準(zhǔn)確使用的同時(shí),還能為其他業(yè)務(wù)應(yīng)用系統(tǒng)提供安全、可靠的數(shù)據(jù)共享接口。
(1)實(shí)現(xiàn)全路里程表數(shù)據(jù)統(tǒng)一電子化管理
建立線路、車站、業(yè)務(wù)辦理限制和線路/車站關(guān)系的完整數(shù)據(jù)模型,實(shí)現(xiàn)里程表數(shù)據(jù)的電子化管理,建立“集中維護(hù),全路使用”的新型數(shù)據(jù)管理、維護(hù)和使用模式,規(guī)范全路客運(yùn)運(yùn)價(jià)里程表數(shù)據(jù)的管理與維護(hù),從根本上解決在出版周期中用戶自行手工維護(hù)紙質(zhì)表圖數(shù)據(jù)的難題,促進(jìn)相關(guān)業(yè)務(wù)工作質(zhì)量和效率的全面提升。
(2)提供基于里程表的營業(yè)站示意圖編輯工具
建立鐵路網(wǎng)數(shù)據(jù)模型,實(shí)現(xiàn)簡潔、直觀的營業(yè)站示意圖輔助繪制功能,方便數(shù)據(jù)維護(hù)人員通過簡單操作高效地完成日常數(shù)據(jù)維護(hù)工作,并確保里程表與營業(yè)站示意圖的數(shù)據(jù)一致性。
(3)為最終用戶提供便捷的數(shù)據(jù)查詢工具
針對里程表和營業(yè)站示意圖的各類應(yīng)用場景,對系統(tǒng)功能模塊進(jìn)行優(yōu)化整合,為相關(guān)業(yè)務(wù)人員提供操作便捷、數(shù)據(jù)準(zhǔn)確、性能高效的里程表數(shù)據(jù)和營業(yè)站示意圖查詢工具。
(4)提供客運(yùn)運(yùn)價(jià)里程表數(shù)據(jù)共享服務(wù)
為其他業(yè)務(wù)信息系統(tǒng)提供客運(yùn)運(yùn)價(jià)里程表數(shù)據(jù)共享服務(wù),為后續(xù)開展鐵路客運(yùn)延伸課題研究和項(xiàng)目開發(fā)提供有利條件,促進(jìn)鐵路信息系統(tǒng)的集成與業(yè)務(wù)融合創(chuàng)新。
系統(tǒng)采用“B/S+C/S”的混合應(yīng)用模式,劃分為數(shù)據(jù)層、服務(wù)層、網(wǎng)絡(luò)層、應(yīng)用層,如圖1 所示。
圖1 系統(tǒng)架構(gòu)示意
(1)數(shù)據(jù)層:使用MySQL 數(shù)據(jù)庫和Redis 內(nèi)存高速緩存數(shù)據(jù)庫,支持大容量數(shù)據(jù)存儲(chǔ),并保證數(shù)據(jù)讀取的高性能。
(2)服務(wù)層:運(yùn)用Tomcat 微服務(wù)技術(shù),將線路數(shù)據(jù)維護(hù)、車站數(shù)據(jù)維護(hù)、營業(yè)站示意圖繪制、數(shù)據(jù)發(fā)布、數(shù)據(jù)查詢、營業(yè)站示意圖查閱等應(yīng)用功能封裝成獨(dú)立的微服務(wù),由服務(wù)注冊中心對服務(wù)進(jìn)行調(diào)度管理,多服務(wù)器協(xié)同工作[2];微服務(wù)之間松耦合,各個(gè)微服務(wù)可獨(dú)立部署、運(yùn)行和升級(jí);通過微服務(wù)網(wǎng)關(guān),還可為其他業(yè)務(wù)信息系統(tǒng)提供客運(yùn)運(yùn)價(jià)里程表數(shù)據(jù)共享服務(wù)。
(3)網(wǎng)絡(luò)層:服務(wù)網(wǎng)關(guān)提供統(tǒng)一的服務(wù)入口[3],有效解決大量用戶高并發(fā)訪問時(shí),系統(tǒng)服務(wù)器壓力過大的問題。
(4)應(yīng)用層:提供客戶端和瀏覽器端2 類應(yīng)用;客戶端應(yīng)用主要完成線路、車站數(shù)據(jù)維護(hù)及營業(yè)站示意圖繪制;瀏覽器端應(yīng)用主要提供里程表數(shù)據(jù)和營業(yè)站示意圖查詢功能。
系統(tǒng)用戶包括數(shù)據(jù)維護(hù)人員和數(shù)據(jù)使用人員(即系統(tǒng)最終用戶)2 類。對于數(shù)據(jù)維護(hù)人員,系統(tǒng)提供操作簡便、安全可靠的里程表及營業(yè)站示意圖數(shù)據(jù)管理與維護(hù)功能,包括線路數(shù)據(jù)維護(hù)、車站數(shù)據(jù)維護(hù)、營業(yè)站示意圖編輯與配色等功能;對于各類數(shù)據(jù)使用人員,根據(jù)其實(shí)際業(yè)務(wù)需求,系統(tǒng)提供便捷、靈活的定制化數(shù)據(jù)查詢功能。
2.2.1 字典維護(hù)與系統(tǒng)參數(shù)設(shè)置
完成各類數(shù)據(jù)字典的維護(hù),為系統(tǒng)應(yīng)用功能提供基礎(chǔ)數(shù)據(jù);可靈活設(shè)置系統(tǒng)運(yùn)行參數(shù),以獲得最佳的系統(tǒng)性能。
(1)數(shù)據(jù)字典維護(hù):完成系統(tǒng)所需基礎(chǔ)數(shù)據(jù)字典的維護(hù),包括鐵路局集團(tuán)公司、省份、車務(wù)站段、國境等數(shù)據(jù)類字典,以及整圖參數(shù)、圖元參數(shù)、顏色表、特型圖元等圖形類字典;數(shù)據(jù)類字典可與中國國家鐵路集團(tuán)有限公司(簡稱:國鐵集團(tuán))主數(shù)據(jù)平臺(tái)的基礎(chǔ)數(shù)據(jù)進(jìn)行同步,保證數(shù)據(jù)字典的完整性。
(2)系統(tǒng)參數(shù)設(shè)置:設(shè)置系統(tǒng)初始化和運(yùn)行時(shí)的各類系統(tǒng)參數(shù),包括線路/車站/里程動(dòng)態(tài)數(shù)組、圖元雙緩沖因子等的初始值及動(dòng)態(tài)擴(kuò)展參數(shù),系統(tǒng)功能模塊可根據(jù)系統(tǒng)參數(shù),動(dòng)態(tài)調(diào)整數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)空間大小及數(shù)據(jù)處理方式。
2.2.2 線路數(shù)據(jù)維護(hù)
當(dāng)線路運(yùn)營方案發(fā)生變化時(shí),數(shù)據(jù)維護(hù)人員及時(shí)對線路數(shù)據(jù)進(jìn)行維護(hù),確保線路數(shù)據(jù)與實(shí)際情況相符。
(1)新開通線路數(shù)據(jù)錄入:根據(jù)新線開通電報(bào),輸入線路起訖點(diǎn)、線路屬性、附注(主要包括線路所屬公司及計(jì)費(fèi)規(guī)則)等信息,完成新增線路的客運(yùn)里程表數(shù)據(jù)錄入。
(2)線路數(shù)據(jù)修改:根據(jù)線路修改電報(bào),對線路的起訖點(diǎn)數(shù)據(jù)、資產(chǎn)類別、附注等信息進(jìn)行修改。提供線路撤并、線路分段、車站里程批量修改等快捷操作功能,以提高數(shù)據(jù)修改效率;使用線路撤并操作時(shí),系統(tǒng)可自動(dòng)將用戶選擇的撤銷線路上的車站合并到指定的線路上,保持站序并自動(dòng)計(jì)算里程;使用線路分段操作時(shí),系統(tǒng)可自動(dòng)將用戶選擇的線路上所選定的車站,按指定的順序(順序或倒序)生成新的線路數(shù)據(jù);使用車站里程批量修改操作時(shí),系統(tǒng)可自動(dòng)完成用戶所選定車站的里程數(shù)據(jù)批量增減處理。
(3)取消線路數(shù)據(jù)刪除:根據(jù)線路取消電報(bào),從系統(tǒng)中刪除相應(yīng)線路的所有數(shù)據(jù),并在刪除時(shí)檢查車站數(shù)據(jù)的完整性。
(4)線路顏色設(shè)置:設(shè)置鐵路局集團(tuán)公司管內(nèi)線路的顯示顏色。
2.2.3 車站數(shù)據(jù)維護(hù)
當(dāng)車站運(yùn)營方案發(fā)生變化時(shí),數(shù)據(jù)維護(hù)人員及時(shí)對車站數(shù)據(jù)進(jìn)行修改,包括車站基礎(chǔ)信息和營業(yè)辦理限制信息維護(hù)。
(1)車站基礎(chǔ)信息維護(hù):完成車站基礎(chǔ)信息修改,包含站名、略號(hào)、鐵路局集團(tuán)公司、省份、等級(jí)等。
(2)營業(yè)辦理限制信息維護(hù):完成營業(yè)辦理限制信息的添加、刪除和修改,包含旅客乘降所、不辦理行李和包裹業(yè)務(wù)的車站、不辦理包裹業(yè)務(wù)的車站、不辦理客運(yùn)業(yè)務(wù)的線路連接點(diǎn)等。
2.2.4 營業(yè)站示意圖編輯與配色
數(shù)據(jù)維護(hù)人員依據(jù)里程表數(shù)據(jù),完成營業(yè)站示意圖的鋪畫和修改,并檢查數(shù)據(jù)的完整性。
(1)營業(yè)站示意圖鋪畫:數(shù)據(jù)維護(hù)人員選定一條線路的起訖點(diǎn),系統(tǒng)可根據(jù)里程表數(shù)據(jù),自動(dòng)補(bǔ)全該線路上所有車站;數(shù)據(jù)維護(hù)人員可在營業(yè)站示意圖上點(diǎn)選車站,通過鼠標(biāo)拖拽操作來調(diào)整該線路上車站的分布距離及位置。
(2)營業(yè)站示意圖線路配色:按照車站所屬鐵路局集團(tuán)公司,在營業(yè)站示意圖上,將不同鐵路局集團(tuán)公司所轄線路以不同顏色顯示,并將高鐵線路以高亮顏色突出顯示。
2.2.5 數(shù)據(jù)一致性檢查
系統(tǒng)自動(dòng)檢查營業(yè)站示意圖數(shù)據(jù)與里程表數(shù)據(jù)是否一致,檢查出營業(yè)站示意圖中缺失、多余或重復(fù)的車站,給出提示并輔助數(shù)據(jù)維護(hù)人員進(jìn)行更正。
(1)線路一致性檢查:依據(jù)里程表線路數(shù)據(jù),對營業(yè)站示意圖上線路間連接關(guān)系進(jìn)行一致性檢查,在提示框列出連接關(guān)系不一致的線路信息。
(2)車站一致性檢查:依據(jù)線路—車站的邏輯關(guān)系,以節(jié)點(diǎn)站(包括干線和支線的起訖點(diǎn)、連接2 條以上線路的車站)為節(jié)點(diǎn)構(gòu)建鐵路網(wǎng)框架,系統(tǒng)自動(dòng)在節(jié)點(diǎn)間連線上插入其他車站,檢查并更新示意圖中車站數(shù)據(jù),在提示框列出缺失或重復(fù)的車站信息。
2.2.6 數(shù)據(jù)版本管理與發(fā)布
實(shí)現(xiàn)里程表和營業(yè)站示意圖數(shù)據(jù)的分版本存儲(chǔ)與發(fā)布,可通過版本號(hào)進(jìn)行數(shù)據(jù)版本控制、數(shù)據(jù)差異對比,并按照客運(yùn)管理要求,完成指定版本數(shù)據(jù)的發(fā)布。
(1)數(shù)據(jù)版本管理:分版本存儲(chǔ)里程表和營業(yè)站示意圖數(shù)據(jù),支持?jǐn)?shù)據(jù)的增量更新,提供不同版本數(shù)據(jù)的差異對比,確保里程表和營業(yè)站示意圖數(shù)據(jù)更新過程可追溯。
(2)數(shù)據(jù)版本發(fā)布:根據(jù)客運(yùn)運(yùn)營條件電報(bào)執(zhí)行時(shí)間要求,發(fā)布對應(yīng)版本的里程表和營業(yè)站示意圖數(shù)據(jù),嚴(yán)格、有序地控制全路里程表和營業(yè)站示意圖的數(shù)據(jù)更新。
2.2.7 營業(yè)站示意圖查閱
提供營業(yè)站示意圖的查閱瀏覽以及接算站示意圖、客運(yùn)管轄線路示意圖等子圖查閱功能,包括整圖與局部縮放、顯示比例調(diào)整、漫游等,滿足不同場景下用戶靈活便捷查看不同示意圖的需求。
(1)整圖放大與縮?。和ㄟ^默認(rèn)的縮小和放大量把整個(gè)顯示的圖元統(tǒng)一縮小和放大一定的比例。
(2)高度/寬度合適顯示:根據(jù)區(qū)域的高度或?qū)挾?,自適應(yīng)得到一個(gè)合適的比例。
(3)動(dòng)態(tài)放大和窗口放大:在當(dāng)前的顯示比例下,對用戶選定的矩形框區(qū)域大小進(jìn)行調(diào)整,操作完成后得到需要顯示的區(qū)域放大圖。
(4)整圖漫游:在客戶區(qū)域只顯示整圖一部分的情況下,通過鼠標(biāo)拖拽等操作把客戶區(qū)域定位在相應(yīng)的區(qū)域上。
(5)接算站查閱:僅顯示接算站節(jié)點(diǎn)和接算站節(jié)點(diǎn)間的線路。
2.2.8 定制化數(shù)據(jù)查詢
根據(jù)實(shí)際業(yè)務(wù)需求,提供便捷、適用的定制化數(shù)據(jù)查詢功能,方便各類最終用戶查詢和使用里程表數(shù)據(jù)。
(1)客運(yùn)服務(wù)數(shù)據(jù)查詢:針對客運(yùn)服務(wù)人員的日常作業(yè),提供車站站名、車站營業(yè)辦理限制、線名、線路起訖點(diǎn)、線路營業(yè)里程、站間營業(yè)里程等里程表數(shù)據(jù)查詢,以辦理旅游團(tuán)體票發(fā)售、包車和旅游列車等相關(guān)業(yè)務(wù);利用接算站示意圖,為旅客推薦最優(yōu)旅行規(guī)劃、車票購票方案。
(2)客運(yùn)運(yùn)價(jià)數(shù)據(jù)查詢:面向鐵路局集團(tuán)公司客運(yùn)部業(yè)務(wù)主管人員,提供車站相關(guān)信息查詢,包括車站站名、車站營業(yè)辦理限制、車站所屬鐵路局集團(tuán)公司、管轄局界、省界等;提供線路相關(guān)信息查詢,包括線名、線路起訖點(diǎn)、線路營業(yè)里程、站間營業(yè)里程、線路資產(chǎn)歸屬、接算站接續(xù)線名等;提供多種O-D(Origin-Destination)經(jīng)由及里程條件查詢,包括同線與跨線的O-D 經(jīng)由及里程信息、計(jì)算準(zhǔn)軌與窄軌鐵路運(yùn)價(jià)里程所需的O-D 經(jīng)由及里程信息;提供針對特殊運(yùn)價(jià)區(qū)段、特殊車種及動(dòng)車組列車等多種查詢條件的客運(yùn)運(yùn)價(jià)數(shù)據(jù)查詢。
(3)客運(yùn)清算數(shù)據(jù)查詢:面向鐵路局集團(tuán)公司財(cái)務(wù)部業(yè)務(wù)主管人員,提供線路營業(yè)里程和資產(chǎn)歸屬清算線路使用費(fèi)、車站旅客服務(wù)費(fèi)、售票服務(wù)費(fèi)、接觸網(wǎng)使用及電費(fèi)查詢。
(4)計(jì)統(tǒng)指標(biāo)數(shù)據(jù)查詢:面向鐵路局集團(tuán)公司計(jì)統(tǒng)部業(yè)務(wù)主管人員,提供里程計(jì)算旅客周轉(zhuǎn)量、千輛公里、千機(jī)公里、配屬機(jī)車走行公里、支配機(jī)車萬噸公里、日車公里等指標(biāo)數(shù)據(jù)的查詢。
線路和車站是里程表的核心數(shù)據(jù)實(shí)體,線路與車站為多對多實(shí)體關(guān)系,如圖2 所示。
圖2 線路與車站多對多實(shí)體關(guān)系示意
結(jié)合鐵路網(wǎng)結(jié)構(gòu)特征,全國客運(yùn)鐵路網(wǎng)劃分干線和支線,構(gòu)建2 級(jí)樹形數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)全國鐵路客運(yùn)線路數(shù)據(jù)的結(jié)構(gòu)化管理,線路節(jié)點(diǎn)信息包含線路屬性、類型和附注等內(nèi)容[4],如圖3 所示。
圖3 全國客運(yùn)鐵路網(wǎng)數(shù)據(jù)結(jié)構(gòu)示意
線路與車站關(guān)系數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)采用動(dòng)態(tài)數(shù)組,便于實(shí)現(xiàn)車站節(jié)點(diǎn)數(shù)據(jù)的靈活插入、刪除及車站順序調(diào)整的操作。
系統(tǒng)根據(jù)車站節(jié)點(diǎn)、線路車站順序,對營業(yè)站示意圖與里程表數(shù)據(jù)的一致性進(jìn)行檢查,按先干線、后支線的順序,自動(dòng)檢查數(shù)據(jù)是否一致。一般情況下,當(dāng)檢測到線路數(shù)據(jù)正確、但車站數(shù)據(jù)不一致時(shí),通過緩存補(bǔ)充、分段排列的順序,系統(tǒng)自動(dòng)完成數(shù)據(jù)一致性校正;特殊情況下,當(dāng)發(fā)現(xiàn)線路連接關(guān)系不一致時(shí),系統(tǒng)提示數(shù)據(jù)維護(hù)人員進(jìn)行手工調(diào)整,最終完成里程表數(shù)據(jù)和營業(yè)站示意圖的同步更新。營業(yè)站示意圖與里程表數(shù)據(jù)一致性檢查流程如圖4所示。
圖4 營業(yè)站示意圖與里程表數(shù)據(jù)一致性檢查流程
為保證按任意比例縮小和放大時(shí),營業(yè)站示意圖可保持清晰的圖面顯示,營業(yè)站示意圖采用矢量圖技術(shù)。
3.3.1 矢量圖圖層劃分
根據(jù)鐵路路網(wǎng)特征,營業(yè)站示意圖的鋪畫以鐵路網(wǎng)數(shù)據(jù)層為基礎(chǔ)圖層,再輔以靈活的圖元繪制層,提供多層次、多應(yīng)用模式的矢量圖形繪制機(jī)制[5]。
(1)鐵路網(wǎng)數(shù)據(jù)層:鐵路網(wǎng)繪制以節(jié)點(diǎn)站(包括干線和支線的起訖點(diǎn)、連接2 條以上線路的車站)為節(jié)點(diǎn),由節(jié)點(diǎn)間連線構(gòu)成鐵路網(wǎng)骨干,再將其他車站插補(bǔ)在鐵路網(wǎng)骨干上,可快速、靈活地完成全國鐵路網(wǎng)簡圖的鋪畫。
(2)輔助數(shù)據(jù)層:在繪制基本鐵路網(wǎng)的基礎(chǔ)上,針對一些特殊情況,如設(shè)置待建線路、輪渡線路、鐵路局集團(tuán)公司標(biāo)識(shí)、省份邊界、運(yùn)輸企業(yè)邊界等,可通過靈活增加各種特定圖元,構(gòu)建信息完備的營業(yè)站示意圖。
(3)圖形顯示模式調(diào)整:針對鐵路網(wǎng)擴(kuò)充及特殊打印需求,提供所有圖元整體平移、畫布基本屬性調(diào)整等功能,為營業(yè)站示意圖維護(hù)提供快捷調(diào)整操作。
3.3.2 GDI 矢量圖繪制
營業(yè)站示意圖的繪制采用圖形設(shè)備接口(GDI,Graphics Device Interface)技術(shù)[6~8]。GDI 提供一組動(dòng)態(tài)鏈接庫(DLL,Dynamic Link Library)函數(shù),提供功能豐富、處理靈活的圖形繪制和文本顯示功能,支持多種圖形輸出設(shè)備,可保證營業(yè)站示意圖的繪制和打印輸出達(dá)到所見即所得的效果。
營業(yè)站示意圖編輯模塊和營業(yè)站示意圖查閱通過調(diào)用GDI DLL 函數(shù),創(chuàng)建一個(gè)矢量圖形集成環(huán)境,完成營業(yè)站示意圖的繪制和顯示,可實(shí)現(xiàn)在任何顯示比例下圖形顯示均不失真,且比例越大越清晰。同時(shí),在實(shí)現(xiàn)拖拽線路、動(dòng)態(tài)調(diào)整車站分布距離和位置時(shí),系統(tǒng)響應(yīng)迅速,無明顯卡頓延遲。
3.3.3 十字鏈表存儲(chǔ)
營業(yè)站示意圖是一個(gè)有向圖,其數(shù)據(jù)采用十字鏈表存儲(chǔ)。如圖5 所示,十字鏈表結(jié)點(diǎn)分為頂點(diǎn)結(jié)點(diǎn)(對應(yīng)于節(jié)點(diǎn)站)和弧結(jié)點(diǎn)(對應(yīng)于節(jié)點(diǎn)站之間的連接線)2 類。
圖5 營業(yè)站示意圖十字鏈表存儲(chǔ)的弧結(jié)點(diǎn)和頂點(diǎn)結(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)
(1)弧結(jié)點(diǎn)由5 個(gè)域組成:tailvex 域?yàn)榛∥岔旤c(diǎn)在圖中的位置;headvex 域?yàn)榛☆^頂點(diǎn)在圖中的位置;hlink 域?yàn)橹赶蚧☆^相同的下一個(gè)弧結(jié)點(diǎn)的指針,tlink 域?yàn)橹赶蚧∥蚕嗤南乱粋€(gè)弧結(jié)點(diǎn)的指針,這樣可使弧頭相同的弧結(jié)點(diǎn)在同一鏈表上,弧尾相同的弧結(jié)點(diǎn)也在同一鏈表上;data 域存儲(chǔ)弧的具體詳細(xì)信息,包括線路里程、顏色等。
(2)頂點(diǎn)結(jié)點(diǎn)由3 個(gè)域組成:data 域存儲(chǔ)頂點(diǎn)的具體詳細(xì)信息,包括車站名稱、電報(bào)碼、所屬路局等;firstin 域?yàn)橐栽擁旤c(diǎn)為弧頭的第一個(gè)弧結(jié)點(diǎn)的指針;firstout 域?yàn)橐栽擁旤c(diǎn)為弧頭的第一個(gè)弧結(jié)點(diǎn)的指針。
存儲(chǔ)營業(yè)站示意圖數(shù)據(jù)的十字鏈表構(gòu)造算法如下:
鐵路客運(yùn)運(yùn)價(jià)里程表數(shù)據(jù)管理系統(tǒng)基于微服務(wù)技術(shù),采用“C/S+B/S”混合應(yīng)用模式,實(shí)現(xiàn)了全路客運(yùn)運(yùn)價(jià)里程表及營業(yè)站示意圖數(shù)據(jù)的集中管理和統(tǒng)一維護(hù),提供多種定制化數(shù)據(jù)查詢功能,方便最終用戶準(zhǔn)確獲取和使用數(shù)據(jù),并可為其他業(yè)務(wù)應(yīng)用系統(tǒng)提供客運(yùn)運(yùn)價(jià)里程表數(shù)據(jù)共享服務(wù)。該系統(tǒng)構(gòu)造了2 級(jí)樹形結(jié)構(gòu)的全國客運(yùn)鐵路網(wǎng)數(shù)據(jù)模型,采用動(dòng)態(tài)數(shù)組存儲(chǔ)線路與車站關(guān)系數(shù)據(jù),便于靈活增刪車站節(jié)點(diǎn)和調(diào)整車站順序;基于全國客運(yùn)鐵路網(wǎng)數(shù)據(jù),采用矢量圖形技術(shù)繪制營業(yè)站示意圖,提供多層次、多應(yīng)用模式的矢量圖形繪制機(jī)制,并使用十字鏈表存儲(chǔ)營業(yè)站示意圖繪制數(shù)據(jù),便于實(shí)現(xiàn)快速且較為靈活的營業(yè)站示意圖鋪畫操作。此外,該系統(tǒng)提供了營業(yè)站示意圖與里程表數(shù)據(jù)一致性檢查功能,有效地保證系統(tǒng)數(shù)據(jù)的完整性;支持?jǐn)?shù)據(jù)版本管理,保證數(shù)據(jù)更新過程可追溯。
自2020 年8 月起,鐵路客運(yùn)運(yùn)價(jià)里程表數(shù)據(jù)管理系統(tǒng)正式向國鐵集團(tuán)和中國鐵路蘭州局集團(tuán)有限公司客運(yùn)工作人員提供數(shù)據(jù)查詢功能。系統(tǒng)維護(hù)人員根據(jù)國鐵集團(tuán)和各鐵路局集團(tuán)公司動(dòng)態(tài)發(fā)布的客運(yùn)管理電報(bào),及時(shí)更新和發(fā)布客運(yùn)運(yùn)價(jià)里程表,方便全路相關(guān)業(yè)務(wù)人員使用準(zhǔn)確的數(shù)據(jù),有助于提高系統(tǒng)用戶的工作質(zhì)量和效率。此外,該系統(tǒng)已為鐵路分線成本核算工作量統(tǒng)計(jì)系統(tǒng)提供了里程表數(shù)據(jù)共享服務(wù)。
下一步,將針對系統(tǒng)應(yīng)用過程中出現(xiàn)的問題,持續(xù)完善和優(yōu)化系統(tǒng)各功能模塊,不斷提升系統(tǒng)的適用性、可靠性、健壯性及性能,加快推進(jìn)該系統(tǒng)在全路的推廣應(yīng)用。同時(shí),結(jié)合客運(yùn)實(shí)際業(yè)務(wù)需求,探索相關(guān)的延伸課題研究和項(xiàng)目開發(fā),充分利用里程表數(shù)據(jù)資源,為客運(yùn)業(yè)務(wù)融合創(chuàng)新賦能。