c++和opengl实现gis_基于套件技术的一站式GIS系统框架结构研究

作 者 信 息

秦高雅1,霍 亮1,2,慕 旭1,王金地1,曹存相1

(1. 北京建筑大学 测绘与城市空间信息学院,北京 102616;2. 现代城市测绘 国家测绘地理信息局重点实验室,北京 102616)

【摘要】传统GIS平台在集成应用方面,体量大、费用高、功能大而全,尤其对于非专业用户缺乏性价比,缺乏直接面向用户的专题性解决方案。在开发方面,模块可复用性低、系统扩展性差。针对这些问题,分析服务架构的特点及其模块之间的协作方式,采用套件、总线技术,提出一种基于套件技术的一站式GIS系统框架结构,该框架的套件设计赋予套件层高灵活性,能够在GIS系统中灵活组装以达到设计目的。总线的设计支持功能服务的分散组合,提升系统的可扩展性、伸缩性。总体上实现了一种松散的系统体系结构,支持功能服务的分散组合及可复用,并在实际中得到应用,验证了该框架结构的可行性与科学性。

【关键词】GIS;一站式;套件;可复用;松耦合

【中图分类P208 【文献标识码】A 【文章编号】1672-1586(2019)02-0026-04

引文格式:秦高雅,霍 亮,慕 旭,等. 基于套件技术的一站式GIS系统框架结构研究[J].地理信息世界,2019,26(2):26-29.

正文

0 引 言

“数字地球”和“智慧城市”的提出,在为地理信息产业带来发展机遇的同时也对地理信息产业的理论和技术提出了更高的挑战和要求。面向行业应用的GIS系统开发处在一个充满变化的应用领域,需求呈现多元化,系统规模和复杂度也不断加大,为有效地实现软件复用,降低开发成本,良好的系统架构设计至关重要。传统的软件架构在集成应用方面有以下不足:①传统GIS体量大、费用高、功能大而全,尤其对于非专业用户缺乏性价比;②在开发环境下,功能模块的可复用率低,造成开发时间成本的浪费,缺乏有效的解决方案;③严格区分单机版(C/S)和网络版(B/S),缺乏直接面向用户的专题性解决方案。在大数据时代背景下,普适化、平民化,具有专业针对性是GIS平台应用的需求更加突显。

基于此本文提出了一种基于套件技术的一站式GIS系统框架结构,该架构采用套件、总线技术,实现了一种松散的系统体系结构,支持功能服务的分散组合,提升系统的扩展性、伸缩性及模块的可复用性。并基于该框架设计了测绘资料信息一站式管理平台,为用户提供一站式的管理服务。

1 基于套件技术的一站式GIS系统框架结构

根据上文分析,结合实际应用项目的需求,为了提高系统的扩展性、伸缩性、灵活性,提高系统资源利用率、容错性,本文提出了基于套件技术的一站式GIS系统框架结构。

1.1 套件模型结构设计

与传统庞大的系统体系相比,基于总线技术的一站式框架具有更好的灵活性、可扩展性、可维护性。基于总线技术的一站式架构的核心思想是套件,套件是一个满足特定需求的计算机软件系统,在系统平台软件中高效运行,具有高度的扩展性和灵活性。套件也是该框架结构下应用平台的标准构造单元,通过套件的灵活组装,能够构造更为高层和更粗粒度的GIS系统模块和封装更为低层和更细粒度的逻辑实现。

套件层的表现形式可以是封装的接口,也可以是现有的、可利用的界面或功能代码或接口。如果使用的套件形式是一个界面或功能代码,在开发过程中将界面或代码嵌入系统就可达到目的。如果套件的表现形式是一个接口,在这里可以将套件定义为位于某一环境之中,通过传感器感知环境,并通过效应器反作用于环境的实体。在这里套件的感应器与效应器就是封装好的服务接口,为系统客户端提供动态调用的相关接口,如图1所示。通过在客户端调用接口,最终实现其套件功能。

00b9eea112ac1a34e3d32a807df771af.png

图1 功能套件接口结构

Fig.1 The interface architecture of function kits

