关键词:In,nt,te,er,rn,ne,et,tG,GI,IS,S的,的部,部件,件化,化结,结构,构论,论文,文教,教育,育资,资料,料下
|
关键字:Internet GIS的部件化结构论文 教育资料下载
THE COMPONENT CONSTRUCTION FOR INTERNET GIS
Yuan Xiangru, Chen Lili, Gong Jianya
(National Laboratory for Information Engineering in Surveying, Mapping and
Remote Sensing Wuhan Technical University of Surveying and Mapping, Wuhan,430079)
AbstractThe rapid advance of networking and componentization technology is one of the most important characteristics in software development in recent year. The main breakthrough in software technology is in software cooperation and componentization. In order to realize GIS data accessing, sharing and publishing, in other words, integration of Internet and GIS, the method of component construction for Internet GIS has being developed with Vector Graphic Distributed Model, Java and JDBC. This paper introduces Vector Graphic Distributed Model and the component construction of the new Internet GIS system, including ideals, realization and features.
KeywordsInternet GIS, Component Construction, Java/JDBC,Client/Server, Vector graphic Distributed Model
摘要在近年来的软件发展中,网络和部件化技术的进步是其重要的特征之一。软件工业 的主要突破点便是软件之间的联合和部件化。为了实现GIS信息数据在Internet上的获取、共享和发布,即实现Internet和GIS的完美结合,作者运用Java和JDBC开发了基于矢量图形分布式模型的、具备部件化结构的Internet GIS。本文介绍的矢量图形分布式模型及其实现方法,部件化结构的思想、实践和特征。
关键词Internet GIS部件化结构Java/JDBCClient/Server矢量图形分布式模型
分类号P208
1引言
网络的发展对我们的将来有着深远的影响。网络用户和信息数量正在以惊人的速度增长。在我们的工作、学习和生活中,网络的应用处处可见。许多部门开始采用Internet技术并与其Intranet联合起来。Internet和GIS (Geographic Information System)的结合即Internet GIS,为GIS数据、信息的获取、共享和发布提供新的方法。
GIS厂商可以分为主要的两类:提供GIS软件的厂商和为GIS软件提供数据用以显示和分析的厂商。GIS数据厂商们通过使用元数据或提供免费的实例数据来宣传他们的数据。虽然元数据非常重要,但对客户而言,要做出全部购买元数据的决定仍然是很有限的。并且免费的实例数据的作用不大[12]。
用WWW(World Wide Web)和HTTP(Hyper Text Markup Language)能构造Internet GIS[2~4],[9]。WWW和HTTP不直接支持空间数据形成矢量图形。因而,仅仅用WWW和HTTP建立起来的Internet GIS功能非常有限,不是真正意义上的Internet GIS。目前有两种传统的构造Internet GIS方法:即服务器应用程序接口方法和插件法[10]。CGI (Common Gateway Interfaces)作为返回适当文件和生成一个网上传输文件的通路,是在HTTP服务器上编写的。所有空间数据的操作都在服务器端完成。GIF格式或JPEG格式的图像是空间数据返回仅有的形式。这对网络传输是非常重的负担[6]。
为解决Internet和GIS结合所存在的问题,作者开发了基于Java和JDBC的新的Internet GIS[13]。本文将讨论此系统在Internet上获取、显示和分析空间数据的部件化结构和矢量图形分布模型。部件化结构为矢量图形分布模型的具体实现。部件化结构是此系统的主要特征。其部件化结构包括JDBC和扩展的JDBC数据获取部件、空间查询部件、分析部件和专题制图部件等。
2矢量图形分布模型
一般将Internet GIS分为两类,服务器端的和客户机端的。对于服务器端的Internet GIS而言,空间分析和输出全由服务器完成。它能解决大型数据库的管理及完成复杂任务,CGI负责连接用户输入和GIS服务器。而客户机仅仅用于结果显示。这对网络传输是非常重的负担[10]。对于客户机端的Internet GIS而言,GIS分析和数据处理在客户机上完成。如GIS Plug-in, ActiveX, GIS Java applet[5][8]。与服务器端的Internet GIS相比,客户机端的Internet GIS具有在用户端上操作灵活方便的特征,有效地减少网络传输和服务器的负担。但它处理大型数据库和完成复杂的GIS空间操作的能力十分有限。
为此,作者提出矢量图形分布式模型。以矢量图形分布式模型为基础的Internet GIS,是一个基于Client/Server的Internet GIS。它由分布在Internet上的Web服务器、客户端、多JDBC数据获取服务器和多数据库服务器组成(图1)。Web服务器负责Web服务,数据库服务器负责数据库管理、数据服务和复杂空间分析处理,其他任务由客户机完成。在客户端,用户所见到的和操作的是矢量的图形,而非栅格数据和静态图像,并且与主数据库无缝连接。因而,在客户端进行的漫游,放大,缩小,查询和分析等基本操作均在客户机完成,无需Web服务器和数据库服务器参与。而数据库管理、数据服务和复杂空间处理在数据库上分布式完成。
图1矢量图形分布模型
Fig.1Vector graphic distributed model
基于矢量图形分布式模型的Internet GIS既具有服务器端的Internet GIS处理空间分析、大型数据库管理的能力,又具有客户机端的Internet GIS在用户端操作灵活方便的特征。既减轻了服务器和网络传输的负担,又充分利用了服务器和客户机的资源。在Internet上客户端的用户操作的是矢量的图形,实现Internet和GIS的真正结合。
这个模型有五个基本的特征:
* 矢量图形数据。
* 任务分离。
* 分布式计算。
* 分布式服务器和客户端。
* 多数据源的互操作性。
对CGI模型而言,返回空间数据的唯一形式是GIF格式或JPEG格式的图像。这样对图像的处理非常耗时,如放大、缩小、漫游、网上制图、模型分析服务等。因为每次发送一个消息给服务器时,服务器都需要查找数据库,执行操作,生成GIF,然后再传送给浏览者。这给服务器和网络传输的负担很重。对矢量图形分布模型而言,客户端的空间数据是矢量的图形数据。放大、缩小、漫游、网上制图、模型分析服务等所有基本操作都在客户机上完成,从而克服了CGI模型的固有缺陷,有效地减少了网络传输和服务器的负担。
与其它模型相比,矢量图形分布模型具有许多特征。首先,Web服务器、客户端、多JDBC数据获取服务器和多数据库服务器的任务是完全分离的。Web服务器提供Web服务以及系统运转所需的类。多数据库服务器的任务则是数据服务,例如数据计算和数据操作。多JDBC数据获取服务器提供了数据库服务器和客户机之间的接口。此外,包括显示、查询、专题图的生成分析等在内的基本操作任务是在客户机上完成的。其次,计算是分布在网络上的,有一些计算是在客户机上完成的,而有关数据库管理的计算、复杂的空间分析则是在多数据库服务器上完成的。再次,多JDBC数据获取服务器和多数据库服务器均是分布在网络上的。这种模型还提供了多数据源的互操作性,以同时操作多种GIS数据源格式的数据,如GeoFile、GeoDB、ARC/INFO、MapInfo、DXF和MGE。
3部件化结构
部件对象模型是为促进软件交互使用而设计的,允许两个或多个应用程序或部件方便地合作。它代表着一种变革性质的软件革命,采用这种技术,程序开发者将要实现的任务分成若干个部件对象模型,分别进行设计,从而大大地简化了软件开发,并增强应用程序的功能。
部件化结构是软件发展的趋势。部件化结构体现了完全面向对象的思想和原则。用Java来实现所有部件,如专题制图部件,统计分析部件,显示部件,数据管理部件和JDBC数据组织部件等。部件化结构必须满足下列条件:所有的方法对用户而言是透明的、同样的信息送给不同的对象会产生不同的结果、基于现有Class的新的Class可以重用所继承的Class的所有开放方法和功能、在运行时可以连接来自不同地点的对象。
使用部件化结构是为了实现矢量图形分布式模型的,实现矢量图形操作、分布式计算、互操作性。因此它必须实现真正的面向对象。部件化结构具备以下特征:
* 封装性:实现信息隐藏、模块化、部件化和抽象化。
* 多态性:同一消息传送到不同的对象,各个对象接受消息后,独立地响应。
* 继承性:在原有的类上可以定义新的类和操作,做到代码重用和代码有组织。
* 动态链接:对象可以来自任何地方,包含网络。编程人员在编写代码时,可以不需要知道对象的类别,而将消息传送给对象。
部件在对象通过方法驱动和消息响应来互相通讯的过程中得以体现。部件之间也可通过消息传递来互相通讯。部件接受到消息后,便选择一个方法执行。方法定义部件初始化的操作。对初始化变量的管理则应用对象的方法,在部件化结构中,类与类之间可能有一些方法是同名的,一个部件对消息的响应取决于部件本身,即多态性。
图2消息响应
Fig.2Message response
图3消息响应
Fig.3Message response
举例说明,这里有四个部件:GTool,GMain,Gmessage和Mframe。Mframe应用各种方法和GTool,GMain,Gmessage进行通讯。GTool,Gmain和Gmessage之间通过消息响应互相通讯(图2)。Gmain部件由FullMap,MainMap和TreeView三个部件组成。在这四个部件之间,方法驱动和消息响应是极其重要的。
语言部件应用了Java国际管理模块的机制。与语言相关的部件是独立的。Internet GIS系统只有一个与语言有关的部件。语言部件包括对英语、汉语和日语的支持。当用户选择任一种语言时,部件根据不同环境应用语言部件的相关部分,转换成所选语言(图4)。语言部件的多语言特征,实现了GIS数据和信息全球化共享和发布的目标。
图4语言部件
Fig.4Language component
打印输出分析、操作和专题图的结果是GIS应具备的基本功能。但是在部件化设计时,对客户机的本地打印机是未知的。打印部件使客户机通过本地打印机输出分析、操作和专题图的结果成为现实。打印部件在两个方面实现独立性和不相关性,即具体打印机管理和抽象打印机管理。例如:Netscape浏览器不能自动识别本地资源。为了使用本地资源,在prefs.js文件(路径Netscape\ User下或Mac OS的Netscape Preferences中)中加入一行:user-pref(“signed.applets.codebase-principal-support”,true);终端用户下一次启动浏览器时,浏览器会允许使用本机资源:
Printing:PrivilegeManager.enablePrivilege(UniversalPrintJobAccess)
Connecting:PrivilegeManager.enablePrivilege(UniversalConnect)
Existing:PrivilegeManager.enablePrivilege(UniversalExistAccess)
4实例:JDBC和扩展的JDBC数据获取部件
JDBC和扩展的JDBC数据获取部件负责从数据库服务器中获取GIS空间数据。这个部件包含JDBC服务器和扩展的JDBC服务器(图5)。它支持以下的地理数据格式:
图5JDBC和扩展的JDBC数据获取部件
Fig.5The JDBC and extended JDBC component
GeoStar内部数据格式,包括GeoFile和GeoDB(Microsoft SQL server, Sybase)。
Mapinfo的MIF数据格式。
MGE的外部交换格式。
ARC/Info的Coverage和E00数据格式。
AutoCAD的DXF数据格式。
JDBC服务器用于获取面向关系数据库的数据源。现在许多厂商提供支持地理数据的面向关系数据库管理系统(如Informaix,CAIngres, Oracle,Sybase和Microsoft SQL Server)。GeoDB是Microsoft SQL Server的地理数据源。JDBC服务器(图6)可通过如下SQL语句从GeoDB(Microsoft SQL Server)中获取地理数据:
图6JDBC服务器
Fig.6JDBC Server
(1) SELECT OID, Userid, NumPoint, CoordString FROM chinamap.dbo.POINT.
(2) SELECT OID, Userid, NumArc,CoordString FROM chinamap.dbo.LINE.
(3) SELECT OID, Userid, NumCircle,CoordString FROM chinamap.dbo.SURFACE.
(4) SELECT OID, Userid, FeatureName, FROM chinamap.dbo.FEATUREINFO.
不需将数据库的所有数据通过网络传输给客户机。通过SQL语句,只将终端用户需要的数据传输给客户机。JDBC服务器主要的优点便是减少网络传输,减轻服务器的工作,从而提高效率。为了实现有效地从Internet上传输地理数据,必须应用压缩和解压缩方法(图7)。
图7压缩和解压缩
Fig.7Compression and decompression
扩展的JDBC服务器用于获取非面向关系数据库的地理数据,如ArcInfo,MapInfo,MGE和GeoFile。终端用户不能通过标准的SQL语句来获取这些数据。扩展的JDBC服务器是从这些地理数据源中找到用户所感兴趣的层,返回数据以形成数据目录。系统运行后,终端用户通过改变IP地址或域名选择数据库服务器。系统将列出所选择数据库的全部数据目录,如地图名、层名。用户根据需要选择数据目录,形成层。在层的基础上,扩展的JDBC服务器从数据库服务器获取数据,传送到客户机并形成图形(图8)。
图8Internet GIS 1.1版本
Fig.8Internet GIS version 1.1
通过以上对部件化结构的分析和实例,可以得出部件化结构的优点:
(1) 完全体现面向对象的思想和原则;
(2) 方法驱动和消息响应,有利于对Internet和GIS的完全结合;
(3) 部件之间相对独立,相关性极小,有利于大型软件的集成;
(4) 语言国际化,输出普适化,可使Internet GIS进入千家万户。
5其他部件
其他部件,包括数据管理部件、空间查询部件、SQL查询部件、空间分析部件、专题制图部件和显示部件。
空间查询部件通过一个特定的几何图形,如矩形、圆、多边形、点和线查询地物,实现了空间关系查询。
SQL查询部件体现了系统通过属性查询图形的功能。SQL查询操作将具有一些特殊条件的地物查找出来。这个部件不但提供了简单的SQL查询功能,而且还提供了比较完全的SQL查询功能,同时还包含了SQL语句的解释机制。
空间分析查询包括路径分析、缓冲区分析和叠置分析。
专题制图部件由两部分组成:统计图和专题图。系统提供三种二维或三维的统计图,如趋势图、直方图和饼状图。系统还提供多种专题图:分级统计图、饼状图、直方图、趋势图、格网图和质地填充图。
显示部件提供漫游、放大和缩小等功能。包括分类显示、属性修改和三维显示。
6结论
基于部件化结构化的Internet GIS,包括数据管理部件、空间查询部件、数据获取部件、专题制图部件和显示部件,它有效地减少了网络传输的负担,提高了空间数据获取和处理的效率,实现了获取和管理多数据源数据,提供了分析地图特征和查询、空间分析、专题制图、距离分析及表操作等功能。运用矢量图形分布式模型和部件化结构,有助于实现Internet和GIS的结合。但是,要将这种结合达到完美,还有许多问题急待解决,而且Internet和GIS本身还在不断的发展之中,所以需要进一步去研究、发展和完善。
7参考文献
1Dia Qi, Evans Larry and Shank Mike. Internet Interactive GIS and Public Empowerment.In:GIS 97 Conference Proceedings,1997.555~560
2Chun Sheng Li, David Bree. Developing Internet-based User Interfaces for Improving Spatial Data Access and Usability. In: Third International Conference/Workshop Integrating GIS and Environmental Modeling, Santa Fe, New Mexico, USA, Jan.1996. WWW and CD, Santa Barbara: National Center for Geographic Information and Analysis,1996
3Crossley D and Boston T. A Generic Map Interface to Query Geographic Information Using the World Wide Web,http://www.w3.org/pub/conferences/WWW4/papers/australia/,1997
4James Darrell McCauley. Serving GIS Data Through the World Wide Web, In: Third International Conference/ Workshop Integrating GIS and Environmental Modeling, Santa Fe, New Mexico, USA, Jan. 1996.WWW and CD, Santa Barbara: National Center for Geographic Information and Analysis,1996
5Jesper Jühnea,Anders T Jensenb. Ariadne: a Java-based Guided Tour System for the World Wide Web, The Seventh International World Wide Web Conference. http://www7.conf.au/programme/fullpapers/1935/com1935.htm,1997
6Lin H & Zhang L. A Web-Based GIS Catalog Browser for Distributed Spatial Data Retrieving. In:GeoInformatics'96 Wuhan, Oct 1996
7Lin H & Zhang L. Pluggable Computing Strategy for Integration of GIS Environment Modeling. In:GeoInformatics'97 Taibei,May 1997
8Maurice Szmurlo, Jacques Madelaine. A Network of Asynchronous MicroServers as a Framework for Server Development.In:The Sixth International World Wide Web Conference. http:// www6.nttlabs. com/HyperNews/get/PAPER106.html,1996
9Plewe B. The GeoWeb Project.In:Proceedings of the Second International WWW Conference 94,Chicago USA,1994
10Zh Peng & Nebert D. An Internet-based Data Access System.In:GeoInformatics'97 Taibei, May 1997
11Peng Zhongren. Internet GIS and Its Application in Transportation. http://www.uwm.edu/Dept/CUTS/peng/trnews.htm,1997
12Robert Hwelett.Java & GIS. http://gis. athena.bcit.bc.ca/students/class96-97/tec-paper.html,1997
13袁相儒,龚健雅.矢量图形与主数据库无缝连接万维网地理信息系统的设计和实现.武汉测绘科技大学学报,1997(3):260~263 | | |
|