APP下载

面向服务的多源异构数据Web浏览系统研究与实现

2011-04-18刘永伟刘晓慧叶长春李西太

城市勘测 2011年1期
关键词:中间件空间数据数据源

刘永伟,刘晓慧,叶长春,李西太

(中国地质大学(武汉)信息工程学院,湖北武汉 430074)

面向服务的多源异构数据Web浏览系统研究与实现

刘永伟∗,刘晓慧,叶长春,李西太

(中国地质大学(武汉)信息工程学院,湖北武汉 430074)

分析了当前GIS空间数据多源异构的状况,介绍了解决多源异构数据共享问题的相关技术,提出了一种网络环境下浏览多源异构空间数据的系统架构,该系统面向服务基于MapGIS数据中心和MapGIS IMS-SOA开发。该体系能够充分利用现有数据资源和网络资源。

面向服务;中间件;多源异构数据

1 引 言

随着网络应用的扩大,人们在互联网上对地理信息的需求也随之增长,互联网与GIS结合成互联网地理信息系统(WebGIS)是GIS软件发展的必然趋势,而且在当前社会已经广泛流行。但长期以来不同GIS厂商生产的数据格式不同,即使同一厂商生产的数据,随着版本的升级也会有差异。原因在于地理数据存储格式的不同以及数据模型与数据结构的差异,导致多源异构数据的产生,以致给GIS空间数据的集成和发布带来了困难[1]。国产优秀平台软件MapGIS数据中心,很好地解决了这个问题,数据中心能够把多源异构数据整合起来;同时平台软件MapGIS IMS-SOA针对MapGIS数据中心集成的多源异构数据,使用面向服务的架构,能够在互联网上发布这些数据,包括MapGIS 6X数据、MapGIS 7X数据、ArcGIS数据等,从而解决了多源异构数据难以集成和发布的难题。

2 相关技术介绍

2.1 MapGIS IMS-SOA相关技术

(1)SOA概述

SOA(Services Oriented Architecture)即面向服务的架构,是一种粗粒度、松耦合的软件体系架构,它将应用程序服务和资源功能单元,通过服务间定义好的接口和契约联系起来。SOA采用“发布、查找和绑定”的模式,主要包括三种角色:服务请求者、服务注册中心、服务提供者,在这三种角色之间,SOA通过三种操作:发布、查找和绑定来实现相互联系,SOA体系结构如图1所示。

图1 SOA体系结构

(2)MapGIS IMS-SOA概述

MapGIS IMS-SOA平台在MapGIS 7-IMS的基础上,融合了SOA的思想,采用Web Service的方式全面整合了WebGIS功能,并对各大功能进行优化,提高其性能,为MapGIS IMS用户提供全面、优质的服务,逐步实现了组件式GIS向服务式GIS的转化。平台主要功能有:地图基本显示(放大、缩小、漫游、复位、更新、全图显示)、数据查询(通过图形的点击、矩形、圆形、多边形来查询属性)、地图编辑、空间分析(叠加分析、缓冲区分析)、统计分析、测算、投影转换等。

MapGIS IMS-SOA平台的优点主要包括:异构空间数据互操作与功能共享并举,跨GIS平台、跨网络的集成与应用,支持异构GIS平台集成应用,更高的系统安全性。

MapGIS IMS-SOA平台基于SOA架构,通过提供服务式的WebGIS开发方式。平台把所有复杂问题隐藏在内部,通过GIS服务器和Web服务,为用户提供一套功能强大、及其简单的应用服务接口。

2.2 MapGIS数据中心

空间数据具有多源性、多语义性、多时空性、多尺度和获取数据手段的复杂性等特点,这就决定了空间数据表达的复杂性。尤其是在网络环境下如何对空间数据采用规范化的编码使得分布在网络下的所有用户都可以无缝地获取、访问、浏览空间数据还存在着很大的技术问题,所以解决多源异构数据的访问一直是WebGIS开发中需要解决的一个重要问题[2]。

(1)多源异构数据集成

目前不同GIS软件使用的空间数据交换格式主要有:ESRI公司的Arc/Info Coverage、ArcShapeFiles和EOO格式;Autodesk公司的DXF和DWG格式;Maplnfo公司的MIF格式;Intergraph公司的DGN格式等[3]。解决这些多源数据的集成主要有以下几种方法:

①空间数据转换

数据转换就是把其他格式的数据经过专门的数据转换程序转换成该系统的数据格式,并复制到当前系统的数据库或文件中[4]。基于转换器通过交换格式来完成多源数据的集成。

②直接访问空间数据

直接访问数据是指在一个GIS软件中实现对其他GIS数据的直接访问,用户可以使用单个GIS软件存取多种数据。

③空间数据互操作

数据互操作是指各系统遵守已经达成的统一标准,通过制定的接口相互联系,允许各自的数据结构和数据处理方式有所不同。GIS互操作是指在异构数据库和分布计算的情况下,GIS用户在相互理解的基础上,能透明地获取所需的信息[5]。

