地理信息系统空间数据模型的发展

李宗华    彭明军


      摘  要  本文对传统的地理信息系统的矢量数据模型、90年代发展起来的空间实体模型+空间索引数据模型以及空间数据与关系数据库集成的数据模型的结构特点与实现方法进行了论述,对空间数据与关系数据库以及空间数据与面向对象的关系数据库集成的最新进展和发展趋势作了分析。
      关键字  地理信息系统,空间数据模型,空间索引,数据集成


       一、传统地理信息系统的矢量数据模型
  
      地理信息系统技术是伴随着计算机制图技术的发展而发展起来的,计算机与地图学的结合产生了计算机制图技术,计算机制图技术在地学领域的应用导致了地理信息系统的产生和发展,这正如陈述彭先生所指出,地理信息系统脱胎于计算机制图。
      1963年加拿大测量学家R.T.Tomlinson提出地理信息系统(GIS)并建立世界上第一个GIS—加拿大地理信息系统(CGIS),至今已有30多年的历史。GIS发展至80年代,技术逐渐成熟,GIS在许多部门得到应用。这期间流行的大多数GIS软件基于UNIX操作系统,采用Georelational(地理—关系)模式,将图形数据(空间数据)与属性数据分开来管理。
      空间数据的管理基本上是基于文件方式。属性数据是通过关系型数据库进行管理的,通过链接公共的标识号(ID)将图形与相应的属性链接在一起,从而进行图形—属性的双向查询、分析等。如ESRI公司的ARC/INFO、INTRGRAPH公司的MGE等。
      INTERGRAPH的MGE(Module GIS Environment),是在 Microstation的基础上,加上一些模块软件,实现图形与属性数据的连接、拓扑模型的建立,以及相应的GIS空间分析、数据管理、制图输出等功能。还有一些模块则用于图像栅格数据与图形矢量数据的分别和混合处理等。
      ARC/INFO建立了ARC图形文件和INFO属性数据库的图形——属性数据的链接管理,实现了GIS的各种查询、分析、管理,以及栅格、矢量数据分别和混合处理。
      这一时期的GIS软件,基本都采用了由美国计算机图形与空间分析实验室(Laboratory  for Computer Graphics and Spatial Analysis)研制的矢量数据结构POLYVRT(POLYgon conVeRTor—多边形转换器),是一种以弧段(ARC)为基础的拓扑数据模型。它是当今各种空间数据结构的基本框架。实现这类空间数据模型的系统,主要是以ARC/INFO、MGE、GENAMAP为代表的一些专业GIS产品。
      这种数据结构的基本元素称为“弧段”或者“链段”。弧段在两端有结点,并伴有共享该段的左、右两多边形的编码。弧段可由任意多各点构成,在POLYVRT模型中,多边形也是由弧段组成的,每个多边形是通过建立了一个环绕边界的弧段目录表来生成的。这种结构不仅存储了空间对象的几何信息,而且还存储了空间对象(多边形、弧段和点)之间的拓扑关系。
      这种结构的特点是,除结点外,每个空间对象都是由更基本的对象组成的。只有点的坐标是被实际存储的,其他复杂空间对象的坐标信息实际上是逻辑构成的。任一复杂对象能分解为一组结点及其拓扑关系的定义。这样,一个图层中存储的全部坐标信息就是结点的坐标,建立其他对象只是建立对这些坐标的引用。
      因此,要建立除结点外的其他对象,就必须建立“引用关系”,即其拓扑关系。拓扑关系是显式存储在“特征表(Feature Attribute Table)”中的。而且,必须将此特征表填写完整,才能进行正确的拓扑关系运算。因此,要建立上述的数据结构,就必须要同时建立“特征表”。“特征表” 的建立,一般是通过系统建立拓扑关系时由系统自动分析图形,并填写特征表。在进行拓扑关系运算时,通过现有的特征表,系统就可以进行空间查询和空间分析。
      拓扑数据模型中,另一个著名的模型是DIME模型(Dual Independent Map Model—双重独立地图编码模型),DIME与POLYVRT模型的区别在于对用以描述多边形之间关系并作为关系文件记录的基本单元的边的不同选择。DIME模型是以两个数据点之间的边界(拓扑模型中一般称为“段”—Segment)为关系描述和记录的基本单元,而POLYVRT模型则以两个结点之间的一段边(拓扑模型中一般称为“链”—Chain)为基本单元,从而压缩数据量,提高系统的运行速度和效率。DIME与POLYVRT模型的共同点在于二者都是以线性要素(段或链)作为存储记录结点之间、链间以及多边形间相互关系的基本单元。
      这一时期的GIS软件,操作复杂,使用不方便,主要是面对专业人员。


      二、空间实体模型+空间索引


      80—90年代,由于DOS和Windows,WindowsNT逐渐成为主流的PC计算机的操作系统,同时由于社会对GIS应用需求的增加,GIS技术几乎作为一种通用的地理信息技术工具,被广泛地利用。许多GIS软件厂商都开发了基于Winodws95/NT平台的GIS软件,如MAPINFO公司的Mapinfo Professional和ESRI公司的ArcView等。这些软件简单实用,易于掌握,功能较强,普通用户不必具有专业知识,就能实现常用的GIS空间分析功能。
