唐平英,胡 玲
(长沙理工大学交通运输工程学院,长沙 410076)
随着计算机技术和地球空间科学技术的不断发展和进步,面向大众服务的GIS应用系统不断涌现,Internet也已成为GIS新的系统发布平台,网络化成为GIS发展的必然趋势。WebGIS作为网络GIS的一种,它的出现有效推动了GIS的这一发展趋势,使GIS真正成为大众化的使用工具,它是GIS技术与组件技术、互操作技术、分布式技术的集成[1]。经过近几十年的研究和发展,各大GIS厂商争相推出了一系列相对成熟的WebGIS产品,如ERSI公司的ArcIMS、MapInfo公司的 MapXtreme、北京超图的 Surper-Maper IS、武汉吉奥公司的GeoSurf等。
然而,这些WebGIS产品结构复杂,体系庞大,开发周期长,耗资巨大,调试和维护困难,不利于中小型企业和普通开发人员的开发;而且传统WebGIS对多源异构空间数据共享和互操作难以实现的固有缺陷没有得到很好解决。针对上述问题,研究提出了基于Web Service的开放式WebGIS系统,它是一种轻量级、开放式的系统。在此系统基础上,利用Geoserver平台,构建了土地利用规划信息系统,可以方便查询和修改土地利用规划情况,以便做出更合理的规划。
XML(Extensible Markup Language——可扩展标记语言)及Web Service技术的出现,使我们第一次真正谈论开放的WebGIS。XML是1996年由互联网联合组织(W3C)公布的一组规范[2],它提供了一种独立的运行程序的方法来共享数据,能使计算机通信把Internet的功能由信息传递扩大到人类其他多种多样的活动中去,具有良好的可靠性和交互操作性。
Web Service,简单来讲就是在网络上创建一个应用程序,对外提供一系列可以调用的接口API,接收和处理来自网络上的应用请求。它是Internet分布式计算环境的基本程序模块,基于标准规范,松散耦合度高,集成能力较强,为WebGIS提供了跨平台、开放的、动态链接的空间信息服务网络体系平台,提供了对多源异构空间数据进行共享和互操作的接口。它的体系结构描述了三个角色(服务提供者、服务请求者、服务代理者)以及三个操作(发布、查找、绑定),如图1所示。
图1 Web Service的体系结构Fig.1 The system structure of Web Service
随着计算机网络技术的发展,Web Service技术也取得了明显进展。OGC制定和发布了一系列基于Web Service空间信息服务的框架、规范和标准,包括Web Map Service (WMS)、Web Feature Service(WFS)、Web Coverage Service (WCS)、Web Processing Service(WPS)[3]等。当前主流WebGIS系统已支持其中的部分或全部规范,如Terra Server影像数据服务、微软的MapPoint.Net、ESRI的Arc Web Service等。各大网络地图门户网站也纷纷推出自己的地理信息服务模块,并开放了应用程序开发接口API,以供用户开发使用[4],如Google Maps,Geoserver等。
笔者提出的基于Web Service的开放式WebGIS系统框架如图2所示。
图2 基于Web Service的开放式WebGIS系统框架Fig.2 The open WebGIS system framework based on Web Service
在该系统框架中,客户端采用Ajax技术在后台进行客户端与服务器端之间的异步数据通讯,从而用户请求无须打断界面操作,有如同使用桌面应用程序的体验;同时在客户端使用基于Ajax的内存缓存机制,将静态空间数据和频繁调用的数据存储起来,当需要再次请求这些数据时,便可直接在内存中调用,减少了客户端对服务器端的请求,可有效缓解Web服务带宽的压力,减轻服务器负担。在Web服务器端,向用户提供了一系列接口API,包括应用接口、数据接口和功能接口等,以方便调用各种Web服务;在客户端进行基本的地图操作、图形显示、数据查询、简单的空间分析时,将复杂的空间分析功能请求基于OGC规范的、能提供此服务的在线服务器,智能协调浏览器/服务器之间的功能;在服务器端部署有各种基于OGC规范的Web服务,不仅可以为系统内部调用,也可以为其他使用者提供各种Web服务。同时客户端也可以请求任何在线的基于OGC地理信息Web服务规范的GIS服务器,需要GIS数据或功能服务的单位或个人,可以随时随地进行访问,服务器之间也可以交互,故不用考虑服务器是基于哪个平台和在哪里,也不用知道网上的服务者是谁,保持了客户端代码的轻量级和功能的多样性[5],大大提高了系统的开放性和对异构空间数据的共享和互操作性。
Geoserver是OpenGIS Web服务器规范的J2EE(Java平台企业版Java2 Platform,Enterprise Edition)实现[6],是遵循OGC开放标准的开源WFS-T和WMS服务器[7],也是应用最广泛的开源WebGIS之一。利用Geoserver不仅可以方便地发布地图数据,允许用户对特征数据进行更新、删除、插入操作,而且还可以在用户之间迅速共享空间地理信息。目前,最新版的Geoserver2.2.2已经支持OGC规范的WMS、WFS和WCS特性,同时支持PostGIS、Shapefile、MapInfo等多种数据格式,能支持上百种投影,而且可以将网络地图输出为JPEG、GIF等多种图形图像格式,除此之外还增加了一款基于Java的开源GIS工具集——GeoTools,提供各种接口API和helper类,允许用户对地理数据进行基本操作,大大扩展了Geoserver的功能。Geoserver的体系技术结构如图3所示.
图3 Geoserver的体系技术结构Fig.3 Geoserver technology structure
笔者所构建的土地利用规划信息系统中的空间属性数据和专题数据,存储在Geoserver中发布成WFS服务,以方便数据的共享和互操作。
根据研究提出的基于Web Service的开放式WebGIS系统框架,开发实现了怀化市土地利用规划信息系统。该土地利用规划信息系统通过网络Web方式,面向多种用户,通过地图操作,可以方便地进行土地利用规划信息的查询、修改、分析等操作,为相关部门的研究、决策提供可靠依据和实用途径。
要构建基于开放式WebGIS的土地利用规划信息系统,首先要准备土地利用规划的空间属性数据和专题数据,由于土地利用规划的所有数据图层都是通过《怀化市土地利用总体规划(2006—2020年)》在MAPGIS平台和建库软件中获得,而本系统在开发时设定的数据格式是基于OGC标准的规范格式,所以数据需要转换成标准格式才能调用。鉴于上述Geoserver的开源性和强大功能,在本系统中,将所有空间数据图层转化成ESRI Shapefile格式,存储在Geoserver中发布成WFS服务,以方便对数据的共享和调用。图4所示为在Geoserver中添加的.shp格式的图层,图5所示为成功添加图层后点击Layer Preview查看发布的图层。
图4 在Geoserver中添加的.shp格式的图层Fig.4 The.shp format layer added to Geoserver
准备好规划数据后,再准备空间分析服务器,本系统中以52north WPS[8]提供空间分析服务,它提供的GetCapabilities如下图6所示。当然,也可以请求在线支持WPS规范的GIS服务器;最后再制定客户端,本系统制定的客户端,只有简单的界面定制、地图图层及专题定制以及必要和少量的JavaScript脚本程序开发。至此,就完成了土地利用规划信息系统的构建。该系统界面简单,其操作犹如桌面程序,非专业人员也可以使用,具有广泛的实用性。
图5 在Geoserver中查看发布的LXDW图层Fig.5 Preview of the LXDW layer published in Geoserver
图652north WPS提供的空间分析服务Fig.6 The spatial analysis service provided by 52 north WPS
基于开放式WebGIS的土地利用规划信息系统与其他商用或开源WebGIS系统相比,具有开放性强、轻便、简单易于开发等特点。主要体现为:系统不仅可以加载自身数据,还可以加载其他外部数据;不仅可以调用自身空间分析服务,还可以调用外部空间分析服务。另一方面,系统的数据可以以WFS方式与其他系统共享,同时系统的空间分析服务也可被其他支持WPS规范的GIS客户端所调用,达到了数据与功能的分布式布局及共享与互操作。而且从系统的构建过程可以看出,系统小巧,开发工作简单,实现了数据、界面与空间分析算法的完全分离。
研究提出的基于Web Service的开放式WebGIS系统,具有较强的开放性,较好的对多源异构空间数据的共享和互操作性。基于此系统构建的怀化市土地利用规划信息系统,可以方便地查询实时的土地利用规划情况,并进行修改和分析等操作,方便土地利用规划相关部门的研究决策和科学、信息化管理,具有广泛的适用性。
[1]李心颖,李峰.基于XML Web Service的网络地理信息系统的构建[J].测绘与空间地理信息,2012,35(6):19-21.
[2]周文生,毛锋,胡鹏.开放式WebGIS的理论与实践[M].北京:科学出版社,2007:22-23.
[3]Open Geospatial Consortium Inc(OGC).OpenGIS Web Processing Service v1.0.0[EB/OL].(2007-06-08)[2012-10-07].http://www.opengeospatial.org/.
[4]张晓煜,李向.一种基于Google Maps的土地利用信息发布平台[J].计算机与数字工程,2012,40(10):146-149.
[5]徐卓揆.基于HTML5、Ajax和Web Service的WebGIS研究[J].测绘科学,2012,37(1):145-147.
[6]梁启靓.基于Geoserver的开源WebGIS开发与应用[D].西安:长安大学,2010.
[7]阳华.基于Geoserver的校园WebGIS[D].衡阳:南华大学,2011.
[8] Bastian Schaeffer.Web Processing Service Tutorial[EB/OL].(2009-01-09)[2012-10-07].http://www.52north.org/.