WEBGIS系统整体设计

news2024/10/7 12:27:13

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/669457.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第三十四章 开发Productions - ObjectScript Productions - Defining Business Metrics

文章目录 第三十四章 开发Productions - ObjectScript Productions - Defining Business Metrics定义业务指标业务指标简介业务指标属性 单实例和多实例业务指标作为业务服务的业务指标 第三十四章 开发Productions - ObjectScript Productions - Defining Business Metrics 定…

Linux常用命令——ftpwho命令

在线Linux命令查询工具 ftpwho 显示当前每个ftp会话信息 补充说明 ftpwho命令ftp服务器套件proftpd的工作指令,用于显示当前每个ftp会话信息。 语法 ftpwho(选项)选项 -h:显示帮助信息; -v:详细模式,输出更多信…

SpringBoot使用Session防止表单重复提交(提供Gitee源码)

前言:在日常开发中,客户可能会存在反复点击提交按钮导致表单的重复提交,这个问题也是非常需要重视的,在本篇博客中,采用的是session、自定义注解和拦截器的方式来防止重复表单的重复提交,提高整体代码的优雅…

管理类联考——写作——素材篇——论说文——写作素材07——制篇:积累·习惯08——制篇:容让·宽厚

管理类专业学位联考 (写作能力) 论说文素材 07——制篇:积累习惯 论文说材料: 合抱之木,生于毫末;九层之台,起于累土;千里之行,始于 足下。 ——《老子》 一:道理论据 操千曲而后晓声&#…

HTTP代理出现503错误是什么原因,怎么处理

HTTP代理出现503错误表示代理服务器无法连接到目标服务器或无法获得对目标服务器的响应。这意味着您的请求无法被代理服务器处理,因此您无法访问所请求的网站或资源。 HTTP代理出现503错误的原因 HTTP代理出现503错误可能有以下原因: 1. 代理服务器与目…

基于Springboot+vue的网上商城购物系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

力控软件与S7-200SMART无线PPI通信

在实际系统中,人机界面与PLC通常不在一起,中心计算机一般放置在控制室,而PLC安装在现场车间,二者之间距离往往从几十米到几千米。如果布线的话,需要挖沟施工,比较麻烦,这种情况下比较适合采用无…

awk常用用法详解

作为运维工程师,使用awk来处理日常工作中的文本数据是很常见的。以下是一些常见的awk用法,可以帮助你更高效地处理文本数据: 目录 1. 查看文件的行数 2. 过滤数据 3. 统计数据 4. 格式化输出 1. 查看文件的行数 使用awk可以很快地查看文…

sed命令常用用法详解

sed 是一款流式文本编辑器,通常被用来编辑文本文件、数据流以及管道输入等。作为运维工程师,我们可以使用sed来快速处理文本数据。以下是sed的一些常见用法: 目录 1. 替换文本 2. 插入和删除行 3. 格式化输出 总 结: 1. 替换…

C++基础(6)——类和对象(运算符重载)

前言 本文主要介绍了C中运算符重载的基本知识。 4.5.1:加号运算符重载(成员函数和全局函数都可实现) 运算符重载:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 1:成员…

如何使用 RestTemplate 调用 RESTful API

如何使用 RestTemplate 调用 RESTful API? 在开发 Web 应用程序时,调用 RESTful API 是一个常见的任务。为了调用 RESTful API,我们需要使用 HTTP 协议向 API 发送请求,并解析 API 返回的响应。为了简化这个过程,可以…

为生信写的Python简明教程 | 视频6

开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在:https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…

【前端特效篇】过渡与动画

变形和动画都是前端开发过程中,用来提高用户体验的一种方式。增加一些动效,可以使页面看起来不那么枯燥无味。 一、变形 transform transform 属性应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放,移动,倾斜…

opencloudos安装nginx新版本

opencloudos基本上完全兼容centos的操作,源管理方式也适用的yum。 ​ 装了一个opencloudos之后,想安装一下nginx。 默认的情况下安装使用: yum install nginx不过默认安装的是 1.14 版本,这个版本有几个 http 的漏洞&#xff…

【JUC进阶】03. Java对象头和内存布局

1、前言 为了后面更好的学习锁优化以及运作过程,需要我们对HotSpot虚拟机的Java对象内存布局有一定的了解,也作为技术储备。 2、对象的内存布局 在HotSpot虚拟机中,对象在堆内存中存储的布局可以划分为三个部分:对象头&#xf…

逍遥子All in阿里云,阿里“压舱石”与“秘密武器”接任

激荡中的阿里,又宣布了组织变革的最新进展:张勇将在2023年9月10日卸任阿里巴巴控股集团董事会主席兼CEO职务,此后将专职担任阿里云智能集团董事长兼CEO。蔡崇信将接任阿里集团董事长,吴泳铭出任阿里集团CEO并继续兼任淘天集团董事…

Linux 学习记录37(C高级篇)

Linux 学习记录37(C高级篇) 本文目录 Linux 学习记录37(C高级篇)一、常见的shell解析器二、变量1. shell脚本外部传参2. 输入输出(1. 输出(2. 输入 3. 命令置换符4. shell中的数组 三、shell中的算数运算1. (())运算2. $[ ]运算3. let运算4. expr指令(1.数据运算(3. 字符运算 四…

STM32单片机(七)ADC模拟数字转换器----第二节:ADC模数转换器练习(AD单通道和AD多通道)

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…

港科夜闻|香港科大(广州)INNOTECH创科嘉年华暨周年庆典隆重举行

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大(广州)INNOTECH创科嘉年华暨周年庆典隆重举行。6月16日,在《广州南沙深化面向世界的粤港澳全面合作总体方案》印发一周年之际,作为《南沙方案》发布后落成的第一个重大项目,香…

深入理解生成式AI技术原理:初识生成式AI

📣📣📣📣📣📣📣 🎍大家好,我是慕枫 🎍前阿里巴巴高级工程师,InfoQ签约作者、阿里云专家博主,一直致力于用大白话讲解技术知识 &#x…