这些桌面型的GIS软件,都采用了一种叫“空间实体模型+空间索引”的新型数据模型。这种数据模型的基础是“空间实体”。空间实体是对地理实体的抽象,主要包括点、线、面三种基本类型。与前面介绍的传统方法不同,每个空间实体对象都是自包含的。也就是说,每个对象都维护了自己的所有属性。下图表示空间实体的通用结构。



     任一空间实体(feature),都是由一个或多个“部分(parts)”组成的(这就可以表示有“岛”的多边形或多段的折线),“部分”是由“点集”组成的,“点集”是若干结点的集合。这样,在一个实体对象内部,存储了其全部坐标信息(通过点坐标)和构成结构(通过点集和部分的排列顺序和特性说明),这也就完成了对其自身的拓扑模型的建立。Feature对象的其他属性,说明了此对象的类型、样式等信息。一个图层是由多个空间实体组成的。由于每个空间实体都是自包含的,因此没有必要建立“特征表”来建立对象到结点的引用关系。空间查询是采用空间索引技术实现的。空间对象的索引,目的是要对给定的二维坐标,快速找到此坐标范围内的空间对象。目前,很多系统采用了R—Tree技术。R—Tree将各空间实体的MBR(Minimum Boundary Rectangle—最小外接矩形)存储在索引中,并按从大到小的范围进行索引搜索。这样,能根据给定的坐标进行空间定位、空间分析等操作。
      比如,要查询在某多边形区域范围内的所有点,则可通过空间索引,定位出此多边形区域的MBR,利用此MBR对其内部的点进一步求精,剔除区域外的点(判断点是否在多边形内是典型的拓扑运算)即可得到结果。
      通过空间索引技术,用户不需建立复杂的“特征表”,就能方便地进行空间查询和分析,实现各种拓扑分析功能。与POLYVRT数据模型相比,在易用性上,这确实是一大进步。
空间索引技术实际上实现了一种动态的“拓扑关系”机制。只有在需要时,系统才根据空间索引,建立并使用实体间的拓扑关系,这可以说是一种“隐式”的拓扑关系。
      POLYVRT模型与空间实体模型的区别,主要在于如何定义复杂空间对象(非简单点的空间对象)以及如何定义空间对象之间的关系。
      POLYVRT模型中,复杂空间对象是由对结点的引用构成的。其优点是多个不同的对象可以共用相同的结点,能节省存储空间,而且拓扑关系是显式地存储在数据中,因此进行空间分析的速度很快。但这种数据结构复杂,数据修改后,其原来的拓扑关系被破坏,必须重建拓扑关系才能进行空间分析。
      空间实体模型中,复杂空间对象的结点是存储在实体对象内部的,因此,会造成公共结点的重复存储,产生冗余。但是这种数据模型无须维护每个实体内部的拓扑关系,数据编辑修改后,不需任何其他处理,就可立即用于空间分析。
   
      三、空间数据与关系数据库管理系统(RDBMS)的集成


      GIS的发展与计算机信息技术的发展是紧密结合的。当今计算机领域内非常热门的技术—客户/服务器(Client/Server)体系、互联网络(Internet/Intranet),面向对象(Object Oriented)技术的发展,都对传统的GIS技术产生了极大的影响, GIS面临着全新的发展、革命性的变化。传统的地理信息系统大多是独立的单机系统,网络在地理信息系统领域的应用主要是限于传输空间数据。在这种模式下,GIS空间数据以文件方式存放在服务器上,通过提供文件共享和目录映射来提供网络访问能力,这种方式由于使用网络底层进行通讯,文件的安全性不容易控制,而且效率较低,容易引起共享冲突。
      客户/服务器技术体系经过了十年的发展,已经日趋成熟。这种体系将数据存储于服务器端,由服务器来管理,客户端则不必存储数据,它通过网络向服务器端发送服务请求,服务器接受请求并进行计算处理,然后将结果通过网络返回客户端,由客户端解释处理结果。这种模式解决了多用户能很好协同工作的问题,对GIS非常适合。一个大的GIS系统,往往包含海量数据,由服务器端来存储及维护这些数据,并控制对这些数据的访问及修改,而客户端只有在需要这些数据并得到授权的情况下才能从服务器获得相应的数据。传统的GIS将空间数据或属性数据保存在一个个的磁盘文件中,对空间数据无法实现真正的客户/服务器方式。
      客户/服务器系统主要是从数据库系统发展起来的,而当今主流数据库仍然是关系模型数据库,传统的关系数据库在处理空间数据上遇到了很大的问题,使得空间数据库在一段时间内未能获得突破。为此,人们对传统的关系型数据库进行了扩展,同时随着面向对象数据库技术及数据库索引技术的发展,各大GIS软件厂商纷纷与数据库厂商结盟,来合作开发空间关系数据库并推出了各种产品,典型的有:Intergraph公司与ORACLE结成技术联盟,由ORACLE的SDO(Spatial Data Option)提供综合空间数据(图形和属性)的管理和存储服务,ORACLE SC(Spatial Cartridge)进行空间数据的查询和处理。INTERGRAPH公司宣布其新产品均将接受这种数据存储方式,并在其新的GIS产品GeoMedia中实现了对ORACLE SDO数据的操作,GeoMedia的本地数据则使用Microsoft Access数据库的MDB数据库格式,将空间数据和属性数据全部存放在Access数据库中;ESRI推出了SDE(Spatial Data Engine)、MAPINFO公司推出了Spatial Ware。这些产品的推出才使得对空间数据的操作变成真正的客户/服务器方式。除了地理(空间)数据服务器,各家公司还推出了新的客户端的产品。下面以SDE为例简要介绍空间数据与关系数据库集成的新型的面向客户/服务器体系模式的空间数据模型。
      SDE对空间数据的存储,是通过将空间数据加到关系数据库中来实现的。SDE在现有的数据库中加入图形数据项(Shape column),供软件管理和访问与其相关联的空间数据。SDE将空间数据和空间索引存放在不同的数据表中,通过关键项进行关联。SDE中将空间数据项加到数据库表后的表称为空间可用表(Spatial enabled),SDE通过将信息存入层表(Layers table)来管理空间可用表。层表用于管理数据库表和空间数据之间的连接。
