基于开源软件的WebGIS实现 下载本文

内容发布更新时间 : 2024/5/3 20:59:33星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

基于开源软件的WebGIS实现

作者:刘 刚

来源:《数字技术与应用》2009年第12期

[摘 要]随着Internet的迅速发展WebGIS已经成为GIS发展的热点,本文主要从OGC的WMS标准(网络地图服务)和开源GIS软件应用两方面进行分析最后构建了一个轻量级的WebGIS。

[关键词]OGC 开源GIS WMS WebGIS

[中图分类号]TP[文献标识码]A[文章编号]1007-9416(2009)12-0036-02 1 引言

随着计算机技术的出现和Internet的飞速发展,GIS也经历了巨大的变化。自1963年世界上第一个地理信息系统CGIS(加拿大地理信息系统)出现以来,GIS已广泛应用于资源调查、环境评估、灾害预测、国土管理、城市规划、邮电通讯、交通运输、军事公安、水利电力、公共设施管理、农林牧业、统计、商业金融等几乎所有领域[1]。目前GIS软件种类越来越多,大多数都是基于具体的、相互独立和封闭的平台开发,采用不同的开发方式和数据格式,这样的弊端就是空间数据的组织都存在很大的差异,再加上垄断和高额的费用在一定程度上限制了GIS的普及和推广。

为了规范地理信息系统互操作的方法、模式与协议,1994年成立的开放地理信息系统联盟(OGC),主要研究和建立开放式地理数据互操作规范(OGIS)。为了普及和推广GIS同时降低GIS软件开发成本,2006年国际地理空间开源基金会(OSGeo)成立,OSGeo的使命是支持开源地理信息软件的开发和推动其广泛的使用,具体措施是对其支持的项目提供组织、法律和财政上的支持,不断促进其基于地理信息开放标准软件及其互操作技术的开发、推广和普及,现在开源GIS软件目前已经形成了一定的规模。

2 OGC规范

龙源期刊网 http://www.qikan.com.cn

OGC在地理信息领域中引入Web服务技术,制定了一系列地理信息服务规范,如WMS(Web Map Service)网络地图服务、WFS(Web Feature Service)网络要素服务等,按照服务器提供的操作类型的不同将WMS分为两个类型,一个是基于basic WMS(基本的WMS)另一个是基于queryable WMS(可查询的WMS)。每一个又有两个子类,一个为客户端一个为服务器端。Basic WMS要支持基本服务元素GetCapabilities操作和GetMap操作。queryable WMS应该满足所有基于basic WMS的请求,也应该支持GetFeatureInfo操作[3]。网络地图服务有的组成 是WMS服务器、WMS操作以及WMS数据。其中WMS操作:(1)GetCapabilites(请求元始据)返回元数据(2)GetFeatureInfo(请求要素信息)返回要素信息(3)GetMap(请求地图)返回地图。WMS数据:(1)地理信息(2)服务元数据:返回元数据。

龙源期刊网 http://www.qikan.com.cn

3 通用型WebGIS的体系结构以及开源软件选择

3.1 通用型WebGIS的体系结构图(图1) 3.2 关键技术及开源软件选择:

(1)客户端开源软件:OpenLayers是一个由MetaCarta公司开发的用于WebGIS客户端的开源JavaScript包,OpenLayers访问地理空间数据的方法符合OpenGIS的规范如WMS和WFS标准。OpenLayers采用基于事件对象的JavaScript语言开发,使用了Prototype框架和Rico库的一些组件。OpenLayers的官方网站www.openlayers.org提供最新版本下载[4]。

(2)网络服务器:Apache是世界使用排名第一的Web服务器。Apache Tomcat是一个基于Java Servlet和JSP技术的开源软件。Apache和Tomcat整合后支持静态和动态网页[5]。如果客户端请求的是静态页面,则只需要Apache服务器响应请求;如果客户端请求动态页面,则是Tomcat服务器响应请求;因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销。由于它是一个小型的轻量级应用服务器,运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,非常受程序员喜爱。

(3)空间数据库PostGIS:PostGIS是开源GIS数据库,PostGIS在对象关系型数据库

PostgreSQL上增加了存储管理空间数据的能力,相当于Oracle的spatial部分。PostGIS符合并实现了OpenGIS的一些规范,这也是选用它的原因之一。 3.3 WebGIS的展示

WebGIS框架搭建完成后需要编写JavaScript代码访问WMS,下面代码是使用OpenLayers的WMS函数访问中国1:400W的县界数据。成果展示(图2) 4 结语

本文简要对OGC WMS规范进行了说明,并选用开源软件构建了一个通用型的WebGIS系统。通过使用开源软件,可以减少软件的开发周期,降低软件开发成本,提高软件开发效率,同时降低GIS平台使用成本,促使GIS社会化和大众化。并且随着GIS项目越来越成熟,GIS取得越来越多的应用,开源GIS软件目前已经形成了一个比较齐全的产品线,在一些特定的功能方面优于商业GIS平台软件。