微型电脑应用
MICROCOMPUTER APPLICATIONS
2000　Vol.16　No.1　P.26-27



WebGIS处理模型研究
薛小峰　汪晓程
摘　要：本文分析了GIS数据管理的特点和目前WebGIS的三种主要的处理模型，采用基于Java平台的多层C/S结构技术，给出了一种WebGIS优化处理模型。这对于开展WebGIS领域的研究和应用有较大的参考价值。
关键词：WebGIS　Java平台　多层C/S结构　处理模型
Abstract：This paper discusses the characteristics of GIS data management and puts forward 3 main processing models of WebGIS at present. It also proposes an optimized processing model of WebGIS using multi-layer clie nt/server architecture technology base on Java platform. It proves valuable in r esearch and development of WebGIS.
Keywords：WebGIS　Java platform　multi-layer C/S architect ure　processing model▲
一、引言
　　地理信息系统(Geographic Information System)是利用现代计算机图形学和数据库技术输入、存储、编辑、查询、决策和输出空间图形及其属性数据的计算机系统［1］。它是融合地理学、几何学、计算机科学及各类应用模型为一体的高新技术。随着Internet技术逐步得到普及应用，开展基于Web的GIS研究，实现不同地理位置的用户数据信息统一管理和资源共享已经成为该领域研究的重要方向。本文通过分析GIS数据管理特点和目前Web GIS的主要处理模型，结合基于Java平台的C/S多层体系结构，提出一种优化的处理模型。
二、WebGIS技术
　　1.GIS数据特性
　　(1)地理信息的分布式特性。从地理信息数据源的获取、需要的海量存储空间以及使用效率等几方面都决定了地理信息不可能集中存储，而必须采取分布式存储。
　　(2)地理信息的异构特性。这里异构特性包括数据格式和处理环境两个方面的异构。虽然国际上几个主要的标准化组织相继颁布了GIS标准，如ISO/TC211的地理信息/地球信息科学标准、欧洲标准化组织CEN/TC287的G12000计划和EGII计划等，但是目前几大GIS公司提供的主流产品形成了事实上的标准不统一。因此，实现地理信息的标准化还需要一个过程。
　　(3)地理信息数据量大、类型复杂［2］。GIS研究与地理空间分布相关的信息，这样即使记录小范围的地理信息都需要海量数据。另外地理信息不仅包括传统的矢量数据。而且包括数字正射影像和数字高程模型等类型的数据。
　　2.GIS数据管理机制
　　GIS的数据分为地理空间数据和属性数据两类，具体的管理机制可以分为三种：①由关系型数据库(RDBMS)管理属性数据。地理空间数据以文件的形式存储，由空间数据管理软件包进行空间操作。地理空间数据文件和关系型数据库之间以指针或关键字建立联系。②对关系型数据库进行完善，使其统一管理属性数据和地理空间数据。③在关系型数据库中引入面向对象技术，建立对象关系型数据库(ORDB)或纯对象数据库(OODB)，对象与底层表示分离，空间属性与非空间属性定位平等，实现了属性数据和空间数据一体化管理［3］。
　　上述三种机制中，第一种把属性数据和空间数据分开管理，不能保证数据的完整性、一致性，不适宜进行网上分布式处理。第二种虽然实现了统一管理，其在处理地理数据生成空间拓扑关系、进行空间分析方面存在缺陷。第三种既实现了一体化管理，同时以面向对象技术处理地理空间数据，提高了地理空间数据运算效率，是WebGIS的理想数据库平台。
　　3.WebGIS技术要求
　　(1)开放性：开放性要求实现在国家和世界范围内分布式环境下的地理空间数据和地理信息处理资源的共享。
　　(2)互操作性：互操作性要求实现在分布式环境下的GIS软件能够克服由于数据和处理环境异构而带来的障碍进行相互操作。
　　(3)基于Internet:在Internet环境下，用户通过浏览器访问Web GIS获取地理信息服务。
　　(4)实时性：对地理空间数据的频繁操作，如放大、缩小、漫游等，要有较好的实时性。
　　(5)服务综合性：Web GIS要求实现对地理空间数据的查看、空间分析、统计、制作专题地图等综合服务。
　　4.几种主要Web GIS处理模型
　　(1)基于GIS服务器的模型［4］。这种模型是由客户端浏览器向CGI发出服务请求，CGI接到服务请求后调用GIS服务器的和地理空间数据进行处理，最后将处理结果以静态HTML页面的形式发送到客户端。这是典型的瘦客户、胖服务器模型。这种处理模型虽然简化了客户端，但把所有处理集中在服务器端，加大了服务器端处理的数据量和网络传输负担。
　　(2)基于客户端的模型。这种模型一般采用配套的服务器端和客户端软件，把需要的地理空间数据从服务器端下载到客户端，由客户端软件进行处理。这种处理模型增强了客户端处理能力，减少了服务器端处理的数据量和网络传输负担。它的缺点是客户端软件功能有限，对于地理空间数据标准有局限性。
　　(3)部分基于客户端的模型。这种模型采用前端插件技术(Plug in、ActiveX、Java applets等)将Web GIS服务器上的部分处理功能移植到客户端。通过利用客户端的处理能力，平衡客户和服务器两端的数据处理量，减轻网络传输负担，是一种较好的模型。本文以下提出的优化处理模型是在该模型的基础上进行改进得到的。
三、WebGIS一种优化处理模型
　　1.使用空间元数据(GeoMetadata)管理网络中的地理信息资源
　　元数据(Metadata)是关于数据的数据，是关于数据和资源的描述性信息。空间元数据(GeoMetadata)是对和地理相关的数据和信息资源的描述信息。它通过对地理空间数据的内容、质量、条件、位置和其它特征进行描述和说明，帮助人们有效地定位、评价、比较、获取和使用数据。
　　空间元数据的层次性。①全局性空间元数据：登记网上所有的地理空间数据信息；②局域网空间元数据：登记局域网内的地理空间数据信息；③本地空间元数据：登记所在的GIS服务器上的地理空间数据信息。
　　2.采用基于Java平台的多层C/S结构［5］
　　(1)系统构成
　　客户端包括Web浏览器和Java Applets插件。服务器端分为三层，即：前端代理服务器、GIS应用服务器、数据库服务器。详细结构如图1所示。

