【JSP开源代码栏目提醒】:本文主要为网学会员提供“一种集成开源 GIS 的面向服务 WEBGIS - 科学技术”,希望对需要一种集成开源 GIS 的面向服务 WEBGIS - 科学技术网友有所帮助,学习一下!
中国科技
论文在线 一种集成开源 GIS 的面向服务 WebGIS 构建方法邓婧1郑新奇12吕利娜1张扣强15 10 15 20 25 30 35 40 1. 中国地质大学北京土地科学技术学院北京 100083 2. 北京市国土资源信息研究开发重点实验室北京 100083 摘要随着网络技术的发展越来越多的人采用了面向服务的 WebGIS 开发模式。
整合 SOA 架构、集成 Web Service 已成为 WebGIS 的一种趋势。
但该类 WebGIS 系统庞大构建成本高。
针对这个问题本文提出了一种基于开源 GIS 的快速高效构建 WebGIS 平台的解决方案。
首 先分析面向服务的开发模式以及 Web Service 技术特征然后总结了开源 GIS 的发展现状和 特点接着针对一些优秀的开源软件结合富客户端技术进行了集成技术设计。
结果表明 该设计思想能较好地体现面向服务的架构思想并且开发简便实现容易可扩展性好。
本 文提出的面向服务的 WebGIS 平台构建技术设计具有较好的可行性和推广性。
关键词WebGISOpen SourceSOAWeb ServiceFlex 中图分类号P208 A Method for Service Oriented WebGIS Construction by Integrating Open Source GIS DENG Jing1 ZHENG Xinqi12 LV Lina1 ZHANG Kouqiang1 1. School of Land Science and Technology China University of Geosciences Beijing 100083 2. Key Laboratory of Land Resources Information Develop and Research Beijing 100083 Abstract: With the development of network technology more and more people choose service-oriented development mode to construct WebGIS. The integration of SOA and Web Service technology has become a trend in WebGIS. However WebGIS system is not only an enormous project but also a high cost project. Facing this problem this paper proposed a solution for quick and efficient construction of WebGIS. Firstly it analyzed the service-oriented development mode and advantages of Web Service. Then it summarized the develop status of open source GIS and its characteristics. At last it selected some excellent open source software designed the system basing on rich internet application technology. The results showed that this design can fully reflect service-oriented thinking and it is easy to realize and is flexible and extensible. The service-oriented design of WebGIS Platform construction is practical and it can be popularized widely. Key
words:WebGIS Open Source SOA Web Service Flex 0 引言 GIS 系统的发展逐步呈现出基础数据全球化、系统集成化、应用大众化等特点。
随着 Internet 的蓬勃发展WebGIS 已成为 GIS 的主要发展趋势其应用领域在不断扩大。
各 GIS 厂商也致力于开发 WebGIS 相关产品例如 ArcView IMS、MapObjects IMS、ArcIMS、 MapGuide、Mapxsite、GeoMedia Web Map、SuperMapGIS、MapGIS-IMS 等。
一些政府部门 和科研机构也通过 WebGIS 平台发布了地图、图形和地理服务。
如今用户只需连接到 Internet即可获得丰富的地理空间服务与发布者形成互动。
基金项目中央高校基本科研业务费专项资金资助2009PY21国家自然科学基金资助项目40571119 作者简介邓婧1987-女博士研究生。
主要从事地理信息工程、数字城市规划、土地集约利用等 研究 通信联系人郑新奇1963-男教授主要研究方向GIS 开发与应用、土地评价与规划、空间数 据挖掘、复杂系统仿真、地理计算等. E-mail: deng_jing18yahoo.com.cn -1- 中国科技
论文在线 起初WebGIS 平台以信息发布为主功能比较简单以查询功能为主。
系统架构往往 采用 B/S 和 C/S 的混合模式后者负责复杂的 GIS 分析。
一旦出现数据量大、并发访问量 大、业务逻辑复杂的情况服务器的负担会加重其响应和处理效率大大降低。
这样的 45 50 WebGIS 系统庞大受操作系统和开发语言的限制系统不易移植并且维护难。
针对以上问 题面向服务的架构SOA成为了 WebGIS 的主流解决方案12结合 Web2.0 的相关技 术实现以 Web Service 为开发单元的系统开发模式。
这种以服务为基础的开发思想使得 WebGIS 更容易与其他开发平台结合资源更加开放。
一些 GIS 厂商已成功建立并实施了 SOA 应用软件例如 SuperMap iServer 和 ArcGIS Server。
一些学者们尝试利用进行这些商 业软件进行 SOA 相关研究和应用345。
然而商业 WebGIS 高昂的搭建成本及复杂的配置仍 然令人望而却步于是大家把目光投向了正逐渐走向成熟的开源 GIS6789。
本文提出一种 基于开源软件的 WebGIS 解决方案并以此为例进行了系统构建方法研究。
该系统能充分体 现 SOA 思想并且配置方便快捷功能上也毫不逊色于商业 WebGIS。
1 SOA 与开源 GIS 技术特征分析 55 1.1 1.1.1 面向服务的 WebGIS 软件工程的发展过程 软件工程的发展过程中的四个主要阶段如图 1 所示。
当前的 IT 行业中基于各种操作 系统和各种开发语言的应用软件并存。
然而开发平台和开发语言的差异性容易导致同类产 品之间难以通信功能重复开发、平台依赖性强、产品应变能力低等不良后果进一步加深 60 65 则形成“信息孤岛”。
目前面向服务的开发模式将软件功能或资源作为一种服务进行发布 开发者可以按照模块化的方式来添加新服务或更新现有服务。
因此能够实现跨平台、跨语言 和跨产品的信息共享避免“信息孤岛”的产生从而成为了目前主流的开发模式。
面向服 务这一思想的推广和深化就是面向服务的体系结构SOA。
SOA 最早由国际著名的 IT 研究与顾问咨询公司 Gartner Group 于 1996 年提出图 2 为 Gartner 于 2009 年 8 月发布的光环曲线Hype Cycle又称“炒作周期”。
该图展示了各项 新技术发展的生命周期。
其中 Y 轴表示技术受关注的程度X 轴则表示技术的应用的成熟 度包括萌芽期、过热期、低谷期、复苏期和成熟期五个阶段。
由图可知Web2.0 正逐渐 迈向复苏期SOA 技术的发展较为稳定即将成为主流技术。
70 图 1 开发模式的主要层次 Fig. 1 Main levels of developing mode -2- 75 中国科技
论文在线 图 2 IT 新兴技术的发展光环曲线10 简单地说SOA 就是将应用程序的不同功能单元作为服务通过定义接口和通信规范 将这些服务联系起来SOA 是一种新思维而非具体的技术。
其核心内容主要包括分布式 80 85 90 95 结构、松散耦合和开放式标准11。
Web Service 技术是实现 SOA 的一个主要途径是 Internet 分布式计算环境中提供基础功能的编程模块网络组件12。
基于 SOA 的 WebGIS 克服了传统 WebGIS 分布式对象模型 CORBA、DCOM 和 EJB 紧 耦合、系统同构、资源整合难的缺点13将网络上的软件资源以 GIS Web 服务的形式加以 利用可真正实现数据的共享和互操作。
OGCOpen Geospatial Consortium已经为 GIS 服务 制定了一系列地理参考标准包括 WMS14Web Map ServiceWeb 地图服务、WFS15 Web Feature ServiceWeb 要素服务、WCS16Web Coverage ServiceWeb 栅格图层 服务等从而更大限度地提高数据和服务的开放性促进面向服务的 WebGIS 的发展。
图 3 展示了面向服务的 WebGIS 的一般结构。
完成功能的开发后服务提供者使用 WSDLWeb Service Description Language对服务的功能和接口进行描述将其封装成 GIS
网络服务实 体在目录服务器中
注册目录服务器遵循 UDDIUniversal Description Discovery and Integration17规范。
服务消费者可通过客户端软件、浏览器或设备向网络服务器端发送请 求在目录服务器上查询所需服务获取所需服务的 WSDL 描述了解如何与服务提供者
通信最后向服务提供者发送符合规范的服务请求。
服务提供者、目录服务器及服务消费者 之间主要采用 SOAPSimple Object Access Protocol进行通信。
图 3 面向服务的 WebGIS 结构体系 Fig. 3 Structure of service oriented WebGIS -3- 。
而且 WebGIS 的特点也很好地体现了开源 GIS 的开放、自由的核心思想。
中国科技
论文在线 100 1.2 开源 GIS 开源软件是指在遵循相关协议的基础上对外公
开源代码使开发者能够免费的使用、运 行和修改程序18。
开源的优势在于软件使用成本低易于进行代码重用可提高系统开 发效率降低了对编程技能的要求。
上世纪 90 年代这种自由和开放的开源思想逐渐渗透 到了 GIS 领域国内外许多科研院所相继开展了许多开源 GIS 的项目1920。
国际地理空间 开源基金会Open Source Geospatial Foundation于 2006 年 2 月成立21OSGeo 基金会支 105 110 115 120 持开源地理信息软件的开发并推动其更广泛的使用对开源项目提供组织、法律和财政上的 支持不断促进基于地理信息开放标准
软件及其互操作技术的开发、推广和普及。
该基金会 支持的项目包括 OpenJump、uDig、MapServer、GRASS、GDAL 等已迅速在国际开源地 理信息领域得到普及。
经过这些年的积累和发展开源 GIS 已经渗透到了 GIS 的各个组成部分形成了庞大 的项目体系产品包括了 GIS 基础函数库、桌面软件、服务器端软件、GIS 数据引擎、客户 端
程序等。
随着近几年
开源代码的积累GIS 开发模式也逐渐固定下来了。
这些开源项目的 相互关系如图 4 所示。
图中将这些项目分为桌面端产品、基础库及组件、数据引擎和 WebGIS 相关产品开源软件之间存在相互支持和应用的关系。
通过多个开源项目的组合可以搭建一 个完整的 GIS 系统。
图 4 主要开源 GIS 软件相互关系22 Fig. 4 Relationship of main open source GIS software 2 基于开源 GIS 的 WebGIS 解决
方案 从相关的研究和应用来看开源软件完全有能力为 WebGIS 的实现提供高质量平台 2324 2.1 WebGIS 系统组成分析 搭建一个 WebGIS 系统主要需包括五个部分GIS 内核、空间数据库、服务器端、客 户端和数据。
其中 GIS 内核是系统对于 GIS 各种基本功能的实现由一些模块松散耦合而 125 成共同完成数据读取、数据组织、图层管理、地图操作、空间分析等
工作。
其中空间分 析功能是地理信息系统的核心功能主要包括空间关系判断与
查询、叠置分析、缓冲区分析、 -4- 中国科技
论文在线 路径规划等。
空间数据库的目的在于存储和管理大量数据在此基础上实现高效查询与检索功能。
常 用的开源空间数据库主要包括 PostgreSQLPostGIS和 MySQL4.1 以上。
130 135 服务器端主要提供网络服务、地图服务及数据服务要实现对底层基础数据的封装。
常 用的开源的 WebGIS 服务器有 Mapserver 和 GeoServer。
Mayserver 开发早、更复杂由 C 开发完成。
GeoServer 比较小巧更灵活。
客户端是用户与服务进行通信和交互的平台可以通过专门的客户端软件也可直接基 于浏览器。
浏览器方式的实现包括 Javascript、Flash 和 Java Applet 等基于 Javascript 的开 源实现较多Flash 的优势在于显示效果美观现在由 Adobe 公司推出的 Flex25富客户端技 术较为流行。
数据是系统应用实现的基础WebGIS 系统主要包括空间数据及属性数据。
系统可以直 接发布本地的数据也可以通过获取互联网的服务方式获得。
Internet 上很多开放的 GIS 应 用服务器上可以免费获取数据例如 NASA、InterGraph、TerraServer、Google Map 等。
140 2.2 开源软件整合 开源项目的组合方案较多如OpenLayersMapnikTileCachePostgreSQLPostGIS、 ka-MapQuantum GISMapServer PostgreSQLPostGIS。
在开源软件选择和系统搭建时 主要考虑以下几点原则。
1开发语言整合度根据开发语言可分为 Java、C、
NET 和脚本四大类尽量选 145 150 155 160 165 择同类的开源组件以降低整合难度。
2用户体验从用户体验出发考虑构建美观、简洁、交互性强的界面。
3安全性保护用户源数据保障系统不易受攻击。
4功能完备性需要实现 GIS 的基本功能。
5数据类型软件需支持 Shapefile 等 GIS 系统普遍使用的格式。
考 虑 到 这 些 需 求 及 开 源 软 件 的 性 能 本 研 究 采 用 OpenScales1.2.1GeoTools2.7 GeoServer2.0.2Tomcat6.0PostgreSQL9.0PostGIS1.5这一方案基于
Java 语言开发系 统置于 J2EE 框架中。
通过调用 Google 的服务将 Google Map 作为底图基于 Google Map for Flex 的 API26进行开发。
GIS 内核选择 GeoTools它是一个 GIS 工具包基于 LGPL27GNU Lesser General Public License协议发布可以完整地实现 GIS 底层功能。
GeoTools 的架构非常优秀容易扩展 底层使用 Java 拓扑套件 JTSJava Topology Suite来实现28。
GeoTools 支持的矢量数据源 包括 ESRI Shapefile、OGC GML、OGC WFS、PostGIS、Oracle Spatial、ArcSDE、MySQL 等各种格式。
支持的栅格数据源包括 OGC WMS、ArcGrid、GeoTIFF 等。
将 PostgreSQL 作为空间数据库29PostGIS30在对象关系型数据库 PostgreSQL 上增加 了存储管理空间数据的能力类似 Oracle 的 spatial 部分并且实现了 OpenGIS 简单特征规 范提供空间索引。
服务器端选择 GeoServer31Apache Tomcat。
GeoServer 是一个基于 J2EE 的开放的 GIS 应用服务器实现了 WMS 和 WFSWFS-T规范。
版本1.3.3中还增加了对 Google Earth KML/KMZ 的支持。
客户端使用 Flex 技术进行开发能够提供简洁、美观、交互性强的界面。
Flex 是基于 开源、免费、跨平台的新一代富客户端平台能够以 ActionScript 语言为基础运用 MXML -5- 中国科技
论文在线 来描述界面。
并采用 OpenScales32这一开源组件实现客户端的展示和交互操作功能。
系统的结构
设计如图 5 所示。
用 OGC 标准将 GIS 内核进行了封装然后对外开放符合 OGC 标准的 WEB 接口在此基础上实现异构系统的共享与互操作。
170 图 5 基于开源项目的 WebGIS 总体结构图 Fig. 5 System structure design basing on open source projects 175 2.3 系统实现途径 首先安装和配置 GeoServer 与 PostgreSQL然后将基础数据添加到数据库中shape 格 式的数据导入时需要使用 pgsql 程序生成对应的
sql 脚本。
通过 GeoServer 创建用户发 布自定义的服务。
最后搭建 Flex 项目主要包结构如图 6 所示分为 flex 源包和 java 源包。
将开源的库文件添加到 flex_lib 下即可在项目中引用。
180 图 6 系统主要包结构图 Fig. 6 Structure of system main package 整个系统的服务提供流程如图 7 所示。
用户通过 Web 浏览器访问网站请求 Web 服务。
-6- 中国科技
论文在线 185 页面初始化时会调用 Google 的地图服务获取电子地图。
如果用户需要其他数据服务则 通过页面再请求 GeoServer通过 GeoServer 访问数据库返回需要的数据。
用户提出更复 杂的功能请求时系统通过 Flex 页面调用 java 程序将运行结果返回并展现。
190 图 7 服务提供流程 Fig. 7 Flow chart of provide service 2.4 与商业 WebGIS 功能对比 从总体功能方面将该系统与商业 WebGIS 产品的代表软件 ArcGIS Server 进行对比该 195 系统简称 IOWGSIntegrated Open Source WebGIS System。
比较结果如表 1 所示。
表 1 与开源 WebGIS 功能比较表 Tab. 1 Function comparision between business and open source system 功能 ArcGIS Server IOWGS 元数据服务/资源服务 地图编辑 裁剪矢量数据并下载 数据查询服务 地图发布 WMS WFS 地图操作 数据互操作服务 空间分析 瓦片地图服务33 有 ArcMap或利用 ArcObject 开发 支持 ArcSDE 使用自带发布工具或 ArcGIS Catalog通 过 MXD 文件设置发布样式 支持 支持 客户端支持 JavaScript、Flex、SilverLight 等多种平台 本身不支持通过 FME 拓展 ArcMap ToolBox 分析功能强大 9.2 版本引入该服务 有 OpenScalesGoogle Map Api 不支持 PostgreSQLPostGIS 通过 GeoSever 发布用 SLD 配置 地图样式可用 uDig 生成样式 支持 支持 Flex 支持 GeoTools 实现了一些基础的 GIS 功能需在此基础上进一步拓展 GeoWebCache 200 从功能支持上看该系统能满足 WebGIS 的核心需求。
缺点是 GeoServer 比 ArcGIS Server 速度稍慢地图编辑功能略显不足。
但优势在于所有软件完全
免费升级免费因而系统构 -7- 中国科技
论文在线 建于维护的成本低。
与庞大的 ArcGIS 系统相比总共只有 100 多兆并且安装快捷、配置 简单。
3 总结与讨论 205 210 215 220 225 230 235 240 245 250 255 面向服务体系架构提出了一种分布式、松耦合的系统应用框架使不同平台、不同系统、 不同结构的应用很好的集成在一起。
在 SOA 思想的基础上结合开源 GIS 软件可以高效 构建更加开放、功能更为复杂、性能更优的 WebGIS 系统。
结果证明该系统不仅完全免费 而且这种模式下开发门槛低让开发者可以专注于系统功能设计不用担心软件性能等
问题 同时系统易于集成与拓展。
因而该方案具有很好的借鉴作用其他系统能通过类似设计实 现地理信息共享。
这种开发方式可以促进研究到应用的转换34具有进一步推广的价值。
4 致谢 非常感谢项目组的所有成员以及实验室成员的帮助同时感谢两名朋友提出的修改意见 和建议。
参考文献 References 1 Xiaolin Wang Xiao Pang Yingwei Luo. The design and implementation of GIS applications based on SOA. International Geoscience and Remote Sensing Symposium IGARSS20103999-4002. 2 Oliveira P. F. A. P. A. De Oliveira et al. 2010. quotService Oriented Architecture SOA: a case study in Geographic Information Systems.quot Boletim De Ciencias Geodesicas 162: 295-308. 3 Deng S. L. Lu et al. 2008. Research on geographical information service based on SOA. IEEE International Conference on Automation and Logistics ICAL 2008 September 1 2008 - September 3 2008 Qingdao China Inst. of Elec. and Elec. Eng. Computer Society. 4 Huang J. D. Li et al. 2008. Design and implementation of service-oriented spatial information sharing framework. International Conference on Earth Observation Data Processing and Analysis ICEODPA December 28 2008 - December 30 2008 Wuhan China SPIE. 5 Zheng Z. D. Huang et al. 2010. A SOA-based decision support geographic information system for storm disaster assessment. 2010 18th International Conference on Geoinformatics Geoinformatics 2010 June 18 2010 - June 20 2010 Beijing China IEEE Computer Society. 6 F.Rinaudo E.Agosto P.Ardissone. GIS and Web-GIS Commercial and Open Source Platforms:General Rules for Cultural Heritage DocumentationJ. XXI International CIPA Symposium 01-06 October 2007 Athens Greece. 7 Abed F. H. H. Zhang et al. 2008. Open source
web-based GIS and database tools for emergency response. IEEE International Conference on Automation and Logistics ICAL 2008 September 1 2008 - September 3 2008 Qingdao China Inst. of Elec. and Elec. Eng. Computer Society. 8 Lee K. 2009. Technical architecture.