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

目录
相关文章
|
5月前
|
网络协议 Python
系统工程是一种跨学科的方法论,旨在通过分析和设计系统的各个组成部分、组织结构、信息流和控制机制,以实现系统的整体最优运行。
系统工程是一种跨学科的方法论,旨在通过分析和设计系统的各个组成部分、组织结构、信息流和控制机制,以实现系统的整体最优运行。
|
7月前
|
存储 运维 安全
软件体系结构 - 信息系统架构
【4月更文挑战第20天】软件体系结构 - 信息系统架构
207 13
|
7月前
|
监控 Java 数据库
揭秘Java性能调优的层次 | 综合多方向提升应用程序性能与系统高可用的关键(架构层次规划)
揭秘Java性能调优的层次 | 综合多方向提升应用程序性能与系统高可用的关键(架构层次规划)
104 0
|
存储 监控 BI
|
运维 NoSQL 定位技术
软件分析与设计:分析什么?如何设计?
分析与设计这两个词我们平时经常听到,也经常讲,那么分析与设计的本质究竟是什么呢?到底要分析什么?又到底要怎样去设计?这3个问题如果平时没有一些积累,突然被问到这些,一时也会显得不知所措。接下面在第一部分中回答分析与设计的本质,只有清楚了本质,那就知道要怎么分析与设计,因此在第二、第三部分具体讲软件的分析与设计方法,最后一部分讲述个人的一些思考。
软件分析与设计:分析什么?如何设计?
|
UED iOS开发
《伟大的小细节:互联网产品设计中的微创新思维》——3.5 交互界面因素
本节书摘来自华章计算机《伟大的小细节:互联网产品设计中的微创新思维》一书中的第3章,第3.5节,作者:文哲著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1208 0
《系统分析与设计方法及实践》一1.2 什么是软件分析与设计
本节书摘来华章计算机《系统分析与设计方法及实践》一书中的第1章 ,第1.2节,窦万峰 主编 宋效东 史玉梅 李东振 赵菁 等参编更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1786 0
|
程序员 C++
《系统分析与设计方法及实践》一3.7 案例6:分布式结对编程系统
本节书摘来华章计算机《系统分析与设计方法及实践》一书中的第3章 ,第3.7节,窦万峰 主编 宋效东 史玉梅 李东振 赵菁 等参编更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1297 0
下一篇
DataWorks