异构地理信息处理环境互操作的

来源:互联网 发布:淘宝crm招聘 编辑:程序博客网 时间:2024/05/16 15:13

摘 要 提出了异构地理信息处理环境互操作的Internet GIS方法和基于互操作性的Internet GIS构造模型,即分布式超图模型,阐述了其具体实现过程,并以自主开发的Internet GIS-GeoSurf为例验证了此方法。

 关键词 Internet GIS;互操作性;分布式超图模型;Java IDL;CORBA
分类号 P208Internet GIS Approach to Interoperability of Heterogeneous
Geographic Information Processing Environment

 

Yuan Xiangru Gong Jianya Lin Hui Chen Lili
(Department of Geography and Joint Laboratory fof GeoInformation Science, The Chinese University of
Hong Kong, Shatin, NT, Hong Kong)

Abstract It is the GIS developing direction to integrate GIS with Internet. Internet GIS is not only used to publish distributed geographic information on line, but also to provide on line tools for distributed geographic information real-time analysis and processing. Internet GIS should make use of existing multi-sources and functions for geographic information analysis and processing. In other words, it must solve the problem of interoperability. The interoperability of Internet GIS includes heterogeneous data and heterogeneous geographic information processing environment. This paper provides the Internet GIS approach to interoperability of heterogeneous geographic information processing environment, and the interoperability-based model, distributed hypermap model, for Internet GIS. The implementation of this method is made clear. With the example of Internet GIS-GeoSurf, it sets out the application of this method in details.
Key words Internet GISinteroperabilitydistributed hypermap modelJava IDLCORBA
 

  Internet与GIS结合成互联网地理信息系统(Internet GIS)是GIS软件发展的必然趋势。Internet GIS用于分布式地理信息的在线发布,并为分布式地理信息提供在线实时处理与分析的工具。Internet GIS必须使用已有的多种数据源和各种环境的地理信息分析处理功能,即Internet GIS面临地理信息的互操作性问题。

  GIS的互操作性是指已存在的地理信息系统及应用系统之间自下而上的结合。传统的GIS之间缺乏通讯和协调能力。互操作性不仅指不同系统之间的信息共享交换,即不同GIS之间的数据共享交换,又指不同系统之间在没有数据交换情况下的功能互操作。UCGIS(university consortium for geographic information science) 为GIS的互操作性研究提出了短期和长远计划[22]。NCGIA (national center of geographic information and analysis)也致力于研讨GIS的互操作性问题[13]

  OGC(open GIS consortium)提出互操作地理信息处理的Open GIS规范,其目的是为了解决基于异构地理信息处理环境和异构地理信息数据的地理信息输入/输出、分布式数据获取和任务转换等问题[5,15]。地理信息的互操作性主要体现在数据层和处理层上。对处理层而言,数据的互操作意即它能以任意数据格式运行;对数据层而言,处理的互操作表示这个数据集合能被不同的处理程序所使用。地理信息系统之间在数据格式、软件产品、空间概念、质量标准和实体模型等方面存在不兼容性。在两个或多个独立空间分布式信息系统之间的互操作性抽象层次有6个,即网络通讯协议层、硬件操作系统层、空间数据文件层、数据库管理层、数据模型层和应用语义层[2]
  Internet为GIS的发展提供了新的机遇[23],它改变地理信息数据的获取、传输、发布、共享、应用和可视化等过程和方式。Internet已成为GIS新的操作平台。Internet与GIS结合成Internet GIS 是GIS软件发展的必然趋势[20]

  Internet GIS 主要解决两个方面的问题:①为分布式地理信息数据源提供在线分布式发布;②为地理信息的在线实时分析与处理提供工具。Internet GIS 的互操作性总体上表现为两个方面:①异构数据源互操作[25],与处理层上的互操作相当;②异构地理信息处理环境的互操作,与数据层上的互操作相当。实际上,各种各样的地理信息、处理分析方法、部件程序或程序系统广泛存在,并为众多部门开发或使用。如何有效地使用已有的地理信息处理方法,并将它们应用到Internet GIS之中,是亟待解决的问题。

1 研究目的和意义
  目前,GIS 软件有3类,第一类基于单机,其用户GUI(graphical user interface)、事务处理、GIS数据存储都在同一台机器上完成,用户界面层、GIS服务层(服务器)、GIS数据存储层(数据库)3层融合在一起;第二类基于双层;第三类基于多服务器/客户机结构,上述3层完全分离。如图1所示,第一层为用户界面层;第二层为GIS服务层(服务器);第三层为GIS数据存储层(数据库)。前两类为传统地理信息系统,其对另一GIS功能和数据的获取能力非常有限,构造麻烦,维护费用高,因为系统的微小改动都可能需要整个系统重新编译和测试[1,4]

