Java是一种独立平台的编程语言,
这意味着Java应用程序可以在不同的计算机系统上运行,
而程序开发人员不必针对不同的系统(如Macintosh和Unix)开发不同的应用程序。
Java的最大优势仍然在于其跨平台能力
在客户端使用了插件、Java Applet或者ActiveX控件,
采用矢量图形方式可以在本地执行许多操作,
比如:地图放大缩小、漫游、就地选择并高亮显示,
在一定程度上减少了服务器端的负载和网络上的数据传输量;
WebGIS的组成结构
----为追随WebGIS这一发展趋势,近期各大GIS软件厂家纷纷推出通过Web提供交互式成
图功能的工具。ESRI公司最近推出了InternetMapServerforArcView,
而MapInfo也已增强和重新打包了它的Web服务器,称之为MapXtreme。
在应用系统方面,国外著名的GIS软件公司的网站上已大都使用了WebGIS技术,
如http://www.esri.com、http://www.mapinfo.com等。
国内如中国经济信息网公众信息部与国家信息中心数据库部联合开发的
《中经网地图信息服务系统》(网址http://serve.cei.gov.cn),
可为用户提供地理位置检索、信息分类查询和模糊检索等服务内容。
综观这些WebGIS系统,从实现形式上可分为以下两类:
----1.动态(dynamic)的WebGIS
----这类GIS系统是目前WebGIS实现的主要形式。实际上,最早的WebGIS出现时,
是简单地将固定的地图图片链接到网页上,对于所有的用户查询,
系统返回的是预先制成的相同的地形文件和数据。这种方案的局限性是显而易见的,
随后的改进方案是在服务器端使用CGI(CommonGatewayInterface)技术,由CGI程序
负责处理用户输入,将用户的操作指令传递到运行在后台的GIS服务器,
然后将服务器返回的结果反馈给用户。
这种动态操纵空间数据库生成查询结果图形和数据的方式,
我们称为动态的WebGIS。其中CGI可以用任何一种能运行在服务器上的语言如C、
C++,VB甚至是Perl、ShellScript等解释型语言写成。
近期许多网站开始用ASP(ActiveServerPages)来代替CGI,
它们的原理不同,但所起的作用是一致的,都起到了管理和传递输入输出的作用。
动态的WebGIS的特点是:
----(1)基本不用改变原有的GIS服务器端的调用函数,构造Web时较为简便迅速,
开发效率高。
----(2)针对不同的用户操作完成相应的响应,能完成GIS的大多数功能。
----(3)对服务器要求较高。由于用户发出的所有指令最终都由GISServer来完成,
用户端实际上是起了一个图形终端的作用,致使服务器端负担过重,
要求服务器端的硬件速度快,内存容量大。当用户数量多时,容易在服务器端形成瓶颈,
进而影响整个系统的效率。
----(4)由于回传用户的地图是在服务器生成的图像数据,因此网络数据流量较大,
在慢速的网络上用户的等待现象十分突出。
----2.主动(active)的WebGIS
----主动的WebGIS方式不是由服务器包办处理用户的一切请求,
而是通过服务器向客户端发送一段运行在本地机上的客户程序。
这个程序可以与用户相交互,处理用户的一些简单请求,如地图的开窗、
放大等,所需的矢量地形数据直接向服务器申请。当客户发出一些较复杂、
高级的操作要求而客户程序不能处理时,才请求WebGIS服务器处理,
其处理结果也以矢量数据的形式发还给客户端。
目前有许多种方法可以建立主动的WebGIS,
而Java是开发主动的WebGIS的主流技术。采用主动的WebGIS的优点在于:
----(1)这种方法传送给用户的是矢量的地理元素实体,
而不只是一幅由服务器处理好的静态图像,给予了用户更大的操作自由度,
可以自由地处理每个元素,不但可以查询地图数据,还可以分析和更新数据。
----(2)嵌入浏览器中运行的Java程序直接在用户机器上执行,无须安装,
也不会产生复杂的软硬件兼容性问题,简便可靠。
----(3)在网上传输的是各类矢量图形数据和属性数据,较之图像数据流量大大降低,
同时由于程序是在用户端执行的,许多简单操作无须通过网络传交服务器处理,
也减少了用户和服务器之间的数据流量,从而提高了整个网络的运行效率,
加快了响应速度。
----(4)服务器的处理负载降低,使之可以响应更多的请求。
----(5)需要开发Java客户端程序,制定一套完整的C/S信息交换扩展协议并修改
原有的GIS服务器软件,使之接受信息交换协议,在软件上需投入的工作量较大,周期较长。
摘自《>wbGIS技术剖析卓泳