WEBGIS系统整体设计

简介: WEBGIS系统整体设计

城市地下电力管线管理系统是一个基于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 基本功能、设备管理、管线业务管理和其他功能四个功能模块构成。系统的功能结构图如

目录
相关文章
|
2月前
|
Java 关系型数据库 数据库连接
webgis系统实现
webgis系统实现
36 7
|
9月前
|
存储 监控 BI
|
存储 监控 安全
聊一聊,如何做好垂直域稳定性(3)
聊一聊,如何做好垂直域稳定性
121 0
|
数据采集 存储 运维
聊一聊,如何做好垂直域稳定性(2)
聊一聊,如何做好垂直域稳定性
126 0
|
存储 缓存 分布式计算
聊一聊,如何做好垂直域稳定性(4)
聊一聊,如何做好垂直域稳定性
121 0
|
存储 缓存 运维
聊一聊,如何做好垂直域稳定性(1)
聊一聊,如何做好垂直域稳定性
128 0
|
存储 消息中间件 监控
大型系统应用边界设计原则与实践
大型系统应用边界设计原则与实践
大型系统应用边界设计原则与实践
|
存储 架构师 Java
架构风格与协同之间设计考量
一次关于架构风格与协同之间的讨论,激发出来自己的很多思考,遂整理出来,与大家分享。 讨论的主要内容有三点: 1、架构风格与应用框架 2、时间、成本和范围的平衡 3、演进式架构的考虑 关于**第一点**,在读《架构整洁之道》一书中就提到过,包的组织形式决定了架构的设计风格,如下图所示,从左至右分别是按层封装、按功能封装、接口和适配器和按组件封装。 ![](https://ata2-img.o
242 0
架构风格与协同之间设计考量
如何高效地甄别开发人员水平
由于工作的需要,我经常需要面试开发人员。工作中发现以下问题: 首先,面试的工作往往是效率极低的。比如有10个应聘者,每个人平均20分钟,那么花费的时间就是三个半小时,结果呢?经常是一个合适的都没有。
818 0
|
UED iOS开发
《伟大的小细节:互联网产品设计中的微创新思维》——3.5 交互界面因素
本节书摘来自华章计算机《伟大的小细节:互联网产品设计中的微创新思维》一书中的第3章,第3.5节,作者:文哲著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1186 0