搜索
主办:苏州测绘学会
协办:园区测绘中心
 

 首页 〉新闻公告 〉苏州测绘2004年度会刊
数字苏州及其实现策略

徐扬

(苏州市国土资源局)

近年来,由于互联网的不断发展,随着Internet的商业化趋势,以及WWW的风行,各GIS厂商也致力于基于Web的产品开发,使电子地图走向大众化。如今用户只要通过使用浏览器,就能获得许多与地图有关的信息,而我国的许多政府职能部门也提供这些服务。这些系统与传统的单机系统的最大的不同在于,不需要很高的配置,也不需要其全部的强大的功能。

这种新兴的结构模式的产生,改变了GIS处理地理信息的方式,将传统的单机作业的GIS的概念延伸到互联网上,以符合空间信息不断发展的需要,这种以分散式概念将GIS延伸到互联网的结构称之为万维网地理信息系统WebGIS

1. WebGIS的定义与特点

万维网地理信息系统是在Internet或是Intranet网络环境下的一种兼容、存储、处理、分析和显示与应用地理信息的计算机系统。地理信息是描述地球表面的空间位置和空间关系的信息。空间数据包括带有空间位置特征的图像、图形数据和与此有关的文本数据。称之为WebGIS的原因是大多数客户端应用采用了WWW协议。它的基本思想就是在互联网上提供地理信息,让用户通过浏览器浏览与获取WebGIS所提供的数据和服务。

与传统的地理信息系统相比较,万维网地理信息系统有如下特点:

更广泛的客户访问范围。客户可以同时访问多个位于不同地方的服务器上的最新数据,而Internet/Intranet所特有的优势大大扩展了GIS的数据的处理能力,增强了空间数据的时效性。

客户端的平台独立性。无论客户机是何种操作系统,只要支持通用的Web浏览器,用户就可以访问GIS数据及服务器所提供的服务。

更简单的操作。要推广GIS,使GIS系统为广大的普通用户所接受,而不仅仅局限于少数受过专业培训的用户,就要降低对系统的操作难度。通过Web浏览器提供友好的用户界面无疑是一种很好的选择。

更高效的计算负载平衡。传统的GIS大都使用文件服务器结构的处理方式,其处理能力完全依赖客户端,效率较低。而当今的一些高级的WebGIS能充分利用网络资源,将复杂的处理交由服务器处理,而简单的操作则由客户端直接完成。这种计算能灵活地在服务器端和客户端之间合理地分配处理任务,从而提高网络资源的利用效率,从而提高了系统的性能。

分布式的系统。GIS数据和分析工具是独立的组件和模块,WebGIS利用Internet的这种分布式系统把GIS数据和分析工具部署在网络不同的计算机上,用户可以从网络的任何地方访问这些数据和应用程序,即不需要在本地计算机上安装GIS数据和应用程序,只要把请求发送到服务器,服务器就会把数据和分析工具模块传送给用户,达到JustInTime的性能。Internet的一个特点就是它可以访问分布式数据库和执行分布式处理,即信息和应用可以部署在跨越整个Internet的不同计算机上。

动态性。由于WebGIS是分布式系统,数据与应用程序部署在不同的计算机上,随时可能被管理员更新,对于Internet上的每一个用户来说,都能得到最新的数据和应用程序的最新版本,只要数据源发生变化,和数据源的动态连接将保持数据的现势性。

交互性。WebGIS可使用户在Internet上操作GIS地图和数据,用Web浏览器(IENetscape 等等)执行部分基本的GIS功能:如缩放、漫游、查询和标注,甚至可以执行空间查询:如“离你最近的旅馆或饭店在哪儿”,或者更先进的空间分析:比如缓冲分析和网络分析等。在Web上使用WebGIS就和在本地计算机上使用桌面GIS软件一样。

经济性。一般专业的GIS软件非常昂贵,而对于普通用户来说,经常只使用一些最基本的功能,想购买专业软件显得不太可能,也不经济。WebGIS在客户端只需要浏览器,不需要客户的额外投入。由于客户端的简单而减少的维护费用也不容忽视。

2. WebGIS的发展现状

2.1 平台软件

WebGIS是当今GIS的热点,已成为各大厂商激烈竞争的焦点。几个重要的GIS厂商纷纷发布各自的WebGIS产品,如MapInfoMapInfo ProServerInterGraph公司的GeoMedia WebMapESRIInternet Map Server IMS),AutoDesk公司的MapGuide。这些产品大多发布于1996-1997年。最近Bently公司又相继推出ModelServer/DiscoveryMapInfo公司推出MapXTreme。现就几个主要WebGIS产品的技术特征进行比较,列表如表2


21主要WebGIS产品


