靳 磊,朱 濤
(中國鐵路信息科技有限責(zé)任公司,北京 100844)
隨著我國鐵路事業(yè)的迅速發(fā)展與信息化水平的提高,運輸調(diào)度人員希望通過可視化的鐵路路網(wǎng)數(shù)據(jù),掌握資源分布情況,分析運輸組織態(tài)勢,并配合列車運行圖,更加全面、更高層次、更加立體地開展運輸組織與調(diào)度指揮[1]。為滿足這些需求,部分學(xué)者基于GIS、WebGIS、ArcGIS 等技術(shù)開展鐵路路網(wǎng)可視化研究,并在局部和特定高鐵線路取得了較好的效果[2-4]。但由于這些技術(shù)大多依賴商用軟件,成本較高,資料較少,難以滿足全路網(wǎng)規(guī)模的研發(fā)與實施。另有部分學(xué)者詳細(xì)分析了鐵路路網(wǎng)的組成,按照路網(wǎng)元素的特點,分別給出了數(shù)據(jù)可視化方案[5-6],基本實現(xiàn)了鐵路路網(wǎng)數(shù)據(jù)可視化。但是,由于這些技術(shù)沒能較好地解決數(shù)據(jù)運算量大、繪圖效率較低等問題,造成實際應(yīng)用效果不理想。為此,在總結(jié)前人經(jīng)驗教訓(xùn)的基礎(chǔ)上,借鑒互聯(lián)網(wǎng)地圖可視化實現(xiàn)思路,提出矢量瓦片技術(shù),以期給出可行、高效的鐵路路網(wǎng)數(shù)據(jù)可視化解決方案。
鐵路路網(wǎng)(簡稱路網(wǎng))描述了鐵路的固定物理設(shè)備,包括車站、車場、站內(nèi)股道、作業(yè)設(shè)備、區(qū)間線路以及這些設(shè)備間的聯(lián)系、運用方法、組織方式等靜態(tài)數(shù)據(jù)。這些數(shù)據(jù)是鐵路調(diào)度統(tǒng)一指揮、協(xié)同作業(yè)的基礎(chǔ),是運輸組織、管理控制的重要依據(jù),也是調(diào)度系統(tǒng)與其他系統(tǒng)數(shù)據(jù)交互的共同準(zhǔn)則[7]。如圖1 所示,將車站、車場、站段、線路所、分界口等信息標(biāo)注為路網(wǎng)節(jié)點,用連接節(jié)點的線表示節(jié)點間的鐵路軌道,將全路路網(wǎng)信息繪制在一幅圖上,展現(xiàn)可視化的鐵路路網(wǎng)。
鐵路路網(wǎng)圖通過調(diào)整比例尺,支持從整體到局部、從宏觀到微觀地展現(xiàn)鐵路路網(wǎng)信息,包括樞紐區(qū)域、線路走向、車站分布、站場設(shè)備布局、股道運用狀態(tài)等內(nèi)容,滿足運輸調(diào)度不同場景的需求。進一步,通過在鐵路路網(wǎng)圖上動態(tài)標(biāo)記施工作業(yè)地點、列車運行位置,機車車輛分布等信息,能夠?qū)崿F(xiàn)鐵路運輸調(diào)度動靜態(tài)信息融合,滿足路網(wǎng)運力監(jiān)視、態(tài)勢分析、故障救援與應(yīng)急處置等需求,極大地促進運輸調(diào)度工作的精細(xì)化和精準(zhǔn)化。
路網(wǎng)數(shù)據(jù)屬于網(wǎng)絡(luò)型數(shù)據(jù),具有體量巨大、內(nèi)容豐富、層次較深等特點,這類數(shù)據(jù)的可視化技術(shù)主要有3 種。
1.2.1 靜態(tài)圖片繪圖技術(shù)
該技術(shù)又稱為位圖繪圖技術(shù),通過操縱像素的圖像屬性繪制圖片,每張圖片都是由成千上萬個像素點構(gòu)成。靜態(tài)圖片繪圖技術(shù)非常成熟,能夠繪制極其復(fù)雜、效果炫彩的圖片,Photoshop 是目前最著名的靜態(tài)圖片創(chuàng)作與編輯工具。但是,靜態(tài)圖片只是對像素信息進行繪制,無法提取圖片內(nèi)容,并且圖片縮放后會變形、失真,無法進行交互、網(wǎng)絡(luò)化運算與二次開發(fā)。
1.2.2 模擬矢量圖繪圖技術(shù)
該技術(shù)利用一系列靜態(tài)圖片模擬矢量圖效果。通過設(shè)定若干比例尺,預(yù)先按照比例尺分別繪制靜態(tài)圖片并緩存。當(dāng)縮放至某比例尺時,動態(tài)加載并繪制相應(yīng)的靜態(tài)圖片,從而在視覺上模擬出矢量圖的效果[8]。該技術(shù)不需要掌握復(fù)雜的圖形圖像處理技術(shù),只需處理好靜態(tài)圖片的管理、加載和傳輸?shù)葐栴}。目前,主流GIS 軟件大都采用該技術(shù)作為首選的可視化技術(shù)。但是,該技術(shù)存在3 個缺陷:(1)隨著比例尺的放大,靜態(tài)圖片的尺寸與存儲空間呈指數(shù)級增長,對靜態(tài)圖片的存儲與網(wǎng)絡(luò)傳輸要求較高;(2)模擬矢量圖僅實現(xiàn)視覺矢量化,并未包含圖形的矢量信息,難以滿足圖形交互和網(wǎng)絡(luò)運算等需求;(3)GIS 數(shù)據(jù)決定了GIS 服務(wù)的應(yīng)用效果,而GIS 數(shù)據(jù)采集、購置和維護成本高昂,且在格式和內(nèi)容上與鐵路運輸調(diào)度業(yè)務(wù)數(shù)據(jù)差別較大,整合難度較大。
1.2.3 矢量圖繪圖技術(shù)
矢量圖繪制的是矢量圖形,矢量圖形可以是一個點或一條線,因為不包含圖像數(shù)據(jù),所以矢量圖形數(shù)據(jù)只占用非常小的存儲空間與傳輸帶寬。矢量圖的特點是與分辨率無關(guān),縮放后圖像不會失真、變形,始終保持一致的光滑度。此外,矢量圖形還可滿足顏色與線型定制,交互操作與網(wǎng)絡(luò)運算等需求。由于矢量圖通過動態(tài)繪制生成,最大的不足在于圖像渲染效果不及靜態(tài)圖片,該缺陷也是商業(yè)GIS 軟件沒有將矢量圖繪圖技術(shù)作為首選可視化技術(shù)的原因之一。目前,矢量圖繪圖技術(shù)主要用于制作圖案、標(biāo)志、文字。
以上3 類技術(shù)均可實現(xiàn)鐵路路網(wǎng)數(shù)據(jù)可視化,通過綜合考量業(yè)務(wù)需求、研發(fā)難度和運維成本,最終選取矢量圖繪圖技術(shù)。
采用合適的繪圖技術(shù)展示數(shù)據(jù)是數(shù)據(jù)可視化的目標(biāo),但是數(shù)據(jù)可視化要實用落地還需具備高效的繪圖能力,目前主要采用升級硬件設(shè)備、優(yōu)化繪圖算法或減少繪圖數(shù)據(jù)等方法。由于鐵路路網(wǎng)數(shù)據(jù)與電子地圖具有很多相似的地方,所以電子地圖特別是互聯(lián)網(wǎng)地圖的應(yīng)用實踐值得學(xué)習(xí)和借鑒。
隨著計算機技術(shù)的發(fā)展,地圖技術(shù)開始服務(wù)于越來越多的領(lǐng)域。電子地圖數(shù)據(jù)通常體量較大,需要充足的網(wǎng)絡(luò)帶寬和圖像渲染能力,因此在瓦片技術(shù)誕生以前,地圖多在局域網(wǎng)內(nèi)的桌面軟件中使用。隨著互聯(lián)網(wǎng)的發(fā)展,通過瀏覽器使用地圖的需求日益強烈,在1999 年出現(xiàn)了WMS(Web Map Service)這樣的解決方案。WMS 的設(shè)計原理是:在服務(wù)器端把地圖渲染成圖片,由瀏覽器繪制地圖圖片,地圖圖片需要根據(jù)瀏覽器視窗尺寸動態(tài)定制。WMS 極大地改進了互聯(lián)網(wǎng)地圖的生成進程,但是每次瀏覽器頁面刷新都要重新繪制一張完整的圖片,后端渲染和網(wǎng)絡(luò)傳輸壓力較大且效率低下。隨后,產(chǎn)生了“WMSCached”思想,通過緩存地圖圖片提高效率,在工程實踐方面更勝一籌的Google 成為這一思想的最佳實踐者。2005 年,Google 地圖上線,通過高效的瓦片技術(shù),讓全球用戶輕而易舉的享受到了地圖的福利。Google 地圖采用的Web Mecator 投影[9]和瓦片分級切割方案已成為目前互聯(lián)網(wǎng)地圖事實上的標(biāo)準(zhǔn)。隨后,Google 地圖新增了路網(wǎng)服務(wù)、實時路況、街景地圖和Google 地球等服務(wù),互聯(lián)網(wǎng)地圖的蓬勃發(fā)展由此開始。
使用互聯(lián)網(wǎng)地圖時,所看到的是一幅鋪滿整個屏幕的“大圖片”,這幅“大圖片”實際是由多個尺寸相同(通常是256×256 像素)的小圖片按照既定規(guī)則無縫拼接而成的,這些小圖片就是瓦片。瓦片按照圖2 所示的金字塔結(jié)構(gòu)組織,每張瓦片都可通過級別、行號、列號唯一標(biāo)記[10]。在平移地圖、縮放地圖時,瀏覽器根據(jù)金字塔規(guī)則,計算出所需的瓦片,從服務(wù)器獲取瓦片對應(yīng)的圖片,最后拼接成所看到的地圖。
瓦片原理又稱金字塔規(guī)則[11],如圖2a 所示。每個瓦片都有相同的尺寸,每放大一級,原瓦片包含的繪制內(nèi)容就被切分成4 等份,分別繪制在與原瓦片相同尺寸的4 張瓦片上,這樣圖像就被放大了4 倍。依據(jù)金字塔規(guī)則,瓦片數(shù)的計算公式為TileCount=4ZoomLevel,其中TileCount代表瓦片總數(shù),ZoomLevel代表縮放等級,縮放等級從0 開始遞增,地圖逐級放大。一幅縮放級別為15 級的地圖,精確到可以看清城市建筑,大約需要11 億張瓦片才能覆蓋整個世界。Google 地圖可以縮放到17 級,僅僅是增加了兩個縮放級別,同樣覆蓋全世界卻需要170 億張瓦片,這些瓦片圖是靜態(tài)圖片,如果不利用瓦片技術(shù),無法想象如何完成這種體量圖片的傳輸。
矢量瓦片技術(shù)主要借鑒瓦片技術(shù)[12]原理,通過融合矢量圖形算法與金字塔規(guī)則,實現(xiàn)對可視范圍內(nèi)矢量圖形的篩選、分組、變換、傳輸、繪制與拼接,減少運算數(shù)據(jù)量,進一步提高繪圖效率和性能。矢量瓦片技術(shù)主要包括坐標(biāo)系、坐標(biāo)變換以及繪制流程3部分內(nèi)容。
矢量瓦片技術(shù)根據(jù)使用場景采用了多個坐標(biāo)系:
(1)實際圖坐標(biāo)系。給定正方形范圍,在該范圍內(nèi)能夠繪制所有的矢量圖形,該范圍稱為實際圖,用Figure表示。實際圖對應(yīng)的坐標(biāo)系稱為實際圖坐標(biāo)系,實際圖的中心為坐標(biāo)原點,原點向右和向上為正,用Figure(x, y)表示坐標(biāo)。矢量圖形都以該坐標(biāo)系的數(shù)值表示和存儲。
(2)透視圖坐標(biāo)系。按給定的縮放等級將實際圖投影,投影邊界范圍所構(gòu)成的矩形稱為透視圖,用Projection表示。透視圖范圍內(nèi)的坐標(biāo)系稱為透視圖坐標(biāo)系,投影圖左上角為坐標(biāo)系的原點,原點向右和向下為正,用Projection(x, y)表示坐標(biāo)。
(3)瓦片圖坐標(biāo)系。給定瓦片尺寸(用Tile.size表示),將給定縮放等級的透視圖切分成瓦片,以瓦片為單元表示透視圖的坐標(biāo)系稱為瓦片圖坐標(biāo)系;透視圖的左上角為坐標(biāo)系的原點,原點向右和向下為正,用Tile(z,c,r)分別表示縮放等級、列數(shù)和行數(shù),且均為正整數(shù)。
(4)視圖坐標(biāo)系。計算機繪制圖片的區(qū)域,稱為視圖,用View表示。視圖對應(yīng)的坐標(biāo)系稱為視圖坐標(biāo)系,視圖左上角為坐標(biāo)系的原點,原點向右和向下為正,用View(x,y)表示坐標(biāo)。視圖坐標(biāo)系相當(dāng)于對透視圖坐標(biāo)系的原點進行了平移。
為實現(xiàn)坐標(biāo)轉(zhuǎn)換和計算可視瓦片集,需要確定以下參數(shù):
(1)實際圖尺寸(Figure.size)。為便于計算,約定實際圖為一個正方形,其尺寸包含全部的矢量圖形,用Figure.size表示該正方形邊長。
(2)瓦片計算公式。瓦片計算公式即金子塔模型,一般使用TileCount=4ZoomLevel計算每級瓦片數(shù)。
(3)瓦片尺寸(Tile.size)。瓦片一般用正方形表示,尺寸多為256*256 個像素。
(4)分辨率(Resolution)。在某個縮放等級對應(yīng)的透視圖坐標(biāo)系中,一個單位的長度所對應(yīng)的實際坐標(biāo)系的長度,稱為分辨率。例如1:20,代表透視圖的一個單位的長度等于實際坐標(biāo)系中20 個單位的長度。分辨率定義了實際圖的縮放比例。分辨率與實際圖尺寸(Figure.size)、瓦片尺寸和縮放等級有關(guān),公式為:
(5)視圖中心坐標(biāo)代表的實際圖坐標(biāo)View-CenterFigure(x,y)。根據(jù)該坐標(biāo)才能確定視圖當(dāng)前顯示范圍對應(yīng)的透視圖范圍。
準(zhǔn)備好必要參數(shù)后,即可按照以下公式計算矢量圖形對應(yīng)各個坐標(biāo)系的坐標(biāo)。
(1)已知實際圖坐標(biāo)Figure(x,y),計算透視圖坐標(biāo)Projection(x,y)
(2)已知實際圖坐標(biāo)Figure(x,y),計算瓦片圖坐標(biāo)Tile(z,c,r)
Tile.z=縮放等級
(3)已知實際圖坐標(biāo)Figure(x,y),計算視圖坐標(biāo)View(x,y)
根據(jù)計算公式,按照以下流程即可完成矢量瓦片圖的繪制。
(1)確定實際圖坐標(biāo)系;
(2)計算實際圖范圍;
(3)確定當(dāng)前視圖縮放等級;
(4)確定當(dāng)前視圖范圍;
(5)確定當(dāng)前視圖范圍中心點對應(yīng)的矢量圖坐標(biāo);
(6)計算當(dāng)前視圖范圍內(nèi)可視瓦片集;
(7)計算與可視瓦片集有交集的矢量圖形;
(8)計算矢量圖形的視圖坐標(biāo);
(9)根據(jù)視圖坐標(biāo)繪制矢量圖形;
(10)如果對視圖進行平移和縮放操作,應(yīng)重新計算縮放等級與視圖范圍中心點對應(yīng)的實際圖坐標(biāo)。
基于矢量瓦片技術(shù)研發(fā)的鐵路路網(wǎng)管理系統(tǒng),可實現(xiàn)路網(wǎng)數(shù)據(jù)可視化,提供高效、快捷、簡單、方便的運維功能,驗證矢量瓦片技術(shù)的可行性和高效性。與既有路網(wǎng)維護工具相比,該系統(tǒng)具有以下特點:
(1)路網(wǎng)數(shù)據(jù)可視化。鐵路站場、線路以圖形的方式呈現(xiàn)給用戶,便于瀏覽與查詢,數(shù)據(jù)正確與否直觀明了。
(2)分層顯示。根據(jù)縮放等級,分層、逐層地顯示內(nèi)容,既可以提高系統(tǒng)性能,又能夠避免信息爆炸影響用戶體驗。
(3)隱含信息直觀化。通過分析路網(wǎng)圖即可獲知盡頭式車站、樞紐區(qū)域、站線布局、線路走向等隱含信息。
(4)維護方式圖形化。以點、選、拖、拽等圖上操作取代數(shù)據(jù)表上處理操作,簡化維護過程,提高維護效率,在維護數(shù)據(jù)表數(shù)據(jù)的同時,完成對路網(wǎng)圖及矢量圖形數(shù)據(jù)的維護,一舉多得。
(5)圖形繪制高效化。矢量瓦片技術(shù)大幅減少了繪圖所需數(shù)據(jù)量,并利用HTML5、緩存、即時消息、并行計算等技術(shù),極大地提高了繪圖效率,改善了用戶體驗。
(6)支持協(xié)同維護。矢量圖形數(shù)據(jù)量少,傳輸和渲染效率高,支持多人同時在線維護,維護結(jié)果可立即反映到其他維護人員的界面,便于協(xié)調(diào)與商討,加快反饋與迭代,利于促進了協(xié)同與合作。
(7)支持二次開發(fā)。系統(tǒng)使用GeoJSON 格式描述矢量圖形數(shù)據(jù),提供Javascript、Java 等多種語言接口,支持?jǐn)U展數(shù)據(jù)內(nèi)容、增強顯示效果、3D 渲染等深度二次開發(fā)。
(8)維護系統(tǒng)升級為生產(chǎn)系統(tǒng)。調(diào)度指揮的結(jié)果往往引起路網(wǎng)數(shù)據(jù)的變更(例如施工造成的區(qū)間線路的限速、限行,會引起路網(wǎng)狀態(tài)的改變),這些變更如果能夠直接反映到相關(guān)系統(tǒng)中,就能在信息系統(tǒng)層面促進調(diào)度協(xié)同作業(yè)、統(tǒng)一指揮,推動調(diào)度系統(tǒng)智能化發(fā)展。鐵路路網(wǎng)管理系統(tǒng)就是很好的媒介,基于其強大、高效的數(shù)據(jù)可視化能力,通過增加監(jiān)控、預(yù)警、消息等功能,將原本只作為維護系統(tǒng)的鐵路路網(wǎng)管理系統(tǒng)升級為生產(chǎn)系統(tǒng),并與其他系統(tǒng)密切配合,必定能更好的支持調(diào)度系統(tǒng)的建設(shè)與發(fā)展。
矢量瓦片技術(shù)及其在鐵路路網(wǎng)數(shù)據(jù)可視化的應(yīng)用,證明了該技術(shù)的可行性和高效性;同時,為鐵路運輸調(diào)度系統(tǒng)改進運維模式、提高維護效率提供了技術(shù)支持,也為實現(xiàn)列車追蹤、車輛監(jiān)控、施工控制以及應(yīng)急指揮等業(yè)務(wù)提供數(shù)據(jù)可視化解決方案,有助于促進鐵路運輸調(diào)度事業(yè)的發(fā)展。盡管矢量瓦片技術(shù)原理簡單、使用方便,為進一步提高繪圖效率,還需在分組算法、并行運算、數(shù)據(jù)緩存、數(shù)據(jù)傳輸、3D 圖形渲染等方面投入大量的研究[13]。此外,矢量瓦片技術(shù)原理也可為大數(shù)據(jù)優(yōu)化提供了一種值得探索的解決思路。