系统空间数据库设计

简介: 系统空间数据库设计

1 .空间数据库

系统空间数据库存储电力管线设备和管网各业务图的地理空间信息, GIS 服务器GeoServer 通过读取空间数据库的实体表中的空间信息确定地物类的位置和几何形状,然后将其在地图上渲染出来。空间数据库实体清单如表

系统通过PostGIS 对空间数据库构建提供支持,空间数据库中地理空间数据统一使用Geometry 数据类型。由于PostGIS 很好地遵守OGC 的SFA 规范, Geometry 数据类型能够支持点、多点、线、多线、多边形、多多边形以及集合对象集等几何类型。G巳ometry 数据类型有两种表现形式: 一种是几何对象的文本表现形式CWKT ) ;另一种是SQL 实现形式,即Canonical Form o 井且PostGIS 可以通过ST_As Text (geometry )和ST一GeomFromEWKT(text )函数实现两种表现形式间的自由转换。

2. 空间数据库实体结构

空间数据库的实体结构如图 所示,空间数据库实体表统一继承于空间基础表(GEO_BASE )。工井俯视图实体表、单线图实体表、接线图实体表存储着可以渲染各种业务图的空间数据,它记录着业务图的各元素形状和位置信息。

土建实体表和电气实体表分别记录的是土建层和电气层的空间数据;剖面实体表存储的是管沟段的横剖面的几何信息和关键属性;管孔实体表和支架实体表则记录着剖面图上的管孔的位置及几何形状。与属性数据库数据相对应的空间土建表、电气表、剖面图表、管孔和支架表继承于空间对象基础表( GEO_OBJECT_BASE) ,GE 。一OBJECT _BASE 的表结构如表

属性与空间数据库关联设计

系统通过GIS 技术实现空间数据的发布功能,通过结合电力管线属性数据与地理数据系统实现系统图文一体化操作,从地图上可以查询和管理设备与管线的地理位置等空间信息,也可以管理设备的相关属性信息。由于系统数据库采用了属性和空间的两层设计结构,因此实现系统的图文一体化操作的关键在于属性数据和空间数据间的关联设计。

属性数据库和空间数据库中各实体表的主键( AUTO_ID )是PostgreSQL 数据库中的序列对象( SEQUENCE )实现由数据库控制为每条记录生成唯一序号。而空间数据库和属性数据库中同一记录的一对一关联则是通过静态ID(STATIC_ ID )实现的, STATIC _ ID 的生成规则通过时间戳生成算法由系统业务逻辑层控制的。

由业务逻辑层控制静态ID 的生成不仅可以保证静态ID 的唯一性,而且可以保证属性数据库和空间数据库中相同记录的静态ID 也是相同的。属性和空间数据库中相同记录的静态ID 的一致性为属性和空间数据的关联操作提供的基础。获取SQL 类型的空间数据Geometry将Geometry转变为WKT形式ST_ AsText(geometry)拆分WKT形式的字符串获得更新后的经纬度判断设备类型OBJECT_TYPE通过STAT IC _ID更新属性数据库中相应记录的经纬度属性数据和空间数据的关联操作包括增加、删除和修改。添加数据记录的关联操作是由系统的业务逻辑层控制的,业务逻辑层会同时控制生成一一对应的属性和空间数据记录,而数据的删除和修改的关联则是通过数据库触发器控制的。在系统执行数据的删除和特定字段的更新操作时,触发器会通过静态ID 字段删除和更新相应数据库中的记录。

系统数据库设计的触发函数包括属性数据删除的触发函数、空间数据删除的触发函数、NAME字段更新触发函数以及经纬度更新的触发函数。其中,经纬度更新的触发函数的流程图如图所示,它的主要功能是在空间数据库中点设备的GEOMETRY 数据发生修改时,更新属性数据库中相应记录的经纬度。

目录
相关文章
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
1366 79
|
前端开发 数据库
会议室管理系统源码(含数据库脚本)
会议室管理系统源码(含数据库脚本)
335 0
|
安全 关系型数据库 数据管理
阿里云数据库:构建高性能与安全的数据管理系统
阿里云数据库提供RDS、PolarDB、Tair等核心产品,具备高可用、弹性扩展、安全合规及智能运维等技术优势,广泛应用于电商、游戏、金融等行业,助力企业高效管理数据,提升业务连续性与竞争力。
|
SQL 监控 安全
数据库安全审计系统
Next-DBM数据库审计系统助力企业解决数据安全难题,提供统一身份管理、全方位监控、智能风险识别、完整审计追溯及精细化权限管控,有效防范数据泄露与内部威胁,保障企业核心资产安全,满足合规要求,提升运维效率。
|
Java 数据库
jsp CRM客户管理系统(含数据库脚本以及文档)
jsp CRM客户管理系统(含数据库脚本以及文档)
382 10
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
646 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
1401 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
前端开发 Java 关系型数据库
基于ssm的社区物业管理系统,附源码+数据库+论文+任务书
社区物业管理系统采用B/S架构,基于Java语言开发,使用MySQL数据库。系统涵盖个人中心、用户管理、楼盘管理、收费管理、停车登记、报修与投诉管理等功能模块,方便管理员及用户操作。前端采用Vue、HTML、JavaScript等技术,后端使用SSM框架。系统支持远程安装调试,确保顺利运行。提供演示视频和详细文档截图,帮助用户快速上手。
664 17
|
前端开发 Java 关系型数据库
基于ssm的超市会员(积分)管理系统,附源码+数据库+论文,包安装调试
本项目为简单内容浏览和信息处理系统,具备管理员和员工权限。管理员可管理会员、员工、商品及积分记录,员工则负责积分、商品信息和兑换管理。技术框架采用Java编程语言,B/S架构,前端使用Vue+JSP+JavaScript+Css+LayUI,后端为SSM框架,数据库为MySQL。运行环境为Windows,JDK8+Tomcat8.5,非前后端分离的Maven项目。提供演示视频和详细文档,购买后支持免费远程安装调试。
840 19
|
前端开发 JavaScript Java
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
609 17