S      DE中的地理要素分为点、线、面,对这些要素的存储是通过记录其X,Y坐标来实现的,也就是说,公共点的坐标是重复存储的。
      SDE中有一个专门用于对空间数据进行分析查询的SQL分析器,当客户端用户发出的请求是对空间数据的,则由SDE的SQL分析器提取空间数据,完成相应的处理后发送到客户端,如果请求是对非空间数据的,则由关系数据库系统进行处理。SDE数据的访问方法同访问关系数据库的方法大致相同:连接SDE数据库;定义SQL查询(QueryDef);执行查询提取记录(RecordSet);循环访问记录集中的每一条记录。
   
      四、结束语
   
      地理信息系统的矢量数据模型经历了从POLYVRT拓扑数据模型到空间实体模型+空间索引数据模型,再到空间数据与关系数据库集成的数据模型的发展过程,GIS软件也从传统的单机模式发展到客户/服务器体系模式。现在,空间数据与关系数据库集成的数据模型也正在逐步地完善。现阶段,空间数据与关系数据库的集成是在关系数据库的基础上进行扩展,空间应用系统尚未真正与关系数据库核心集成,因为关系数据库必须要支持两个SQL分析器和两个查询优化器。这两个SQL分析器和两个查询优化器一个用于处理空间数据,一个用于处理关系数据库中的数据。
      目前,将空间数据与面向对象的关系数据库(如Informix Universal Server以及IBM  DB2 Universal Database)进行集成的研究已经开始,为使空间应用系统真正与关系数据库核心集成在一起,删除这些专用的空间SQL分析器和优化器,面向对象的关系数据库将提供一组API,这些API允许开发人员为数据库定义额外的数据类型、功能以及数据访问方式,扩展数据库对空间数据的操作性能(如空间应用系统中的空间数据操作)。在这些空间应用系统中,仅存在一个SQL语句、一个分析器和一个优化器。面向对象的关系数据库对分析器功能进行了扩展,并制定了一套优化程序,包括如何存储、索引、访问和操作这些新的数据类型。这样使得体系结构大为简化,并大大提高了系统的运行性能。IBM和ESRI已经在这方面展开合作,在IBM的面向对象的关系数据库系统DB2基础上基于开放式地理信息系统协会(Open GIS Consortium—OGC)的开放式地理信息系统SQL简单要素规范(Open GIS Simple Features Specification for SQL)开发DB2 Spatial Extender(又命名为DB2 DataJoiner)。这样,空间应用系统将真正与面向对象的关系数据库核心集成在一起,实现对空间数据的全面管理。
      (本文载《中国地理信息系统协会第五届年会论文集》,1999年8月,深圳)



参考文献


      1 龚健雅.当代GIS的若干理论与技术.武汉测绘科技大学出版社,1998
      2 杨德麟等.地理信息系统现状和发展趋势.中国地理信息系统协会1998年年会论文集
      3 MapInfo应用集锦.MapInfo中国有限公司,1998
      4 ARC News.Vol.20 No.2,1998