基于开源GIS的铁路大修预算管理系统设计与实现

2016-02-16 07:34李聪旭王英杰封博卿
铁路计算机应用 2016年11期
关键词:铁路局大修开源

李聪旭,王英杰,封博卿

(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 系统业务需求分析

铁路大修预算管理系统是以铁路局财务大修预算和大修设备运用状态为管理对象,以每年大修预算的申请、下达、执行、归档、预测为主线,以预算数据、设备运用数据、铁路设施设备数据为数据基础,最终实现大修信息的可视化展示、查询统计和预警预测。系统总体业务流程如图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 关键实现技术

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的核心实现代码。

3 系统应用

铁路大修预算管理系统采用在铁路局部署,铁路局和站段两级应用方式。系统部署时,通过采集铁路局管辖线路(上、下行)、车站等空间信息数据,应用GIS工具进行编辑、设置线性参考,生成标准的空间数据,存入PostgreSQL空间数据库。地图发布时,进入GeoServer管理页面,建立与空间数据库的关联存储,创建图层组,在图层组中添加国家基础底图、省界、线路、车站等图层,设定边界、坐标参考系(EPSG:4490),发布地图服务。

在系统综合展示—预算下达模块,实现对历年年终预算数据和本年日常预算数据的综合显示。对具有空间位置属性的预算数据,在地图上给以颜色标识,使得铁路局财务处人员和站段业务人员能够直观的了解大修预算下达情况。同时提供预算数据的多条件查询功能,相比以往Excel表格形式存放预算数据的方式,显著提升了铁路局的大修预算管理水平。

线路通过总重是工务部门确定线路大修周期和相关线路设备使用寿命的主要依据。不同轨道条件(轨型、轨枕)的线路,铁路总公司《铁路线路修理规则》[5]中对大修周期都有明确的规定,比如60 kg/m轨型、混凝土枕无缝线路的大修周期为累计通过总重70 000 t。系统中依据修规建立指标数据库,实现在GIS地图中以不同颜色标识当前区段累计通过总重,给铁路局工务业务人员以直观的掌握。针对通过总重已超过铁总修规的区段,业务人员在申请大修预算时可以优先考虑。如图7所示,查询陇海线所有区段的线路通过总重。

图7 查询线路累计通过总重

4 结束语

通过铁路大修预算管理系统,铁路局财务人员能够直观的掌握历史大修预算下达情况;站段业务人员能够根据铁路大修设备运用状态提示信息,针对已超过大修指标的设备,优先考虑提报大修预算申请。相比以往通过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

李聪旭,在读硕士研究生;王英杰,研究员。

猜你喜欢
铁路局大修开源
UIC和欧盟铁路局签署一项协调框架协议
既有灾害监测系统接入铁路局中心系统方案研究
养心殿大修的故事
五毛钱能买多少头牛
2019开源杰出贡献奖
首次大修的《农村土地承包法》修改了哪些内容?
呼和浩特铁路局GSM-R系统现场应用故障分析与处理
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
茂名式大修