图1　系统构成
　　(2)处理流程
　　1)客户端通过Web浏览器访问前端代理服务器，通过HTTP协议从前端代理服务器下载Java Applets程序。Java Applets负责处理客户端的服务请求。它一方面以HTTP协议方式和前端代理服务器的服务定位Servlet(Service Locator Servlet)通信获得地理空间数据，另一方面以RMI(Remote Method Invocation)方式调用应用服务器提供的服务。Java Applets运行在浏览器环境下具有部分GIS功能，使得用户大量的操作(放大、缩小、漫游、查询等)可以在本地实施，呈现给用户的不在是静态图片而是矢量图形。进行空间分析、制作面向领域应用的专题地图等复杂业务通过调用RMI由远端应用服务器完成。这样处理一方面保证了普通用户大量操作的实时性，充分利用了客户端的处理资源，另一方面简化了前端插件，便于前端软件的更新和管理。
　　2)前端代理服务器通常位于一个局域网内。它保存了客户端经常访问的Java Applets程序、部分地理空间数据和空间元数据(局域网级)。在代理服务器上保存这些数据可以减少网络数据流量和下载时间。服务定位Servlet(Service Locator Servlet)负责接收客户端发送的请求，收到请求后交给数据管理应用(Data Management Application)。数据管理应用(API方式)判断本地数据库能否满足客户需求，如果可以本地处理，则将相关数据提交给客户端，否则返回不能处理的信息。服务定位Servlet如果收到不能处理的信息就提交给代理Servlets(Proxy Servlets)进行处理。代理Servlets一方面提供应用服务器服务清单(由应用服务器各个代理Servlet把服务“句柄”自动下载到代理服务器)，另一方面提供客户和应用服务器之间通信的桥梁。代理Servlets负责和应用服务器通信，发送请求，接收处理结果。数据管理应用一方面要根据客户对数据的访问频率动态更新本地数据库，对数据库进行管理，另一方面提供将不同标准的数据转换为统一标准服务，克服由于异构而带来的前端处理障碍。通过格式转换机制，用户可以访问网上任意节点地理信息资源，方便了处理。
　　3)应用服务器是核心服务器，综合了WebGIS主要数据处理功能。它是WebGIS设计者基于底层数据库平台开发的若干业务逻辑模块。它以JDBC和底层数据库平台通信。应用服务器和数据库服务器之间又是客户和服务器的关系。它把客户的服务请求转换为一系列指令交给数据库服务器进行处理，获取处理结果。业务分为两个层次：基本业务和复杂业务。基本业务包括：地理空间数据的获取、管理、地理元空间数据的管理。复杂业务包括：三维地形分析、决策分析、专题地图制作等。此外WebGIS管理者在此发布更新的Java Applets，并通过代理服务器传输到客户端。
　　4)数据库服务器提供底层平台支撑。它包括地理信息数据库和空间元数据库。地理信息数据库储存、管理各种类型地理空间信息，提供针对地理空间数据的基本操作。空间元数据库储存、管理全局性的空间元数据。
四、结束语
　　本文探讨了利用基于Java平台的多层C/S结构技术，来提高WebGIS处理效率的方法并给出了一种WebGIS优化处理模型。这对于开展WebGIS领域的研究和应用必将提供重要的参考。■
作者单位：薛小峰(空军工程大学工程学院航空工程管理系 西安 710038)
参考文献：
［1］边馥苓等，地理信息系统的原理和应用　测绘出版社
［2］罗英伟　WebGIS的构件设计　中国图象图形学报　1999.4(增刊)
［3］扬群等　地理信息数据仓库的技术研究　中国图象图形学报　1999.8
［4］任建武　Internet GIS应用一例，微电脑世界　1999.1.4
［5］慎　键　基于Java平台的多层应用软件体系结构　计算机世界报　1999.9.13
收稿日期：1999－10－11
