李聰旭,王英杰,封博卿
(1.中國鐵道科學研究院,北京 100081;2.中國鐵道科學研究院 電子計算技術研究所,北京 100081)
基于開源GIS的鐵路大修預算管理系統設計與實現
李聰旭1,王英杰2,封博卿2
(1.中國鐵道科學研究院,北京 100081;2.中國鐵道科學研究院 電子計算技術研究所,北京 100081)
為加強鐵路局大修預算管理,發揮信息系統在鐵路大修預算管理中的作用,分析了鐵路局大修預算管理業務流程,并依據鐵路大修相關規程,采用開源數據庫PostgreSQL+PostGIS、開源GIS平臺GeoServer以及開源WebGIS客戶端框架Openlayers,設計并實現了鐵路大修預算管理系統。通過應用表明,系統所采用的開源GIS架構具有良好的穩定性和展示效果。
鐵路大修預算管理;GeoServer;PostgreSQL+PostGIS
依據鐵路總公司大修管理辦法規定,鐵路大修按專業劃分為工務、機務、供電、電務、車輛、物資、房建等大修項目。目前,這些項目的大修費用直接計入鐵路局的運輸成本,大修預算由鐵路局財務處進行管理。隨著鐵路的深化改革,鐵路局要成為自主經營、自負盈虧、自我發展、自我約束的鐵路運輸企業,為此,鐵路局每年的大修費用對全局的經營管理和生存發展至關重要。
為加強大修預算管理,發揮信息系統在大修預算管理中的作用,本文依據鐵路大修相關規程規定,結合工務、供電、電務、房建等大修項目中大修設備具有的空間位置特性,利用開源GIS和數據庫等技術,設計并實現了鐵路大修預算管理系統。旨在為鐵路局財務大修預算相關人員提供預算可視化展示及輔助決策支持,以進一步提升鐵路局大修預算管理水平和加強成本控制。
1.1 系統業務需求分析
鐵路大修預算管理系統是以鐵路局財務大修預算和大修設備運用狀態為管理對象,以每年大修預算的申請、下達、執行、歸檔、預測為主線,以預算數據、設備運用數據、鐵路設施設備數據為數據基礎,最終實現大修信息的可視化展示、查詢統計和預警預測。系統總體業務流程如圖1所示。
鐵路局站段業務人員每年根據管轄大修設備運用狀態提報預算申請,財務處人員接收到預算申請后,對申請預算進行審核,通過審核的預算將以預算單的形式下發給站段,并在GIS地圖中可視化顯示。站段負責預算的執行,按時間節點上報預算的執行情況,財務處負責預算執行過程的監督,根據預算的執行情況對預算調整,形成年終預算歸檔入庫管理。站段業務人員每年上報大修設備的運用情況,比如線路通過總重、機車走行里程、使用年限等,系統根據以往歷史預算數據和設備大修指標進行智能分析,對設備的運用狀態進行預警預測,最終通過GIS地圖展示,以供站段和鐵路局財務人員參考。

圖1 鐵路大修預算管理系統業務流程
1.2 開發平臺選擇
在開發平臺上,系統采用開源數據庫Postgre-SQL+PostGIS存儲空間數據和業務數據,選擇開源的GeoServer作為GIS服務器對外提供GIS服務。在Web客戶端,選用開源JavaScript框架OpenLayers實現GIS地圖的展現。平臺之間的關系如圖2所示。

圖2 開發平臺之間關系
PostgreSQL作為一款完全由社區驅動的數據庫管理軟件,憑借高可靠性、數據完整性和一致性擁有了廣泛的用戶群。在GIS空間數據管理方面,PostgreSQL支持多種幾何數據類型,如Point(點)、Line(線)、Lseg(線段)、Box(矩形)、Path(路徑)、Polygon(多邊形)、Circle(圓)等。同時,通過安裝PostgreSQL的空間數據擴展模塊PostGIS,能夠提供數據庫一系列空間運算和空間數據檢索、維護函數,并且使得用戶可以根據需求添加自定義函數。在鐵路應用領域,文獻[1]中運用PostgreSQL+PostGIS進行鐵路空間地理數據的管理,具有很好的可靠性和實用性。
GeoServer是一個符合JavaEE規范,基于Servlet和Struts框架開發的開源WebGIS服務器,能夠方便地創建、存儲、管理和使用空間地理數據[2]。GeoServer建立在開源GIS開發庫GeoTools之上,提供基于開放地理空間信息聯盟(OGC,Open Geospatial Consortium)標準的WMS、WFS、WCS等空間信息服務。它支持Shapefile、PostGIS、ArcSDE、Oracle等多種數據輸入格式以及png、jpeg、KML等多種網絡地圖輸出格式。
OpenLayers是一個開源的JavaScirpt庫,用于WebGIS客戶端的開發。它基于Prototype框架,采用面向對象機制實現。Openlayers支持GeoRSS、GeoJson、KML、GML以及基于OGC標準的WMS、WFS規范等數據格式。由于采用JavaScript語言實現,客戶端中調用OpenLayers不存在平臺依賴性,同時它實現了類似Ajax的異步刷新更新功能,能夠給用戶帶來豐富的桌面體驗。
1.3 系統邏輯架構及功能設計
根據系統業務流程,系統邏輯上劃分如圖3所示。