但是以上方法各有利弊,不能满足当前多源异构数据集成的要求,寻找合理的解决方案是GIS应用中急需解决的问题。针对以上方法存在的问题MapGIS数据中心提出了多源异构数据统一层次化管理的解决方案。

(2)MapGIS数据中心概述

数据中心全称“数据中心集成开发平台”,数据中心是管理和组织各种GIS数据(如MapGIS 6X、MapGIS 7X、ArcGIS数据等)、各种数据库数据(如Oracle、SQL Server、Access等)、各种文件数据(如Word、PDF、Excel、图像等)的集成框架,数据中心对数据的管理机制克服了异构和分布带来的数据使用障碍,建立一个理想的应用环境。

数据中心是一种强兼容性的数据仓库,可以在同一个框架下,把来自不同生产厂商,不同格式,不同标准,分布在不同位置的数据统一在一个系统之下,即对分布式多源异构空间数据的集成统一管理。数据中心存储数据并不是存储数据本身,而是通过引用数据的存放位置,对于数据的访问有基于URL的访问和基于GUID的访问。

对于异构、异质的不同平台的GIS数据,数据中心提供了中间件技术,它不需要转换原有的数据格式,通过一个翻译的动作在数据中心内表现和管理这些异构的GIS数据,操作这些数据就像在各自GIS平台上操作的数据一样。

(3)MapGIS中间件

我们借用中间件概念来定义GIS中间件,所谓GIS中间件是指在遵循统一标准的前提下,能够嵌入各类GIS系统的软件[6]。MapGIS数据中心采用的中间件技术实现不同平台的GIS数据的统一管理,即多源异构数据的管理,它通过基于MapGIS的中间件扩展管理器,实现“即实现即用”中间件的配置管理。另外,中间件抽象层提供相应标准,实现可以插入其他格式数据的中间件插件。例如,通过中间件可以实现对AutoCAD,MapGIS 6X,MapInfo模型、SuperMap模型等数据模型的支持。

调用中间件功能之前需要先把中间件注册成为MapGIS的数据源,然后添加该类的数据源,附加该类型的数据库,这时用户可以使用MapGIS平台的功能操作该类异构数据。中间件的使用流程为:

①注册中间件,中间件注册界面如图2所示。

图2 中间件注册

“中间件名称”和“中间件描述”用户可以自定义;“单文件特征”对于不需要操作单机文件的用户,可以不填写此项,否则,要填写所要操作的文件后缀名,如果多种类型的文件,用分号将它们分开;“管理模块”就是Xxx_Manager模块,负责数据源的连接和数据库的打开等操作;控制模块就是Xxx_XCls模块,负责简单要素类、注记类、网络类等类的相关操作;配置模块就是Xxx_Config模块,负责中间件界面回调。

如图2所示的是ArcGISLocal中间件所对应的值。关于已经实现的四种中间件:ArcSDE、ArcGISLocal、Map-GIS6XLocal、VctGISLocal,注册文件填写如表1所示。

中间件注册文件 表1

②附加数据源

中间件已被注册成为MapGIS平台可识别的数据源,还需要把此数据源添加到Catalog中。ArcGISLocal、VctGISLocal和MapGIS6XLocal都是仅有一个数据源,但是ArcSDE可以管理多种类型的大型数据库(SQL Server、Oracle等),它可以添加多个数据源。

③附加数据库

用户要操作该类型的数据,需要把数据所在的文件夹以数据库的形式附加到数据源中,如果该类型的数据源所包含的数据库是一定的,数据源添加成功的同时,数据库就已经存在,每一个ArcSDE数据源只有一个固定的数据库,所以不用附加数据库,那么该类型的数据源不需要步骤②。三种中间件ArcGISLocal、VctGISLocal和MapGIS6XLocal都需要附加数据库。ArcGISLocal可以附加三种类型的数据库:Shapefile、Access和Coverage。VctGISLocal和MapGIS6XLocal只附加一种数据库。三种中间件附加数据库的说明如表2所示。

附加数据库的说明 表2

3 系统体系架构

系统采用四层体系架构,依次是表示层、Web服务层、GIS服务层、数据服务层,体系架构如图3所示。

图3 体系架构

表示层:是用户与WebGIS站点交互的窗口,主要由Web浏览器组成。

Web服务层:负责发布WebGIS站点和MapGIS WebService服务,MapGIS WebService服务负责调度GIS服务器进行GIS计算,使用IIS作为Web服务器。

GIS服务层:由多个GIS服务器组成,该层执行GIS计算和GIS计算的负载均衡,并把从数据服务层获取的数据转换为GIF或JPEG图片文件,或者转换为图片字节流。

数据服务层:负责多源异构数据的集成,数据源包括MapGIS 6X数据、MapGIS 7X数据、ArcGIS数据等。