0301.gif (5611 bytes)
图1 地理信息系统体系结构类型
Fig .1 The Type of Architecture for Geographic Information System

  具备互操作性的GIS应具有多服务器/客户机结构,这是Internet GIS的基础。Internet GIS不仅基于服务器端,而且还基于客户机端,是一个典型的多服务器/客户机系统。Internet GIS应具有许多特征,首先它是一个分布式的服务器/客户机系统;其次,它又是一个动态的、跨平台的超媒体信息系统。Internet GIS在异构地理信息环境中,通过互联网实现多种地理信息数据源的获取和对异构地理信息处理环境的互操作[3, 8]

  研究Internet GIS互操作性的目的是:①回答普遍存在的地理信息不能互操作问题,提出解决共享、交换、互操作等问题的方法;②解决地理信息不能互操作给工业界、政府和科研机构带来的负面影响;③有效使用已有地理信息系统资源,如地理信息处理功能、方法等;④ 为全球用户提供地理信息数据和Internet GIS本身。

  研究Ineternet GIS 互操作性的意义是:①可以使Internet GIS 及其部件对象能在Internet 上运行;②可以使Internet GIS及其部件与已有GIS的部件互操作,共享其资源;③ 可以使Internet GIS 的部件用任何一种语言实现,有助于实现Internet与GIS的完美结合。

2 基于互操作的分布式超图模型
  为了解决Internet GIS的异构数据源互操作和异构地理信息处理环境的互操作,笔者提出构造Internet GIS的模型,即分布式超图模型(DHM, distributed hypermap model),用超图概念来表达Internet GIS数据信息,如三维信息、四维信息、多尺度、元数据、数据目录等。以分布式超图模型为基础的Internet GIS基于多Client/Server体系结构,它由分布在Internet上的Web服务器、客户端、多JDBC数据获取服务器、多数据库服务器、名称服务器、分析服务器和GIS数据生产部门组成,见图 2。

0302.gif (6804 bytes)
图2 基于互操作性的InternetGIS体系结构
Fig .2 The Construction of  Interoperability-based Internet GIS

  对于现有的Internet GIS软件, 一般将其分为两类,即基于服务器的应用系统和基于客户机的应用系统[17]。基于服务器的Internet GIS依赖服务器完成GIS分析、输出工作。互联网浏览器上的用户每进行一个GIS操作,都需将请求通过互联网送给服务器。服务器接受此请求,进行处理,并将结果返回给用户。其优点是所有的操作、分析由服务器完成,因而客户端很小;同时,有利于充分利用服务器的资源,发挥服务器的最大潜力。但是,客户端的功能受到互联网浏览器和HTML的限制,JEPG和GIF是客户端操作的惟一形式。而且,它增加了互联网和服务器的负担,工作效率受到影响。对基于客户机的Internet GIS而言, 由客户机完成GIS分析、输出工作。GIS数据和分析工具最初放在服务器上,运行时下载到客户机,操作灵活。但与平台和操作系统相关,如Plug-in模式,不能直接使用服务器的资源,对于大型数据库管理的能力非常有限[12,26]

  基于分布式超图模型的Internet GIS,其基本的地理信息处理操作是在客户机上完成;同时,它又充分利用服务器的资源,将复杂空间分析、大型数据库管理等任务放在分布式的服务器上完成。因此,它既具有服务器端Internet GIS处理空间分析、大型数据库管理的能力,又具有客户机端的Internet GIS在用户端操作灵活方便的特征;既减轻了服务器和网络传输的负担,又充分利用了服务器和客户机的资源。在Internet上,客户端用户操作的是矢量图形,并增加了对GIS异构地理信息处理环境互操作处理和GIS异构地理信息数据互操作处理,实现Internet 和GIS的真正结合。使用Java 语言来构造分布式超图模型,实现Internet GIS与平台和操作系统无关性。

  在名称服务器和分析服务器上的地理信息处理分析,如缓冲区分析、叠置分析、资源分配等,既可以由已有的GIS功能完成,也可以由地理信息分析处理部件完成[7, 9],只要它们符合IIOP (internet inter ORB protocol) 协议。在遵循IIOP协议的前提下,实现对异构地理信息处理环境的互操作。

