WebGIS中快速整合管理多源矢量服务以及服务权限控制的一种设计思路

简介: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在真实项目中,往往GIS服务数据源被其他多个信息中心或者第三方公司所掌控,当需要快速搭建一套能够对所有GIS数据,根据权限不同、需求不同、而进行展示的系统。

 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

在真实项目中,往往GIS服务数据源被其他多个信息中心或者第三方公司所掌控,当需要快速搭建一套能够对所有GIS数据,根据权限不同、需求不同、而进行展示的系统。为了避免在代码层面上过多的定制化开发,我们需要能提出一种可以整合管理多源矢量服务并进行权限控制的架构。

目前商业GIS软件中,Esri公司给出了其Portal产品,可以对arcgis Server发布的各矢量服务、符合OGC标准的第三方服务,进行整合管理成为针对用户而言的一个整体服务,并且能够配置不同权限人员看到的服务内容各不相同。实现门户的快速开发和资源的管理。

所以,我们现在要进行设计的,可以简单的理解为,做一个我们自己的简单的Portal产品。

2.设计思路

2.1流程图设计

                       

 

2.2核心设计

流程图中,核心部分为物理图层元数据库、专题数据库、权限数据库的建立。

图层元数据库:是指将各数据源中的核心元数据进行建库,比如地理服务URL地址、服务中各图层和图层组组织信息、图层号、图层组号、图层字段等。

专题数据库:是指基于图层元数据库建立的针对用户专题需求的库,用户无需关心各图层出自哪个数据源等,可以进行定制化的快速建库。

权限控制库:是指针对不同人员岗位对各专题以及专题中的图层进行控制权限建库。比如岗位A下的人员,只可以看见专题MapA,并且对MapA下的不同图层其管理权限各不相同(查看、编辑)。

3.实现方案

3.1物理图层元数据库建立

开发工具能够获取各数据源服务中的服务元数据信息,参考界面如下:

 

3.2专题数据库建立

专题中,支持新增图层组,支持对任何图层和图层组进行重组、编辑,参考界面如下:

 

 

3.3权限管理库建立

建立岗位与专题以及专题内容之间的权限关系数据,参考界面如下:

 

3.4前端展示

不同岗位人员登陆后看到的专题将各不相同,如下所示:

 

                                               -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                    如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                               

目录
相关文章
|
供应链 安全 Linux
简单、透明、安全、高度集成!龙蜥可信 SBOM 能力探索与实践
从攻击面管理的角度解决软件供应链SBOM复杂体系的安全可信问题。
|
Windows
无法识别的标志“-Ot”(在“p2”中)
无法识别的标志“-Ot”(在“p2”中)
486 0
|
6月前
|
JSON API 开发者
1688店铺所有商品API接口(1688API系列)
1688店铺所有商品API接口允许开发者通过输入店铺ID,获取指定店铺内的全部商品信息,包括名称、价格、库存、图片和销售数据等。该接口支持排序和分页参数,返回JSON格式数据,便于解析和应用。Python示例展示了如何使用requests库发送GET请求并处理响应,助力电商数据分析与业务拓展。
|
机器学习/深度学习 测试技术 计算机视觉
【YOLOv8改进】DAT(Deformable Attention):可变性注意力 (论文笔记+引入代码)
YOLO目标检测创新改进与实战案例专栏探讨了YOLO的有效改进,包括卷积、主干、注意力和检测头等机制的创新,以及目标检测分割项目的实践。专栏介绍了Deformable Attention Transformer,它解决了Transformer全局感受野带来的问题,通过数据依赖的位置选择、灵活的偏移学习和全局键共享,聚焦相关区域并捕获更多特征。模型在多个基准测试中表现优秀,代码可在GitHub获取。此外,文章还展示了如何在YOLOv8中应用Deformable Attention。
|
8月前
|
存储 编译器 数据安全/隐私保护
【C++面向对象——类与对象】CPU类(头歌实践教学平台习题)【合集】
声明一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,以及两个公有成员函数run、stop。根据提示,在右侧编辑器补充代码,平台会对你编写的代码进行测试。​ 相关知识 类的声明和使用。 类的声明和对象的声明。 构造函数和析构函数的执行。 一、类的声明和使用 1.类的声明基础 在C++中,类是创建对象的蓝图。类的声明定义了类的成员,包括数据成员(变量)和成员函数(方法)。一个简单的类声明示例如下: classMyClass{ public: int
206 13
|
11月前
|
存储 监控 安全
服务器维护是确保服务器稳定运行、数据安全和性能优化的重要过程
【10月更文挑战第4天】服务器维护是确保服务器稳定运行、数据安全和性能优化的重要过程
303 65
|
存储 关系型数据库 数据库
在 Postgres 中使用 Insert Into Select
【8月更文挑战第11天】
742 0
在 Postgres 中使用 Insert Into Select
|
人工智能 搜索推荐 机器人
[AI Mem0] 概览,智能自我改进记忆层
[AI Mem0] 概览,智能自我改进记忆层
|
存储 关系型数据库 数据库
初探PostgreSQL体系结构
初探PostgreSQL体系结构
259 0
|
存储 算法 C++
C++一分钟之-容器概览:vector, list, deque
【6月更文挑战第21天】STL中的`vector`是动态数组,适合随机访问,但插入删除非末尾元素较慢;`list`是双向链表,插入删除快但随机访问效率低;`deque`结合两者优点,支持快速双端操作。选择容器要考虑操作频率、内存占用和性能需求。注意预分配容量以减少`vector`的内存重分配,使用迭代器而非索引操作`list`,并利用`deque`的两端优势。理解容器内部机制和应用场景是优化C++程序的关键。
258 5