圖3 系統邏輯架構
(1)基礎環境層主要包括服務器、存儲、網絡等相關硬件設備。
(2)數據管理層是系統對數據進行存儲、管理和分析處理的主要場所,用于實現對地理信息數據、大修預算數據的構建、組織、分類、檢索、更新和維護等,以及對線路通過總重、機車走行里程等動態數據的管理。
(3)中間件層用于實現地圖可視化、空間位置關聯、查詢分析、瓦片緩存等GIS功能服務,以及運用線性參考,處理大修預算數據、大修設備運用數據中帶有位置信息的里程轉換。
(4)業務應用層封裝系統的各個功能模塊,實現業務功能按需的組件式安裝。
(5)訪問層實現通過Web構成系統應用客戶端,支持基于瀏覽器等不同方式的系統訪問展示。
結合數據展示需求和鐵路局業務處室職責現狀,系統功能模塊劃分如圖4所示,具體內容為以下幾個方面。

圖4 系統功能結構
(1)綜合展示。利用GIS地圖,將大修預算信息、預算執行信息、過車總重和預算預警等數據進行綜合化集成展示。并實現根據大修費用來源、線路、站段以及時間、起訖里程等多條件查詢功能。
(2)預算管理。實現對本年預算申請、審批、下發、歸檔等流程化操作,并提供日常預算和年終預算檢索、統計分析功能,同時依據歷史預算數據、設備大修指標,對設備運用狀態進行分析,實現預算預測。
(3)預算執行。實現對本年日常預算執行信息的管理,為站段業務人員提供執行信息錄入界面,使得路局財務人員可以清晰掌握各預算信息目前的執行情況,并據此實時調整預算。
(4)設備狀態。為站段業務人員提供大修設備運用狀態數據的錄入窗口。
(5)基礎數據。管理線路、站段、區間、車站等基礎字典以及設備大修指標數據。實現基礎字典數據和設備指標數據的增、刪、改、查操作。
(6)系統管理。實現對系統配置、菜單、用戶等信息的維護,同時提供用戶訪問權限管理、操作留痕以及日志檢索功能。
2.1 基于PostGIS擴展的線性參考技術
鐵路大修中線路、隧道、橋梁、涵洞、道口等大修項目,以及大修設備運用狀態中的線路通過總重,這些項目都和鐵路里程值相關。利用線性參考技術,可以將這些大修項目的里程點或者起訖里程直觀地在地圖上標識出來,使得鐵路局財務人員和站段業務人員能夠方便的了解大修預算信息。具體實現如下:
(1)在空間數據庫中,根據鐵路局管轄線路范圍,建立帶有線性參考的空間實體表rail_pl(gid,name,lineid,shape_long,shape_le_1,shape_le_2,geom)。其中,lineid字段為線路ID,唯一標識該條線路。geom為包含有M值的Shape字段。
(2)在業務數據庫中,添加rail_pl外表,針對里程點(比如隴海線K950+100)到空間點數據的轉換,添加PostGIS自定義擴展函數ck_to_point()。

同樣,針對起訖里程(例如:隴海線K950+500-K980+100)到空間線數據的轉換,添加PostGIS自定義擴展函數ck_to_line()。

2.2 基于GeoWebCache中間件的瓦片緩存機制
在客戶端訪問時,GeoServer服務器可以把空間數據轉換為maps/image來發布,即發布WMS(網絡地圖服務)。GeoServer服務器每次接到來自客戶端地圖請求,都需要重新渲染地圖并生成地圖圖片,然后把地圖圖片返回給客戶端。隨著客戶端用戶量的增加,GeoServer服務器的壓力將會越來越大,客戶端地圖的加載也會相應變慢。GeoWebCache(GWC)是OpenGEO開發的一個開源瓦片地圖服務中間件[3]。通過GridSet(網格)配置,GWC會預先將地圖圖層瓦片化,存儲在磁盤中。當客戶端通過GWC發布的URL加載地圖時,GWC將攔截這些請求,并根據請求的位置和比例尺在磁盤切片目錄中快速找到對應的瓦片,返回給客戶端,這樣GeoServer服務器就省去了每次動態生成地圖的過程,GWC的工作原理如圖5所示。系統實現時,在GridSet中設置EPSG:4 490(即國家CGCS2 000坐標系)參考系,生成如圖6所示的瓦片緩存。

圖5 GeoWebCache工作原理