当用户访问WebGIS站点时,通过浏览器向Web服务器发送数据请求,传递用户的地理操作参数,然后再将操作参数向MapGIS WebService发送,MapGIS WebService调度GIS服务器进行GIS计算,GIS服务器再向MapGIS数据中心读取多源异构数据,将读取的数据转换为图片文件或图片字节流,再将转换的结果返回给Web服务器,Web服务器再把结果传递给客户端,进行显示。

4 系统实现

MapGIS IMS-SOA平台的.NET二次开发是在.NET环境下进行,采用C#语言实现的,涉及较多Web开发的技术,如:HTML语言、CSS样式表、JavaScript脚本语言、DOM模型、AJAX技术、VML语言、XML语言以及数据库技术等。

4.1 地图基本显示

MapGIS IMS-SOA平台的地图基本显示是Web-GIS平台的基本功能,通过调用二次开发库中的应用服务接口和脚本交互实现。其中,平台所有的应用服务接口和核心脚本库都已经集成到客户端服务组件(MapgisWSClient.dll)中。基本开发原理为:先获取到功能服务接口所需参数,然后调用Web服务,再通过数据服务器管理发布与底层进行交互,最后通过客户端的控件返回结果信息,地图的基本显示功能的实现流程如图4所示。

图4 地图显示实现流程

从上面的流程图可知,地图显示功能的实现主要包括三个步骤:

(1)加载地图

客户端浏览Web服务器提供的WebGIS站点,站点通过配置文件获取服务IP地址和地图文档名称,调用服务接口加载地图文档。

(2)获取地图逻辑范围

通过脚本获取到地图显示窗口的高度和宽度,转到GetMapBound.ashx页面,调用服务接口获取地图逻辑显示范围,并返回到客户端。

(3)调用服务接口取图

转到GetMap.ashx页面,将通过脚本获取的地图高度、宽度、图片格式等参数传递给服务接口GetMapImage,服务端接收该信息后生成合适的地图图片字节流,并将字节流及相关的地图信息传送给Web服务器端,最后通过站点中提供的IMG标签在客户端显示图片。

4.2 地图基本操作

基本操作功能是在地图基本显示的基础上实现的,包括:放大、缩小、移动、复位和更新操作,其原理是:当执行地图基本操作时,客户端计算出所要获取地图的逻辑范围,再将请求发送到Web服务器上调用GetMapImage服务接口重新取图,GIS服务器生成所要请求的地图图片字节流返回到Web服务器,Web服务器再将字节流返回到客户端,最后显示在客户端界面上,这样就实现了放大、缩小、移动、复位和更新操作。

5 结 语

本文针对当前多源异构数据难以集成发布的现状,在分析了MapGIS数据中心和MapGIS IMS-SOA相关技术的基础上,设计了面向服务的多源异构数据Web浏览系统,并实现了该系统。该系统能够充分利用网络资源和已经拥有的多源异构数据资源,系统的分层结构模式,可以屏蔽对GIS空间数据的直接操作。

[1] 胡腾波.基于GML的WebGIS空间数据互操作研究[D].金华:浙江师范大学,2009

[2] 网络GIS(WebGIS)主要发展趋势及前沿应用.http:// www.gispark.com/html/webgis/2007/0517/1123.html

[3] 王颖,刘国华,林亮亮.WebGIS中异构数据源的集成[J].计算机工程,2005(31):122~124

[4] 马照亭,潘懋,林晨等.多源空间数据的共享与集成模式研究[J].计算机工程与应用,2002(24):31~34

[5] 王卉.一种解决GIS多源数据无缝集成的方法[J].测绘工程,2003(6):11~13

[6] 周顺平,魏利萍,万波等.多源异构空问数据集成的研究[J].测绘通报,2008(5):25~27

Designing and Realizing of Multi-Source Heterogeneous Data Web Browsing System Based on SOA

Liu YongWei,Liu XiaoHui,Ye ChangChun,Li XiTai
(Department of Information Engineering,China University of Geosciences,Wuhan 430074,China)

This article analyses the status of multi-source heterogeneous GIS spatial data,and describes related technologies to solve sharing problems of multi-source heterogeneous data.Then this paper presents a system architecture which makes it enable to browse multi-source heterogeneous spatial data in network environment.The system is serviceoriented which is developed based on MapGIS data center and MapGISIMS-SOA.The architecture can make full use of existing data resources and network resources,and can provide guidance for the development of similar system.

Services Oriented Architecture;middleware;multi-source heterogeneous data

1672-8262(2011)01-35-05

P208

B

2010—04—04

刘永伟(1983—),男,硕士研究生,研究方向:WebGIS。

猜你喜欢

中间件空间数据数据源
GIS空间数据与地图制图融合技术
RFID中间件技术及其应用研究
Web 大数据系统数据源选择*
基于Android 平台的OSGi 架构中间件的研究与应用
基于不同网络数据源的期刊评价研究
元数据驱动的多中心空间数据同步方法研究
基于真值发现的冲突数据源质量评价算法
中间件在高速公路领域的应用
基于文件系统的分布式海量空间数据高效存储与组织研究
分布式异构数据源标准化查询设计与实现