WebGIS——万维网地理信息系统

因特网和GIS

毋庸置疑,因特网的发展为GIS发展带来了极大的便利,同时也GIS理论及技术研究提供了新的领域。作为信息系统以及一门学科,GIS可以从因特网的发展受到的影响主要有以下几个方面:

  1. GIS研究者利用新闻组或者电子邮件进行GIS技术问题的探讨。

  2. 网络远程教育,即教授将教案以HTML文档形式放在网上,学生下载使用,并且可以利用电子邮件进行提问,这样就形成了“虚拟大学(Virtual University)”。GIS的教育也可以以该种方式进行,目前有关GIS教育网址有,网址http://giswww.kingston.ac.uk 1,提供了三个与GIS有关的专题;网址http://www.utexas.edu介绍了有关GIS和地理教学面临的挑战,网址http://www.census.gov/pub/geo/gis-faq.txt有许多关于GIS常见问题的问答。

  3. GIS软件的下载,GIS软件公司可以定期将其开发软件的最新版本放在其站点上,以供用户下载试用。

典型地理信息系统方面WWW网址介绍[宫鹏]

(1)GIS WORLD INC. *http://www.gisworld.com*

《地理信息系统世界》是目前国际有关GIS方面最畅销的杂志,其网址上列出了该公司出版的任何一期的内容目录,用户还可以利用搜索器进行内容搜索。

(2)GIS软件开发商网址

ESRI公司(http://www.esri.com),Intergraph公司(http://www.intergraph.com),MapInfo公司(http://www.mapinfo.com)。

这些被认为是一流的GIS网址,有丰富的GIS信息,包括的内容有:公司介绍,产品,公司出版物,年度报告,会议预报,用户信息,产品订购,技术咨询,程序设计技巧,就业机会,产品展示和免费软件下载等等。

(3)虚拟旅行家网 *http://www.vtouris.com*

该网址允许用户进行交互的地图显示,首先是世界地图,然后是各国或各地区地图,最后是城市地图。其地图是栅格图像,利用空间位置实现用户交互操作,有大量的文本、图像等描述信息供用户查阅。

(4)加拿大地球信息科学网 *http://abbott.ccm.emr.ca*

该网站是一个国家级的对地球信息进行管理的机构,它提供大量的产品和服务,包括加拿大的卫星图像,国家地图集数据,加拿大地名数据库,地形数据库,道路网络,数字地形数据等等。此外还提供了获得以上数据的服务,用搜索器得到搜寻地区的数据。

(5)填充式数据查询和表达网址*http://tiger.census.gov/cgi-bin/mapbrowse-tbl*

该网站采用填充式(fill-in-the-blanks)的方式进行查询。它提供了一个表格,用户填写有关信息后,将请求传入服务器端的GIS、制图、数据库查询等软件运行相应的搜索和查询,也可以是空间分析等,其结果可以是地图或者表格,并传回浏览器。微软的门户站点MSN也提供了类似的功能http://msn.maps.expedia.com/quickmaps.asp。

(6)GIS论坛 *http://gis.itc.nrcs.usda.gov/gishome.html*

该网站包括GIS数据以及软件的发布,GIS领域内的事件,一些技术问题的探讨,GIS书籍的介绍等等,此外可以通过Email的方式进行相关问题的讨论。

4)空间数据发布和下载,数据是GIS系统中最为重要的部分,数据的录入和预处理也是GIS应用开发过程中耗费时间、资金最多的一个环节,而通过因特网实现数据共享,可以降低GIS工程的开发成本。由于因特网的迅速发展,促进了电子商务的兴起,空间数据当然也可以作为一种特殊的商品在因特网上发售。与后面提及的WebGIS方式相比,这里的数据下载还主要是利用文件传输的方式实现。由于因特网上信息量浩大,常常使得找到真正需要的数据成为一件困难的事情,而应用空间元数据可以使用户迅速定位需要的数据并进行下载。1994年美国政府开始发展国家空间数据基础设施(NSDI),通过确定元数据标准,要求各级政府机构采用元数据的方式在网络上对其所生产的数据进行描述,达到各机构间数据生产和共享的目的。

5)此外,由于因特网的发展,打破了传统的时间——空间联系方式,形成了空间事物的新的组织形式,称为计算机网络信息空间(Cyber Space),是目前人文地理学研究中的热点,也将是GIS探讨的重要课题。

WebGIS简介

Web技术和GIS技术相结合,最为激动人心的产物就是WebGIS(万维网地理信息系统)。WebGIS,简言之,就是利用Web技术来扩展和完善地理信息系统的一项新技术。由于HTTP协议采用基于C/S的请求/应答机制,具有较强的用户交互能力,可以传输并在浏览器上显示多媒体数据,而GIS中的信息主要是需要以图形、图像方式表现的空间数据,用户通过交互操作,对空间数据进行查询分析。这些特点,就使得人们完全可以利用Web来寻找他们所需要的空间数据,并且进行各种操作。具体地讲,WebGIS的应用可以分为以下几个层面:

1)空间数据发布

由于能够以图形方式显示空间数据,较之于单纯的FTP方式,WebGIS使用户更容易找到需要的数据;

2)空间查询检索

利用浏览器提供的交互能力,进行图形及属性数据库的查询检索;

3)空间模型服务

在服务器端提供各种空间模型的实现方法,接收用户通过浏览器输入的模型参数后,将计算结果返回。换言之,利用Web不仅可以发布空间数据,也可以发布空间模型服务,形成浏览器/服务器结构(Browser/Server,B/S)。

4)Web资源的组织

在Web上,存在着大量的信息,这些信息多数具有空间分布特征,如分销商数据往往有其所在位置属性,利用地图对这些信息进行组织和管理,并为用户提供基于空间的检索服务,无疑也可以通过WebGIS实现。

与传统的地理信息系统相比,WebGIS有其特殊之处,主要表现在:

1)它必须是基于网络的客户机/服务器系统,而传统的GIS大多数为独立的单机系统;

2)它利用因特网来进行客户端和服务器之间的信息交换,这就意味着信息的传递是全球性的;

3)它是一个分布式系统,用户和服务器可以分布在不同地点和不同的计算机平台上。

WebGIS的实现技术

WebGIS是网络GIS的一个重要组成部分,网络GIS的一些概念,如客户机/服务器模式、分布式数据管理等,也可以应用于WebGIS,但是在WebGIS实现时,还要着重考虑两个问题,即控制网络传输数据量以及必须通过浏览器与用户进行交互。

目前已经有多种不同的技术方法被应用于研制实现WebGIS,包括CGI(Common Gateway Interface,通用网关接口)方法、服务器应用程序接口(Server API)方法、插件(Plug-ins)法、Java Applet方法以及ActiveX方法等等,下面对这些技术进行简单的描述和比较。[夏福祥]

CGI方法


CGI是一个用于Web服务器和客户端浏览器之间的特定标准,它允许网页用户通过网页的命令来启动一个存在于网页服务器主机的程序(称为CGI程序),并且接收到这个程序的输出结果。CGI是最早实现动态网页的技术,它使用户可以通过浏览器进行交互操作,并得到相应的操作结果。

利用CGI可以生成图像,然后传递到客户端浏览器(目前大多数主页的访问者计数器就是采用CGI程序实现的)。这样,从理论上讲,任何一个GIS软件都可以通过CGI连接到Web上去,远程用户通过浏览器发出请求,服务器将请求传递给后端的GIS软件,GIS软件按照要求产生一幅数字图像,传回远程用户。

实际上,由于设计的原因,大多数GIS软件不能直接作为CGI程序连接到Web上,但是,有以下的两种技术比较成功。

1)用CGI启动后端的批处理制图软件,这种软件的特点是用户可以直接在计算机终端一行一行地输入指令来制图。其特点是用户的每一个要求都要启动相应的GIS软件,如果软件较大,启动时间就会很长。

2)CGI启动后端视窗(Windows)GIS软件,CGI和后端GIS软件的信息交换是通过“进程间通讯协议(IPC-Inter Process Communication)”来完成,常用的IPC有RPC(Remote Procedure Call)和DDE(Dynamic Data Exchange)。其优点在于,由于GIS软件是消息驱动的,CGI只要通过发送消息,驱动GIS软件执行特定操作即可,不需要每次重新启动。

Server API方法


Server API类似于CGI,不同之处在于CGI程序是单独可以运行的程序,而Server API往往依附于特定的Web服务器,如Microsoft ISAPI依附于IIS(Internet Information Server),只能在Windows平台上运行,其可移植性较差。但是Server API启动后会一直处于运行状态,其速度较CGI快。

插件方法


利用CGI或者Server API,虽然增强了客户端的交互性,但是用户得到的信息依然是静态的。用户不能操作单个地理实体以及快速缩放地图,因为在客户端,整个地图是一个实体,任何GIS操作,如放大、缩小、漫游等操作都需要服务器完成并将结果返回。当网络流量较高时,系统反应变慢。解决该问题的一个办法是利用插件技术,浏览器插件是指能够同浏览器交换信息的软件,第三方软件开发商可以开发插件以使浏览器支持其特定格式的数据文件。利用浏览器插件,可以将一部分服务器的功能转移到客户端,此外对于WebGIS而言,插件处理和传输的是矢量格式空间数据,其数据量较小,这样就加快了用户操作的反应速度,减少了网络流量和服务器负载。插件的不足之处在于,象传统应用软件一样,它需要先安装,然后才能使用,给使用造成了不方便。

下面是利用WebGIS插件在因特网上显示空间数据的例子,利用插件能够方便地对地图进行漫游、缩放和查询操作。

../../_images/img_17.jpg

图13-15:WebGIS插件,来自于北京大学数字地球工作室

Java Applet(Java小应用)方法