3 互操作性方法
3.1 CORBA 标准
  CORBA (common object request broker architecture) 是由 OMG(object management) 联盟发展的标准分布式对象结构。CORBA允许客户机与远程对象通讯,可动态或静态激活远程对象,而无需知道远程对象所在的位置和所使用的语言[6,16,18,19]。Java IDL (Java interface definition language) 是一种对象请求代理 (ORB, object request broker),与CORBA/IIOP规范一致,支持瞬时CORBA对象;Java IDL 以树目录结构组织对象,并提供瞬时名称服务[21]。Internet GIS采用Java IDL,对异构地理信息处理环境实现地理信息处理的互操作性。

3.2 IDL 设计
  IDL (interface definition language) 即接口定义语言,是用于定义CORBA对象接口的。在Internet GIS分析应用中,IDL应包含3部分内容:①声明CORBA IDL模块 (Module);②声明接口(Interface);③声明Internet GIS分析操作(Operations)。

3.3 分析服务流程
  Internet GIS 地理信息分析操作流程如图3所示。ORB为对象请求代理,负责连接提供的对象和对象所请求的服务;IIOP为对象请求代理之间的网络通讯协议。IIOP 是有OMG 定义的网络通讯协议,即CORBA规范。

  1) Internet GIS用户在Internet上调用分析服务器的地理信息处理操作GeoOperation( );
  2) ORB将此调用转换为IDL接口注册的服务对象;
  3) 服务的GeoOperation( )方法被激活运行,执行相应的地理信息处理操作,并返回结果;
  4) ORB将结果传给Internet GIS用户;
  5) Internet GIS用户获得分析服务器的操作结果,进行再处理,并将结果显示在图形上。

0303.gif (3208 bytes)
图3 Internat GIS 的操作流程
Fig .3 The Operation of Internet

3.4 客户机/服务器设计
  对于客户机端的设计,首先要创建ORB对象,执行对象请求代理之间的网络通讯协议IIOP,使IIOP处于工作状态;其次是用ORB对象定位相应的服务,寻找Internet GIS分析服务器;然后调用Internet GIS分析服务操作即GeoOperation( )方法; 最后通过ORB对象,获取分析服务操作结果,进行处理。

  对于服务器端的设计如下:① 与客户机端的设计相同,创建ORB对象,执行对象请求代理之间的网络通讯协议IIOP,使IIOP处于工作状态;② 管理服务对象,包括声明服务类型、声明所需服务方法、定义服务操作执行过程;③ 连接名称服务器,使服务对象操作可供客户机使用;④ 等待调用,服务器准备就绪,客户机一旦有服务请求,立即提供服务。

4 实例分析

  现以自行开发的Internet GIS-GeoSurf为例,说明Internet GIS异构地理信息处理环境互操作性方法的具体实现过程和运行结果。实例选用互联网浏览器为Netscape Communicator 4.05,提供Java 虚拟机,完全支持Java 1.1.x.。客户机机器域名/IP网址为Jlgis.geo.cuhk.edu.hk 或 137.189.169.162。GeoSurf运行时与平台和操作系统环境无关,不论是PC机还是工作站平台,是Windows环境还是UNIX 或Macintoch环境,只要有支持Java 1.1.x的Java 虚拟机或互联网浏览器即可。在此例中,客户机、分析服务器、名称服务器在Internet 不同的机器上,后两者的机器域名/IP网址均为137.189.168.221。分析服务器提供Internet GIS分析服务,如缓冲区分析、叠置分析、资源分配等服务功能;名称服务器提供名称、分析服务对象连接服务等。

  IDL声明了客户机可以获得的Internet GIS分析服务操作。此操作方法(GeoAnalysis)定义了缓冲区分析、叠置分析及资源分配等的名称、参数、结果和例证。Internet GIS分析服务操作符合CORBA标准。
  module GeoAnalysisApp
  {
   interface GeoAnalysis
   {
    string GeoOperation(in octet type, in string parameter);
   };
  };
其中,Type =0 为缓冲区分析;Type=1 为叠置分析;Type=2 为资源分配;Parameter 为缓冲区分析、 叠置分析、资源分配所需参数;返回值为缓冲区分析、叠置分析、资源分配的结果。
  Internet GIS分析服务操作是基于Java IDL实现的,其代码如下:
class GeoAnalysisServant extends-GeoAnalysisImplBase
{
  public String GeoOperation(byte Type, String Parameter)
{
  switch(Type){
  case 0x00: Buffer Analysis; break;
  case 0x01: Overlay Analysis; break;
  case 0x02: Resource Distribution; break;
  default: break;}
  return TypeMessage[Type];
 }
}
  Buffer Analysis, Overlay Analysis, Resource Distribution定义了传统GIS的操作方法,表示实际的缓冲区分析、 叠置分析、资源分配过程。这些分析由Internet GIS分析服务器完成或控制完成。

  客户机启动缓冲区分析操作;名称服务器获取缓冲区分析操作对象,并递交给分析服务器处理,结果返回给客户机。客户机对返回的结果进行再处理,并以适当的方式表现出来。在此例中,客户机列出了Internet GIS分析服务器信息,如端口号、域名(或IP地址)、返回结果等。

  Internet GIS 分析服务器得到来自客户机的信息,进行处理,并将处理结果返回给客户机。

  虽然在Internet GIS异构地理信息处理环境互操作性方法实验中实现了地理信息复杂的分析处理,如缓冲区分析、 叠置分析、资源分配等,但地理信息分析处理能力不强,有待进一步研究。Internet GIS的互操作性方法的研究,有助于使其走向成熟。

作者简介:袁相儒,男,30岁,博士生,现从事Internet GIS 研究。
作者单位:香港中文大学地理系和地球信息科学联合实验室,香港新界沙田

参考文献
1 Berson A. Client/Server Architecture (Second Edition). New York: McGraw-Hill, 1996
2 Bisher Y. Overcoming the Semantic and Other Barriers to GIS Interoperability. International Journal of Geographic Information Science, 1998,12(4): 299~314
3 Bishr Y A, Molenaar M, Radwan M M. Spatial Heterogeneity of Federated GIS in a Client/Server Architecture. In: Proceedings of GIS96. Canada: Vancouver, 1996
4 Dewire D T. Second Generation Client/Server Computing. New York: McGraw-Hill, 1997
5 Gardels K. The Open GIS Approach to Distributed Geodata and Geoprocessing. In: Proceedings, Third International Conference/Workshop on Integrating GIS and Environmental Modeling, Santa Fe, NM, January 21~25, 1996.
6 Gokhale A S, Schmidt D C. Evaluating CORBA Latency and Scalability Over High-speed ATM Networks. In: 17th International Conference on Distributed Computing Systems. Los Alamitos, California: IEEE Computer Society Press, 1997
7 Lau C. Object-oriented Programming Using SOM and DSOM. New York: John Wiley & Sons, Inc., 1996
8 Lennon J A. Hypermedia Systems and Applications: World Wide Web and Beyond. New York: Springer, 1997
9 Najm E, Stefani J B. Formal Methods for Open Object-based Distributed System. London: Chapman & Hall, 1997
10 Laurini R. Spatial Multi-database Topological Continuity and Indexing: A Step Towards Seamless GIS Data Interoperability. International Journal of Geographic Information Science, 1998, 12 (4): 353~372
11 Laurini R. Sharing Geographic Information in Distributed Database. In: Proceedings of Conference on Urban and Regional Information Systems Association. Washington D C: Urban and Regional Information Systems Association, 1994. 441~454
12 Limp W F. Weave Maps Across the Web. GIS World, 1997, 10(9): 46~55
13 NCGIA. International Conference and Workshop on Interoperating Geographic Information Systems-interop 97, 1997
14 OGC. Open GIS Consortium. The OpenGIS Guide, 1998
15 OGC. Open GIS Consortium. The OpenGIS Abstract Specification: An Object Model for Interoperable Geoprocessing, Revision 1, 1996
16 OMG. The Common Object Request Broker: Architecture and Specification, Object Management INC, 1996
17 Peng Z. An Assessment of Internet GIS. Department of Urban Planning, University of Wisconsin-milwaukee, USA, 1998
18 Sheu G W, Chang Y S. A Fault-tolerant Object Service on CORBA. In: 17th International Conference on Distributed Computing Systems. Los Alamitos, California: IEEE Computer Society Press, 1997
19 Spaniol O, Linnhoff-popien C. Trends in Distributed Systems CORBA and Beyond. International Workshop TreDS96, Berlin: Springer, 1996
20 Strand E J. Vector Maps Weave Their Way Across the Web. GIS World, 1996, 12(9)
21 SUN. Using CORBA and Java IDL, 1998
22 UCGIS. Interoperability of Geographic Information, 1998
23 Varhol P. Evaluating Server Technology for Internet and Intranet Application. South Carolina: Computer Technology Research Corp, 1997
24 Wilson J D. Interoperability, Open the GIS Cocoon. GIS World, 1998, 11(3)
25 袁相儒,龚健雅,陈莉丽,等.多种数据源地理信息处理的 Internet GIS 方法.武汉测绘科技大学学报,1999,24 (1):11~14
26 Yuan X R. The Method to Construct Internet GIS. Journal of Remote Sensing, 1998b

原创粉丝点击