圖6 GeoWebCache預生成瓦片緩存
2.3 基于Openlayers和Dojo框架的WebGIS技術
OpenLayers是用于WebGIS客戶端的二次開發,本系統采用3.8.2版本。Dojo是一個優秀的開源JavaScirpt工具集,具有良好的IO機制、事件處理機制、Widget(小部件)機制和面向對象機制[4]。在客戶端使Openlayers和Dojo兩大框架集成,能夠實現豐富的WebGIS功能。表1運用Dojo的面向對象機制實現對前端GIS功能服務的封裝。

表1 通過Dojo實現封裝GIS服務類
下面以在客戶端加載GeoWebCache發布的WMS格式的地圖數據為例,說明GIS服務類MapLayerService的核心實現代碼。

鐵路大修預算管理系統采用在鐵路局部署,鐵路局和站段兩級應用方式。系統部署時,通過采集鐵路局管轄線路(上、下行)、車站等空間信息數據,應用GIS工具進行編輯、設置線性參考,生成標準的空間數據,存入PostgreSQL空間數據庫。地圖發布時,進入GeoServer管理頁面,建立與空間數據庫的關聯存儲,創建圖層組,在圖層組中添加國家基礎底圖、省界、線路、車站等圖層,設定邊界、坐標參考系(EPSG:4490),發布地圖服務。
在系統綜合展示—預算下達模塊,實現對歷年年終預算數據和本年日常預算數據的綜合顯示。對具有空間位置屬性的預算數據,在地圖上給以顏色標識,使得鐵路局財務處人員和站段業務人員能夠直觀的了解大修預算下達情況。同時提供預算數據的多條件查詢功能,相比以往Excel表格形式存放預算數據的方式,顯著提升了鐵路局的大修預算管理水平。
線路通過總重是工務部門確定線路大修周期和相關線路設備使用壽命的主要依據。不同軌道條件(軌型、軌枕)的線路,鐵路總公司《鐵路線路修理規則》[5]中對大修周期都有明確的規定,比如60 kg/m軌型、混凝土枕無縫線路的大修周期為累計通過總重70 000 t。系統中依據修規建立指標數據庫,實現在GIS地圖中以不同顏色標識當前區段累計通過總重,給鐵路局工務業務人員以直觀的掌握。針對通過總重已超過鐵總修規的區段,業務人員在申請大修預算時可以優先考慮。如圖7所示,查詢隴海線所有區段的線路通過總重。

圖7 查詢線路累計通過總重
通過鐵路大修預算管理系統,鐵路局財務人員能夠直觀的掌握歷史大修預算下達情況;站段業務人員能夠根據鐵路大修設備運用狀態提示信息,針對已超過大修指標的設備,優先考慮提報大修預算申請。相比以往通過Excel表格管理鐵路大修預算數據和大修設備運用狀態數據的方式,系統的應用能夠顯著提升鐵路局大修預算管理水平。此外,系統完全采用開源技術開發,滿足技術“自主可控”。目前,本系統已完成在西安鐵路局的上線部署,獲得了鐵路局財務處、各業務站段的良好使用反饋,完全能夠滿足鐵路局大修預算管理的業務使用需求,具備應用和推廣價值。
[1]呂子奇,黃澤純.PostgreSQL在鐵路空間數據管理中的應用[J].鐵路計算機應用,2010,19(4).
[2]李光師.基于開源平臺構建WebGIS應用系統[J].測繪科學,2011,36(6).
[3]聶云峰,劉海玲,許 虎.GeoWebCache瓦片地圖服務中間件研究[J].測繪科學,2011, 36(6).
[4]李文兵,馬世龍.基于Dojo的Web組件框架[J].計算機工程與設計, 2007, 28(23).
[5]中華人民共和國鐵道部.鐵路線路修理規則[S].北京:中國鐵道出版社,2012:90-91.
責任編輯 徐侃春
Railway Overhaul Budget Management System based on Open Source GIS
LI Congxu1,WANG Yingjie2,FENG Boqing2
( 1.China Academy of Railway Sciences,Beijing 100081,China;2.Institute of Computing Technologies,China Academy of Railway Sciences,Beijing 100081,China)
In order to strengthen the overhaul budget management of railway administration,fully exert the role of Information System in the railway overhaul budget management,this article analyzed the process of railway overhaul budget management and business,based on railway overhaul related regulations,used open source database Postgre SQL&Post GIS,open source GIS platform GeoServer and WebGIS client framework Open layers,designed and implemented the Railway Overhaul Budget Management System.The application indicated that the open source GIS architecture adopted by this System was with good stability and exhibition effect.
Railway Overhaul Budget Management System;GeoServer;PostgreSQL&PostGIS

U216.42∶TP39
A
1005-8451(2016)11-0027-05
2016-03-24
李聰旭,在讀碩士研究生;王英杰,研究員。