一个数据属性查询功能的实现,套件层提供查询数据属性的接口,如图2所示。当客户端发送查询请求调用查询接口时,查询服务接收到请求并进行数据属性查询,在这里查询服务的查询条件由客户端传进来的参数决定。接口方法GetDataByID用于通过数据名称查询数据属性,接口方法GetDataByData用于通过数据生产时间进行相应的数据属性查询,接口方法GetDataBySpatia通过空间查询的方法进行数据属性查询。查询结果以数组的形式返回,在客户端按需对查询属性字段进行筛选显示。

1e02b28858f0c7bc8a8ff9857728e60a.png

图2 查询服务接口

Fig.2 The query interface

单独的套件其能力是有限的,套件能够与其他套件协同工作,组成多套件系统,将任务分解为多个子任务,协作完成任务,从而共同解决较为复杂的问题。多套件系统也是一个集成系统,它采用信息集成技术,将各子系统的信息集成在一起,完成复杂系统的集成。在该框架中许多复杂功能的实现由多套件系统完成。套件之间的协作需要信息交互,当很多个套件、多个模块相互协作时,套件之间、模块之间的关系变得异常复杂,这时候需要总线来进行治理。

1.2 总线模型结构设计

总线设计又称为总线治理。本文框架结构设计采用功能总线的框架结构设计,功能服务的统一管理、协议转换、服务路由等功能的实现需要基于统一标准的入口,而服务功能入口由通信中心即总线提供。通过这种方式可以实现不同的功能服务模块高效连接,每个子系统模块仅需要和功能总线建立连接关系,从而极大地减少了子模块间的连接数和系统间连接拓扑的复杂度,系统总线模型如图3所示。

24a77fcd5e800d20c4922d0f65c7a764.png

图3 系统总线模型

Fig.3 The bus model for the system

GIS数据、资源种类繁多、形式多样,系统模块访问数据需要直接从底层数据开始处理调度,不同的数据服务、不同的数据种类的调度增加了系统数据资源调度的复杂性。针对GIS数据资源的调度,采用数据/资源总线来管理数据资源的统一调度,通过数据资源总线实现数据的统一调度输出。

结合SOA总线技术,基于面向对象思想,本文设计的框架模型分为数据/资源总线和功能总线。总线的构建基于统一标准协议,总线负责套件的调度与通讯机制。功能总线负责协调功能模块之间的通信交互,位于服务层与用户层之间。数据/资源总线位于套件层和数据层之间,协调套件层和数据层之间的交互,根据套件层的需求对数据/资源进行读取和写入等操作。

在GIS平台多源数据的叠加显示时,需要多套件系统互相协作。当客户端发出多源数据叠加显示的请求时,请求到达功能总线,经过功能总线协调传递给套件层的数据服务,如DLG服务、DEM服务、DOM服务、DRG服务等,进而传递给数据/资源总线,从而调度相应的地图数据,如图4所示。

fd58ad655b6cd2e513ce8e4f184a7854.png

图4 多源数据调度机制

Fig.4 The Scheduling mechanism for multi-source data

1.3 总体框架结构

基于一站式思想,遵循可扩展、松耦合、高复用等原则,将平台总体框架结构进行层次性模块划分,增加套件模块间的内聚性,使功能套件能够方便组装,从而达到套件粗粒度的封装与复用,同时能够通过简单的方式实现复杂的功能,发布更加多样的服务。本文设计了基于套件技术的一站式GIS系统框架结构模型,总体框架结构如图5所示,基于套件技术的一站式GIS系统框架结构分为3层:用户层、套件服务层、数据层。

89d9b71b461ae94ee425e90a2d8244d0.png

图5 总体框架结构示意图

Fig.5 Overall architecture of the system

数据层存储空间数据,如数据库或者数据文件。包括3D数据(DEM、DOM、DLG)、三维模型、矢量数据、文本数据、属性数据等,为系统提供所需要的数据和相关资源。