从与数据库的动态连接性能看,GeoMedia Web MapMapGuide比较突出。在服务器端方面,IMSMapInfo ProServerModelServer/Discovery有较强的空间查询功能,因为这几个软件在服务器端都运行着相应的桌面GIS软件,客户端可以通过Internet直接向服务器端发送其桌面软件支持的空间查询命令。在客户端方面,MapInfo ProServerIMS在客户端支持多种平台,而GeoMedia Web MapMapGuide仅仅支持使用Windows系列操作系统的浏览者。如果用于建立Intranet应用,选择传递矢量图形的GeoMedia Web MapModelServer/DiscoveryMapGuide较好,因为它们所需要的插件和ActiveX控件可以统一分发,预先安装,客户端具有较强的交互性和较快的响应速度。

另外国内万维网地理信息系统软件技术及产
品也取得了长足的进步。国内WebGIS产品主要有以下四个:武汉奥发科技工程有限公司开发的AFInternet GIS、国家遥感应用工程技术研究中心网络与运行工程部独立开发的地网GeoBeans、武汉吉奥信息工程技术有限公司的GeoSurf。其中GeoBeans以其使用简单、维护方便、支持二次开发、丰富的客户端功能、跨平台、矢栅合成、兼容多种矢量格式数据、完善的空间分析功能、并发多用户访问、可移植性等良好特性而得到用户的认可。GeoSurfJava开发,基于矢量格式,具有严格的平台无关性,支持多数据源及分布式数据管理,矢量数据格式精确、精细,也可进行二次开发,用途广泛,具有较好的应用前景。

2.2 应用系统

目前,互联网上已经出现了许多万维网地理信息系统应用实例,如数字地球网站提供网络地理信息系统在土地、环保、农业、人口统计等领域的应用实例。网络地理信息技术应用范围非常广泛,可以应用于农业、林业、水利、地矿、交通、通讯、新闻媒体、城市建设,教育、资源(土地、森林、水、矿物、海洋等)、环境、人口、海洋以及军事等几十个领域,如旅游、统计分析、房地产、油气管理、土地和地籍管理、水资源管理、环境监测、资源合理利用、智能交通管理、跟踪污染和疾病的传播区域、商业选址、市场调查、移动通讯、民用工程、城市管道管理、在线政府公共信息服务等。

3. WebGIS的主要构造方法

WebGIS开发的角度来看,主要涉及到客户端、服务器端。客户端一般采用浏览器通过HTML和脚本、控件、插件来实现。服务器端由WWW服务器、应用服务器和数据库服务器组成。当前WebGIS主要的构造方法如下:

3.1 通用网关接口

通用网关接口(Common Gateway Interface CGI)是Web服务器调用外部程序的接口。它允许网页的用户通过网页的命令来启动一个位于服务器主机的程序,这个程序被称为CGI程序,并接受这个程序的输出结果。由于早期的HTML只能用来显示资料,缺乏互动性,CGI的加入,使用户可以方便地与服务器交互。CGI是最早用来实现动态网页的技术,是连接应用软件和Web服务器的标准技术,是HTML功能的延伸。根据CGI界面的特点,应用于GISCGI可以分为以下两类:

1.         CGI启动图形产生器:由开发者制作一个简单的图形产生程序,经由CGI程序,可以根据命令行参数产生不同的地图。其结果通常以图像的形式传回给客户端。一个典型的例子就是ESRI公司的MapObjects Internet MapServer

2.         CGI启动后端GIS软件:很多的GIS软件都是使用图形用户界面(Graphic User’s Interface GUI),而浏览器也是利用GUI采用事件驱动的方式运行的。通过CGI,用户在浏览器上的事件被传递给网络服务器,然后又服务器传递给GIS软件。

第一种方法程序编写比较简单,速度快,但功能比较简单。第二种方法充分地利用了现有的软件,功能相对强一些,但是它要求后端GIS软件一直运行,对于每一个客户机的请求,都要重新启动一个服务器进程,占用大量的服务器的资源,容易导致服务器崩溃。

这两种方法所产生的结构都是栅格图像,所有的处理都必须在服务器端完成,服务器的负载大,没有充分利用客户端的处理能力。

3.2 服务器应用程序接口(Server API)法

Server API类似于CGI,不同之处在于CGI是单独运行的程序,而Server API是依附于某一个特定的服务器,如MicrosoftISAPI只依附于IISInternet Information Server IIS),只能在Windows平台上,移植性较差。但是基于Server API的动态连接模块启动后一直处于运行状态,不像CGI每次都要重新启动,速度快。

3.3 插件Plug-ins

CGI系统仅提供给客户端有限的GIS功能,传给用户的信息都是静态的,而且客户端不能操作单个的地理实体及快速地放大、缩小地图,当网络的流量较大时,速度会很慢。