WebGIS插件可以和浏览器一起有效地处理空间数据,但是其明显的不足之处在于计算集中于客户端,称为“胖客户端”,而对于CGI方法以及Server API方法,数据处理在服务器端进行,形成“瘦客户端”。利用Java语言可以弥补许多传统方法的不足,Java语言是一种面向对象的语言,它的最大的优点,就是SUN公司提出的一个口号“写一次,任何地方都可以运行(Write once, run anywhere.)”,即指其跨平台特性,此外Java语言本身支持例外处理、网络、多线程等特性,其可靠性和安全性使其成为因特网上重要的编程语言。

Java语言经过编译后,生成与平台无关的字节代码(Bytecode),可以被不同平台的Java虚拟机(JVM-Java Virtual Machine)解释执行。Java程序有两种,一种可以独立运行,另一种称为Java Applet,只能嵌入HTML文件中,被浏览器解释执行。用Java Applet实现WebGIS,优于插件方法的方面是:1)运行时,Applet从服务器下载,不需要进行软件安装;2)由于Java语言本身支持网络功能,可以实现Applet与服务器程序的直接连接,从而使数据处理操作既可以在服务器上实现,又可以在客户端实现,以实现两端负载的平衡。图13-16是利用Java Applet实现的WebGIS系统结构。

../../_images/img_215.png

图13-16:利用Java Applet实现的WebGIS系统框架

ActiveX方法

另一项可以实现WebGIS的技术是ActiveX,它是在微软公司OLE技术基础上发展起来的因特网新技术,其基础是DCOM(Distributed Component Object Model),它不是计算机语言,而是一个技术标准。基于这种标准开发出来的构件称为ActiveX控件,可以象Java Applet一样嵌入到HTML文件中,在因特网上运行。与Java Applet相比,其缺点是只能运行于MS-Windows平台上,并且由于可以进行磁盘操作,其安全性较差,但是优点是执行速度快,此外由于ActiveX控件可以用多种语言实现,这样就可以复用原有GIS软件的源代码,提高了软件开发效率。

上面描述了几种WebGIS的实现方案,在实际的系统建设中,可以根据待发布数据的数据量、数据类型、Web服务器软件、客户端的要求等确定采用不同的方案,选择相应的软件。

表13-7:国外几个重要的WebGIS技术特征[宋关福等]

MapInfo ProServer

GeoMedia Web Map

Internet Map Server(IMS)

MapGuide

ModelServer/

Discovery

公司

MapInfo Corp.

Intergraph Corp.

ESRI Inc.

Autodesk Inc.

Bently

服务器操作系统

Windows NT/95

Windows NT

Windows NT

Windows NT

Windows NT

Web服务器

支持CGI的Web Server

Internet Information Server

Internet Information Server或Netscape Server

支持CGI的Web Server

Netscape Server

其他服务器端软件

ODBC 、

MapInfo 4.x 、

MapBasic

ODBC

ArcView或MapObjects应用、

ODBC

ODBC

MicroStation

GeoGraphics

ODBC

客户端操作系统

Windows系列、Macintosh、UNIX

Windows NT/95

Windows系列、Macintosh、UNIX

Windows NT/95

Windows系列、Macintosh、UNIX

客户端浏览器

支持HTML的任意浏览器

Internet Explorer,

Netscape Navigator

支持HTML的任意浏览器

Internet Explorer ,Netscape Navigator

Internet Explorer,

Netscape Navigator

客户端是否需要插件(plug-in)/控件(control)

不需要

如果使用Netscape Navigator浏览器,需要安装ActiveCGM插件;如果使用Internet Explorer浏览器,会自动下载ActiveCGM控件

自动下载Java Applet或者ActiveX控件

需要安装MapGuide插件(1兆左右)

需要安装VRML、CGM、SVF等插件

网络传递的图形格式

JPEG(栅格图)

ActiveCGM(栅格图和矢量图)

JPEG/GIF(栅格图)

MWF(矢量图)

JPEG,PNG, VRML,CGM,SVF(栅格图和矢量图)

地图预出版处理

动态生成地图

动态生成地图

动态生成地图

需地图预出版处理

动态生成地图

可发布的数据格式

MapInfo地图文件

MGE工程、MicroStation DGN文件,FRAME文件,MGEDM文件,ArcView Shape文件,Arc/Info Coverage,SDO文件

ArcView Shape文件,Arc/Info Coverage,SDE地图文件, Autodesk DWG文件

Autodesk DWG

GeoGraphics工程文件,MicroStation设计文件</TBODY>

目前,WWW领域,可扩展标记语言(Extensible Markup Language,XML)得到了越来越多的重视,它可以成为一种“元语言”,用于定义特定领域的标记语言,同样在空间信息的Internet发布中,也可以采用XML来定义地理信息的特定语言标记,以容易而一致的方式格式化和传送数据。

1

* 本文列出的一些URL极有可能在读者看到时已经“失效”,这几乎是Web上司空见惯的事情了。