城市地下电力管线管理系统是一个基于B/S 架构的应用系统。系统的网络拓扑结构如
PostgreSQL 数据库以及文件系统作为数据服务器。另外,使用GeoServer 作为GIS 服务器,提供符合OpenGIS 规定的WFS 、WMS 等协议的GIS 服务。
遵循MVC 的分层设计思想,系统整体上分为数据层、应用逻辑服务层及表现层三层。
系统的层次结构所示。
由于城市地下电力管线GIS 系统涉及大量的数据处理,如果将业务逻辑都放在浏览器端处理会使浏览器负担过重,导致效率下降,相反如果将其都放在服务器端处理会使服务器端请求过多,导致服务器堵塞。因此,系统采用三层的BI S 层次结构,将一部分逻辑放在服务器端实现,同时将GeoServer 放在服务器端发布,在前端和后台间实现系统业务逻辑的负载均衡。
数据层主要为提供数据服务的数据服务器,由PostgreSQL 数据库和地图瓦片文件构成。PostgreSQL 数据库是最基础的数据存储服务器,通过空间数据处理插件Po s tGIS 使数
据库具有空间数据处理功能。数据层中存储了瓦片地图数据、WebGIS 空间数据、电力管线属性数据以及用户管理数据。
应用逻辑服务层主要起到连接数据层和前台表现层的作用,主要由GIS 服务和业务逻辑服务两部分构成。GIS 服务由GeoServer 提供,瓦片服务器的通过读取瓦片地图文件构
建系统背景图层。GeoServer 可以为表现层提供基于GIS 开放标准规定的WFS,WMS 等协议的GIS 访问服务。业务逻辑服务通过基于符合J2EE 规范的SSH 框架提供,主要有设
备管理、用户权限管理以及数据导人等服务。
业务逻辑服务除了提供系统设备属性管理服务外,还提供系统设备逻辑关系的管理功能。电力设备间的关系包括承载关系、连接关系和包含关系。根据电力管线资源GIS 模型,对电力管线设备进行建模,数据库表结构、GIS 服务和资源管理服务都是基于这一模型。表现层为系统的功能实现层,通过HTML 和css 技术设计系统界面,使用JavaScript脚本实现前台的业务逻辑控制。表现层主要由GIS 功能模块、导航树模块、资源管理模块以及其他模块构成。GIS 功能模块为系统最重要的功能模块,通过网页开发框架OpenLayers 实现。GIS 功能模块可以提供地图植染、基本地图操作控件、图层控制控件以及实现地图的交互操作,并且实现了电力管线单线图、设备接线图以及工井剖面图的绘制和编辑功能。
表现层与逻辑服务层之间的交互主要通过WFS 、WMS 协议和Ajax 技术实现。OpenLayers 通过WMS 协议获取瓦片地图数据,然后构建空间背景图层,同时利用WFS 协议获取代表管线设备的地物类,将其在地图上渲染出来,从而构建各设备图层。导航树模块与设备管理模块利用Ajax 技术与业务逻辑服务进行异步通信,获得设备间逻辑关系,以确保正确构建导航树的各节点,并且保证系统在进行设备管理时设备间的逻辑关系。通过使用Ajax 技术实现网页与服务器的异步交互,实现了网页的无刷新操作。另外,设备管理模块利用WFS 服务与GIS 模块通信查询、修改某一设备的空间信息,同时结合Ajax 获得的设备属性信息实现对电力管线设备资源的管理。在综合考虑系统目标和功能需求的基础上,设计了城市地下电力管线管理系统的功能。系统的功能主要包括GIS 基本功能、设备管理、管线业务管理和其他功能四个功能模块构成。系统的功能结构图如