套件服务层是基于套件技术的一站式GIS系统框架结构的核心,套件层可以看做是一个“组装工厂”,针对不同行业用户的需求,按需定制各种功能套件、组件、服务和插件等。在这里这些“组装工厂”中的套件是现有的、可利用的界面或功能代码或接口,可以单独使用又可以组装配合使用。组件是在开发过程中对数据和方法的简单封装。

用户层即应用平台的门户,用户通过客户端门户进行相关操作。

2 原型系统设计及实现

采用上述系统架构设计,使用C#、JavaScript语言、vue.js框架,开发了测绘数据一站式管理平台。测绘数据信息一站式管理平台由C/S模式的数据维护子系统和B/S模式的数据管理子系统两部分组成。测绘数据一站式管理平台框架示意图如图6所示。

a85c05dff71fcf9836beca171538d6d4.png

图6 一站式测绘数据管理平台框架示意图

Fig.6 Architecture of the one-stop management platform for surveying and mapping data

C/S模式的数据维护子系统部署在总控机上,由数据管理员管理,系统包括:档案管理、数据管理、运维管理、数据安全、地图操作。系统功能基本涵盖了测绘资料管理的各部分操作,包括数据的入库、更新、迁移备份等,同时提供多种测绘数据查询检索方式,为用户查找定位所需要的数据提供方便。C/S模式的数据维护子系统根据功能特性划分为基本工具模块、数据管理模块、数据安全模块与公共模块。数据维护子系统界面如图7所示。

407758c039fdee748d7324fe9fa69605.png

图7 数据维护子系统

Fig.7 The subsystem for data maintenance

B/S模式的数据管理子系统在浏览器上运行,系统提供了数据视图浏览、资料查询、数据统计输出、网盘文档管理等功能模块。查询模块包括数据查询模块,可进行范围查询、自定义查询、行政区查询、导入文件查询、图号查询,每种查询可通过不同条件进行联合查询。统计输出模块包括快捷统计与按条件统计。快捷统计包括按政区统计、项目统计、按比例尺统计和按时间统计。若按条件统计为数据属性条件与空间条件的联合查询,统计结果为三维柱状图。同时对不同用户赋予设置不同的数据使用权限,进一步增强数据的安全性,满足测绘成果数据信息管理的需求。数据管理子系统界面如图8所示。

fa6a113fa03d607242c7b090854e24c4.png

图8 数据管理子系统

Fig.8 The subsystem for data management

C/S端的数据维护子系统中的基本工具模块和系统设置模块是利用现有的界面及代码通过套件技术嵌入平台中进行组装。B/S端数据管理子系统中查询统计模块中的范围查询、图号查询和网盘管理模块、基本操作工具是利用现有的套件嵌套到系统中的,极大缩短了开发周期,提高了代码的复用性。

3 结束语

本文提出了基于套件技术的一站式GIS系统框架结构研究,并研发了原型系统用于测绘档案数据的管理。该框架结构实现了体系结构的松散性耦合,降低了模块之间的依赖性,以分散关注的方式提高了开发速度,以套件复用的方式避免了功能重复开发,使应用平台具有灵活多样的特性。在实际应用中,套件技术的应用能够显著提高开发效率,但同时需要考虑套件与整个系统的兼容性、适用性等问题,需要综合判断应用。

b1b34f8682beb8700e017ffdc1e07ed9.png

本期回顾

88df0284f59b9cff069803bb4a0499a7.png

理论研究

 · 基于地理空间信息的文化遗产可持续发展指标建设  ·基于Landsat 8的成都市城市热岛时空格局变化研究  ·基于视频场景多因素的人群运动状态分析  · 岩体边坡影像的控制测量方法研究

邮箱变更声

·《地理信息世界》邮箱变更声明

网站开通公告

·关于开通《地理信息世界》网站的公告

诚聘特约审稿专家

·诚聘|《地理信息世界》诚聘特约审稿专家

专题组稿

·约稿函|《地理信息世界》关于开辟“博士综述论坛”专栏的约稿函

d312ecdaa4cbbffac6ee8dd39549b38f.png

a10b7624c3baaf7b3fad81f85b411362.png

f9ee81d920f4de9f46f95a4491fc2a17.png

eb79ba08262e5ec39189e3b70fdf1377.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值