基于GeoMediaWebMap的WebGIS研究与开发.pdf
基于GeoMediaWebMap的WebGIS研究与开发
吴小锋张润朋
(中山大学城市与资源规划系,广东广州510275)
摘要:本文在分析WebGIS设计思想的基础上,着重论述了GeoMediaWebMap的实现原理和技术特点,并
介绍了一个基于GeoMediaWebMap开发的基准地价成果管理信息系统。
关键词:WebGIS;GeoMediaWebMap;CGI/Server;ObjectWeb
1WebGIS概述
WebGIS是Internet技术应用于地理信息系统(GIS)开发的产物。GIS通过WWW功能得以扩展,真正
成为一种大众使用的工具,从WWW的任意一个节点,Internet用户可以浏览WebGIS站点中的空间数据、
制作专题图,以及进行各种空间检索和空间分析。WebGIS不仅开拓了地理信息资源利用的新领域,而且为
GIS信息的高度社会化共享提供了可能。WebGIS作为数字地球的主要技术依托和载体,已经成为IT领域十
分重要的研究方向。
2WebGIS的设计思想
WebGIS设计主要考虑的是基于何种开发方法实现,以及客户端采用何种图形数据方式(矢量或者栅格
图形)进行显示。而这些问题将影响整个WebGIS的功能和性能。
2.1基于CGI/ServerAPI的WebGIS
CGI和SeverAPI是较早应用于WebGIS开发的方法。其中CGI(CommonGatewayInterface)通用网关
接口,是按照如下方式实现www交互的:用户发送一个请求到服务器上,服务器通过CGI把该请求转发给后
端运行的GIS应用程序中,由应用程序生成结果交还给服务器,服务器再把结果传递到用户端显示。这种方
式的缺点是服务器每次请求都要重新启动GIS应用程序,降低了系统响应速度。SeverAPI是经过扩充的CGI
工具,比如Microsoft的ISAPI和Netscape的NSAPI。采用ServerAPI,服务器请求后端GIS应用程序时
不用重新启动该程序,而是通过IPC(Inter-processCommunication,进程间通讯协议)与之进行信息交换。
不过由于ServerAPI没有统一的标准,所以一旦采用了某种ServerAPI,那么服务器端将依赖于这种服务
器程序。
目前的大部分WebGIS是采用的CGI/SeverAPI方法。但是,CGI机制本身有很大的缺陷,对于每一个客
户机的请求,都要重新启动一个新的服务进程,从而影响速度。它不适应于编写最新的客户/服务器应用软
件,也不适合编写面向对象的Java客户机。经过各种扩充的CGI工具也无助于问题的解决,因为不管是采
用进程间DLL、服务器插件或者是ORB对象的方案,它们都需要HP和Web服务器作为中介,来协调服务器
和客户机对象之间的通信。一个客户机对象无法直接调用服务器对象,客户机与服务器对象之间交互的基本
形式仍然是HTML表格。对于象WebGIS这样复杂的客户/服务器应用来说,网络通信量相当大,采用这种方
式很难进一步提高速度。
2.2基于ObjectWeb的WebGIS
1997年6月诞生了Web的一种分布式对象方案,称为“ObjectWeb”。ObjectWeb将是Internet变革
中的又一个新浪潮。基于ObjectWeb规范的WebGIS可以称为分布式对象WebGIS,这是WebGIS的最新发展
方向。基于ObjectWeb开发的WebGIS可以有效避免CGI形成的瓶颈,允许客户机直接调用服务器上的方法。
分布式对象平台提供一种可以伸缩的由服务器到服务器的体系结构,服务器对象可以运行在多个服务器上,
从而可以动态平衡客户端请求的负载。
目前,有两套不同的ObjectWeb规范正在进行着激烈的竞争:一个是ObjectManagementGroup和
Javasoft公司的联合推出的CORBA/Java标准,另一个是Microsoft公司提出的DCOM/ActiveX标准。两个
标准各有千秋,相持不下。尽管Java编译器在不断改进,但是CORBA/Ja