解决这个问题的方法是把一部分的服务器上的功能移到客户端上,这样不仅加快了操作的反应速度,而且也减轻了网络的负载。但是标准的浏览器只提供了一些简单的导航与浏览功能,缺乏处理地理空间数据的能力。解决的方法之一是安装能与浏览器交换信息的专门的GIS软件。这种增加浏览器功能的方法就叫插件(Plug-ins),目前这种插件已被普遍采用,尤其是在多媒体领域。GIS插件不但可以增加浏览器处理地理空间数据的能力,使人们更容易获取地理信息,而且可以減轻服务器的负载,从而使服务器更有效地为更多的用户服务,因为部分的数据处理工作可以由浏览器插件来完成。

美国ARGUS公司的地图显示软件MapViewerhttp://www.argusmap.com)就是利用这种插件的。与传统的应用软件相似,插件也需要先安装再使用,因而传统软件中不同版本之间的不相容性及版本升级问题仍然存在。GIS插件与运行平台、操作系统、GIS数据类型是有关的,即对不同的GIS数据,不同的操作系统,不同的浏览器需要不同的插件支持。

3.4 ActiveX控件法

ActiveX是建立在OLEObject Linking and Embedding OLE)技术之上发展起来的新的因特网技术,其基础是组件技术(Component Object Model COM),是为了扩展Microsoft 的浏览器IE的功能而提供的公共框架。ActiveX控件和插件技术非常相似,是扩展Web浏览器的功能的动态模块。所不同的是,ActiveX能被所有能支持OLE标准的任何应用程序所使用。相反,插件只能在某一个具体的浏览器中使用。基于ActiveX的万维网地理信息系统就是依赖ActiveX来完成GIS数据的处理和显示。

ActiveX控件目前只有IE全面支持,在Netscape中则必须有特定的插件才能运行,并且性能较差;只能运行于MSWindows平台上;需要下载安装,占有客户机端的磁盘空间;可以进行磁盘操作,安全性较差。优点是执行的速度快,可以用多种语言实现,可以利用原来的源代码,可以加快开发的速度。

3.5 Java小程序(Applet)法

Java语言具有跨平台、简单、动态性强、运行稳定、分布式、安全、容易移植等特点,是网络的重要编程语言。任何系统的平台,只要支持Java虚拟机就可以解释执行Java程序,而与程序在何种系统下开发与编译的无关。Java Applet是一种能嵌入到HTML文档中的Java程序。当浏览器读取一个带有Applet的文档时,Java Applet被下载到客户端并且开始执行。并不是每一个浏览器都支持Java,到目前只有Netscape6.0支持Java 2。要想在其他的浏览器中使用Applet必须下载插件。

GIS Java Applet最初为驻留在服务器端的可执行代码。它能完成GIS数据解释和GIS分析功能。具有以下优点:

体系结构中立,与平台和操作系统无关,能够在具有Java虚拟机的系统上运行,一次编写,到处运行。动态执行,无需预先安装,总是随着页面一起传到客户端,客户端总能得到最新的版本。服务器和网络的传输负担轻,因为服务器仅仅提供数据服务,网络也只需将数据一次传输,所有的GIS操作都是在本地完成。不足之处是,利用原来的GIS系统的能力比较弱,处理大型的GIS分析能力有限。

3.6 Java Servlet

Java Applet运行于客户端,加强客户端的能力对应,Java Servlet是在Java型的Web服务器中执行,并且可以扩展服务器的功能。Servlet可以建立一个框架,通过Web提供请求和响应服务,用这种方式来扩展服务器的功能。当客户端向服务器提出请求时,服务器将请求的信息传给Servlet,并且让Servlet做出响应,再通过服务器传回客户端。

Java Servlet和常用的通用网关接口 CGI 不同,CGI必须执行整个程序才能处理用户请求,而Servlet只要执行部分代码就可以处理用户请求,所以Servlet的功能要超过CGI程序。Servlet可以在Web服务器启动时自动载入,也可以在客户第一次请求时载入,载入之后,Servlet可以继续执行,等待其他的客户请求,Servlet可以执行许多功能,如:

1.         根据客户端的要求的性质,建立并且传回含有动态内容的整个HTML网页。

2.         建立包含于现有HTML网页的部分HTML网页(HTML片段)。

3.         与其它的服务器资源通信,包括数据库和Java Applet

4.         处理与多个客户端之间的连接,接受多个客户端的输入,并且将结果广播给多个客户端。

Java Servlet有着比CGI高效、启动时间快、Servlet内部通信容易和安全性好等优点。通过AppletServlet成对的使用,可以提供信息流的压缩及加密。目前WebGIS主要着重在图形的显示与查询功能上,大多数的开发集中于Applet增强客户端的能力,Servlet的应用较少。

3.7可扩展标记语言(XML)法

XML使用标记定义文件的结构、文件的内容、显示的方法。HTMLWeb文件最常用的标记语言,但是HTML越是流行,它的局限性就暴露得越明显,因为它只有有限各预先定义的标签,由于Web浏览器并不了解不属于HTML标准中标签的含义,所以用户不能定义自己的标签,使HTML的功能大受限制。同时,由于控制呈现方式的标签与说明文件内容的标签在同一个文档中,使得HTML显得更加的混乱。虽然HTML 4.0以后使用层叠样式表将内容与表现形式分离,但HTML仍无法很好的说明文件内容。XML是一套原则,能让各行各业定义像HTML一样的标签,以利于数据的存取、处理、交换、转换等。

开放地理信息系统协会(OGC)于20005月发布的地理标记语言,是一个基于XML的应用,其目的在于叙述、说明地理空间信息,可以很清晰地表现空间实体的结构及其内容,并且能作到开放式的空间信息的交换与管理。GML为空间信息的描述、管理、呈现提供一个标准的解决方案,并能使跨平台的分布式的空间数据之间的转换与整合更有效率。

4. 空间数据处理的服务模型

空间数据的显示(或可视化)要经过这样的四个处理过程(见下图31):

四个步骤分别是:选择空间数据、生成显示序列、地图的形成和地图显示。

1 从空间数据源中选择出要显示的地理实体的数据。

2 把选择出来的地理实体数据组合生成一个显示元素的序列。

3 将显示元素系列生成最终要显示的地图结果。

4 将准备好地图送往显示设备进行最终显示。

把上述地学空间数据可视化的过程看作相对独立的步骤,每一个步骤都接受某一特定形式的空间数据作输入,并输出某种形式的中间结果,每一个后续步骤的顺利执行都要先执行前面的步骤,并使用前面步骤提供的输出结果,就是说,后续步骤要调用前面的步骤为其服务,前面步骤



31 地学空间数据可视化过程


把上述地学空间数据可视化的过程看作相对独立的步骤,每一个步骤都接受某一特定形式的空间数据作输入,并输出某种形式的中间结果,每一个后续步骤的顺利执行都要先执行前面的步骤,并使用前面步骤提供的输出结果,就是说,后续步骤要调用前面的步骤为其服务,前面步骤要为后续步骤提供服务。其中第一个步骤从空间数据源中得到满足条件的空间数据,最后一个步骤显示最终结果。分步骤服务模型没有限制相邻两个步骤的执行必须要在一台机器上,当其中某两个相邻步骤被因特网分开时,就得到了三种可能的WebGIS系统体系结构。

1) 客户端请求地图图像的方式。在这种结构下,作为客户端的浏览器只进行图像的显示,而把选择空间数据、生成显示元素序列和地图图像的步骤放在服务器端。浏览器通过服务器的CGI接口以JPEGGIF图像格式请求地图图像。

2) 客户端请求图形元素的方式。客户端由地图生成和显示两部分组成,通过Java AppletActiveX来实现,由它们向服务器请求要显示的图形元素或地图图像。随着SVGVML成为万维网协会(World Wide Web Consortium,简称W3C)的标准,如果用它们来编码矢量空间数据,则浏览器就可以直接显示。

3) 客户端请求空间数据的方式。服务器端只执行查询,从空间数据源中得到需要的空间数据,然后把数据发送到客户端。由浏览器上的Java AppletActiveX或浏览器插件完成后面的工作。浏览器生成最终结果时,还会向服务器请求必要的显示符号信息。

WebGIS的这三种体系结构各有特点,可以满足万维网对不同的客户端和服务器端应用要求。按照客户端功能的多少划分出客户端的类型。瘦客户端只提供显示功能,中等客户端提供显示和提取服务功能,胖客户端提供显示、提取服务和查询分析服务。但不论采用哪种结构,由于它们都是基于空间数据可视化的分步骤服务模型,保证了它们对空间数据处理的一致性。采用这种空间数据模型的WebGIS系统,就可以保证每个系统的上面一个步骤可以调用其它WebGIS系统的相应下面步骤的服务。从这个角度来看,不同的客户服务器结构,仅仅是让两个处理步骤之间的服务调用跨越因特网而已,不会影响整个系统集成多个异构系统中空间数据的能力。

我们看到,分步骤服务模型为万维网空间数据一个系统的上面处理步骤充分享用另一个系统相应下面步骤的服务,充分体现了WebGIS的分布式思想。

小结

研究了WebGIS的特点、发展现状与传统开发技术及其优缺点,分析了空间数据处理服务模型及模型在WebGIS互操作中的地位。