论文:GIS概念数据模型的分析研究及行业应用

论文:GIS概念数据模型的分析研究及行业应用

(①中国科学院遥感应用研究所, 北京市安外大屯路甲11号,100101)
(②中国科学院地理信息产业发展中心,北京市安外大屯路3号,100101)
(③中国科学院地理科学与资源研究所,北京市安外大屯路3号,100101)

[摘要]
GIS的概念数据模型直接反映了人们对于客观世界的理解,本文分析和总结了早期和近期几种GIS数据模型的特点,并对GIS表达的地理空间进行了重新理解,在此基础上提出了整体GIS数据模型设计的几个要点,并给出了一个简要的整体GIS数据模型。

[关键词]
拓扑关系 层 地理空间 整体数据模型

1.引言
GIS作为一种信息系统,是以现实世界为研究目标,以计算机内部的二进制数字世界作为存储载体的。它将人们对于客观世界的理解,经过一系列处理后变成数字形式存于计算机中。现实世界极其复杂,一方面人们希望GIS包含充足的数据,另一方面又期望从中能方便地选择所需要的相关数据而撇开其它兴趣不大的数据[1]。

这就要求人们以一种高效的数据组织方式,将两方面的要求兼顾,既尽可能地包含信息(包括对未来潜在有用的信息),又要能方便快速选取。在这其中,人们对于客观世界的理解及其表达——GIS的数据模型(概念、逻辑和物理数据模型)起着至关重要的作用。从现实世界到计算机系统,人们首先要做的是概念数据模型的建立。概念数据模型反映了人们对现实世界的认知与理解,是从现实世界到人们大脑世界的映射,对后期GIS的建设起着先导性的作用。概念数据模型不依赖于具体的计算机硬件和软件,是对客观世界的一种抽象的组织和表达。

为了建立尽可能准确地反映现实世界的概念数据模型,本文首先回顾与分析传统GIS在模拟地理空间时采用的概念数据模型的弊端,然后重新理解什么是地理空间,分析地理空间的各种本质特征,最后提出了新型GIS数据模型应该重视的几个具体执行要点。

2.两种典型的GIS数据模型

2.1拓扑关系数据模型
早期的商品化GIS软件大都采用了以“结点---弧段---多边形”拓扑关系为基础的数据模型,我们称这种数据模型为拓扑关系数据模型。在拓扑数据模型的基础上,一些软件将空间数据和属性数据分开存放,如8.0版以前的Arc/Info将位置坐标数据存放在文件系统中,而将拓扑属性和其它属性存放在关系数据库系统的二维表格中;另一些软件将坐标数据和属性数据统一存放在关系数据库的各种表格中,一条记录对应一个点、线或面类型的几何要素(不一定为完整独立的地理要素)。

拓扑关系数据模型以拓扑关系为基础组织和存储各个几何要素,其特点是以点、线、面间的拓扑连接关系为中心,它们的坐标存贮具有依赖关系。该模型的主要优点是数据结构紧凑,拓扑关系明晰,系统中预先存储的拓扑关系可以有效提高系统在拓扑查询和网络分析方面的效率,但也有不足:

对单个地理实体的操作效率不高。由于拓扑数据模型面向的是整个空间区域,强调的是各几何要素之间的连接关系,在另一方面对具有完整、独立意义的地理实体作为个体存在的事实没有足够的重视,因此增加、删除、修改某一地理实体时,将会牵涉到一系列文件和关系数据库表格,这样不仅使程序管理工作变得复杂,而且会降低系统的执行效率。

难以表达复杂的地理实体。由于拓扑关系组织的要求,一个完整的简单实体在拓扑关系模型中有时需要被分解为多个几何要素(比如一条公路本是一个完整的实体,但为了记录其拓扑邻接信息,只有对其在与其它公路实体邻接的地方进行分段,这样一个完整的实体就被分成多个几何要素。所有的实体都进行如此处理,所以我们说拓扑数据模型是面向整个区域、面向不被分割的几何要素的,而不是面向用户眼中的地理实体)。复杂地理实体由多个简单实体组合而成,自然也常常被分解,拓扑数据模型的整体组织特性注定了它不可能有效地表达这一由多个独立实体构成的有机集合体。

难以实现快速查询和复杂的空间分析。由于在拓扑数据模型中,地理实体被分解为点、线、面基本几何要素存储在不同的文件和关系表中,因而凡涉及到独立地理实体的操作、查询和分析都将花费较多的CPU时间,在大区域的复杂空间分析方面表现尤为明显。
局部更新困难,系统难于维护与扩充。由于地理空间的数据组织和存储是以基本几何要素(点、弧段和多边形)为单元进行的,系统中存储的复杂拓扑关系是GIS工作的数据基础,当局部一些实体发生变动时,整层拓扑关系将不得不随之重建,这样的系统牵一发而动全身,在维护和扩充方面需要更多的精力,并且容易出错。

值得说明的是,拓扑关系数据模型也能以面向对象的方式实现,但此时面向的对象是不被其它要素从中间分割的几何要素,往往是一个独立地理实体的一部分,而不是一个完整的、独立的地理实体。这一点是拓扑关系数据模型与下一节面向实体数据模型本质不同的重要表现之一。

2.2 面向实体的数据模型

这里称为“面向实体”,是为了强调这种数据模型是以单个空间地理实体为数据组织和存储的基本单位的。
与上述拓扑模型相反,该模型以独立、完整、具有地理意义的实体为基本单位对地理空间进行表达。在具体组织和存储时,可将实体的坐标数据和属性数据(如建立了部分拓扑,拓扑关系也放在表中保存)分别存放在文件系统和关系数据库中,也可以将二者统一存放在关系数据库中(可以将坐标数据和属性数据放在同一个表中,也可以将二者分成两个表,ESRI公司SDE的存贮模式是分成四个表格,它还增加了一个Layers表和一个空间索引表。Layers表位于服务器端,用于层的管理和维护;空间索引表(服务器端)采用网格索引,用于实体的快速搜索)。
面向实体的数据模型在具体实现时采用的是完全面向对象的软件开发方法,每个对象(独立的地理实体)不仅具有自己独立的属性(含坐标数据),而且具有自己的行为(操作),能够自己完成一些操作。虽然面向实体的数据模型在内部组织上可以按照拓扑关系进行,但是作者这里所说的模型强调对象的坐标存贮之间(尤其是面与线的坐标存贮)不具有依赖关系,这是它与拓扑关系模型的本质不同点。该模型能够很好地克服拓扑关系数据模型的几个缺点,具有实体管理、修改方便,查询检索、空间分析容易的优点,更重要的是它能够方便地构造用户需要的任何复杂地理实体,而且这种模式符合人们看待客观世界的思维习惯,便于用户理解和接受。同时,面向实体的数据模型自然地具有系统维护和扩充方便的优点。

这种模型是当今流行GIS软件采用的最新数据模型,但也有一些缺点:

拓扑关系需临时构建。由于面向实体的数据模型是以地理实体为中心的,并未以拓扑关系为基础组织、存储地理实体,表达地理空间,因此拓扑关系并不是一开始就存在,而是在需要时才临时导出各种拓扑关系,这需要消耗一定的系统资源。也许有观点认为,以实体为单位组织数据时,也可以将拓扑关系一开始就保存在实体的属性表中,拓扑关系并不一定是临时构建出来的。但仔细分析便可发现,这种方案对由多个几何要素组成的实体(如一条组成要素不同的河流)不可行,因为拓扑关系不能有效准确地记录。实际上这种方案只对由一个几何要素组成的实体适用,但其本质上仍是拓扑关系数据模型,其缺点表征与上面2.1节描述的完全相同,因而不是真正的面向实体数据模型。

动态分段、网络分析效率降低。在结点---弧段---多边形拓扑关系链中,显式的拓扑表有四个:结点---弧段表,弧段---结点表,弧段---多边形表和多边形---弧段表。有了这四个关系表,我们就能直接查找任意结点、弧段和多边形的拓扑属性,便于进行动态分段和网络分析等其它与拓扑关系有关的拓扑分析,基于拓扑数据模型的GIS可以很方便地做到这一点。但由于将四个拓扑表全部存贮会使系统的空间开销成倍增大,因此一些软件只存贮其中2个(如早期的System 9版本)或将弧段—结点、弧段—多边形表合二为一(Arc/Info 8.0以前版本),被隐含的表可由显示存在的表导出。即便这样,基于拓扑数据模型的GIS在涉及拓扑关系的查询和分析上仍然有较高的效率,而面向实体的数据模型由于要根据需要临时构建拓扑关系,自然会使拓扑查询和分析的效率降低。当然构建好的拓扑关系可存放起来,供以后使用。

实体间的公共点和公共边重复存贮。由于面向实体的数据模型是以地理实体为基本单位进行数据组织和空间表达的,对每一个地理实体都进行完整存贮(存贮到点一级),在存贮坐标时是各对象独立存贮,不再依赖其它对象,那么就必然会导致实体间共有的公共点和公共边重复存贮。

难以将管理、分析和处理定位到几何要素一级。几何要素是指点、弧段和多边形等简单图形,有时构成同一实体的各个几何要素之属性差别较大(例如组成一块宗地的各边之面积不一样,某一交通闭合环路的组成道路类型不一样等),需要在地理实体的下一级---几何要素一级上进行处理,拓扑数据模型可以直接进行处理,而面向实体的数据模型则需要首先对相关地理实体进行定位、分解,因而降低系统在这方面的性能。从本质上分析,我们不难得到,由于该种模型认为组成同一实体的几何要素之属性相同,因而忽略了几何要素间的属性差异,从而导致在系统存贮和处理机制上难以定位到几何要素一级。

难以实现跨图层的拓扑查询和分析。如果这个问题放在拓扑关系模型中,则比较容易解决,因为各个要素的邻接要素已事先存在,不仅已经是分层的,而且具有实际的地理属性,因此只要顺藤摸瓜查找邻接要素并取得其地理属性即可。但对于面向实体的数据模型,则不能有效地解决,因为临时生成拓扑关系时其中的几何要素一般属于同一层,不可能自动生成跨图层的地理属性,必须做进一步的处理方才有可能解决。显然,这种方法的效率不高。

2.3 两种模型的共有缺点

2.3.1 两种模型中的层不能很好地满足客观世界的整体特征要求

早期的GIS和现在流行的GIS都是将地理特征表达为带有分类属性的几何对象,然后以层(Layer)为概念组织、存储、修改和显示它们,分层几乎成了GIS的一个必不可少的基本特征。

GIS的分层思想给我们在地理对象的管理上带来了极大的方便,在实际应用中已广为开发者和使用者接受。但是,在真实的客观世界中,用户感知到的地理现实世界是一个个地理实体,如道路、建筑、山和种族移民区域等,而不是数据层,所设计的数据模型应该能直接反映这种感知[2]。我们知道,分层概念是根据人们已有的认识和经验对客观世界进行硬性分割的,也许能够较好地满足一时的要求,但很难保证未来新的应用提出的新要求能得到有效的满足。因此,为一种目的进行的分层体系很难满足另外其它的目的,从而使系统的通用性降低。而且分层概念使得本来联系紧密的地物分开存贮,复合操作和分析时效率低下。

总之,GIS中的叠置分层概念根据僵硬的边界将现实世界划分为一系列的覆盖层,这些分类并不能完全充分地反映现实世界。与照片比较起来,其信息损失很明显[3]。但分层对GIS的数据组织和信息提取都很有帮助,如何解决这一矛盾,还需要进一步思考,下文的整体数据模型也将对此讨论。

2.3.2 忽视地理实体之间的语义关系

传统GIS主要侧重表达地理特征的几何成分,其语义关系和内部关系往往被忽视,这一缺陷大大影响了GIS的空间分析能力[3]。这就使建成的GIS成了功能层次较低的空间数据存贮和管理系统,难以进行较高层次的空间分析和直接提出决策方案。笔者以为,语义关系的忽视实际上是对一部分地理现象规律的忽视。因为,所有的地理空间实体都分布在一定的地理系统中,其地理性质的相互关系形成了空间的分布、形式、结构和规律等方面的内涵[4]。所以,对于相互关系(包括语义关系)的忽视自然是对地理本质规律的忽视。

另外一点是,现实世界里有一些对象虽然在空间上并不相关,但它们在实际生产和生活中具有很强的联系,部分是因为人的活动使它们具有了紧密的逻辑联系,如居民区与飞机场、研究所与野外试验场等。忽视语义关系会使我们在已有的认知水平上对原本为有机整体的地理世界进行僵硬的分割,从而导致基于这种认识的GIS在复杂的、深层次的空间分析上显得被动。

2.3.3 传统数据模型不足以表达一些较特殊的地理现象

传统数据模型不足以表达一些较特殊的地理现象,模糊对象和不确定对象的表达没有被足够的重视(传统GIS用二值逻辑来处理大多数问题),它用两种相反的地理数据模型来模拟自然现象:精确的对象模型和连续的场模型[5],也有人分别称它们为基于对象的模型和基于域的模型[6] [4]。精确的对象模型有明确的空间边界、拓扑关系和明确定义的属性集,连续的场现象被认为是连续的场,常常用在时空域连续变化的光滑数学表面来表达。这两种模型是对现实世界的两种极端抽象。许多研究表明,被制成图的土壤单元的内部属性不一定均一,不同的土壤单元之间、地质单元之间和植被单元之间常没有明晰的不模糊的边界。也有研究表明,被制成图的连续的场有时被突然的不连续中断[5]。这些都说明,传统的精确对象模型和连续的场模型在地学表达上并不充足,从而可能导致信息损失。

3 理解地理空间

GIS在模拟空间过程和空间相互作用等空间信息时显得力不从心,最为根本的原因在于GIS现有的数据模型缺乏对地理空间的真正描述[7]。另外,空间分析是GIS区别于其它一切系统的独特功能,GIS处理的基础是地理空间。由于“地理空间”概念的理解将直接渗透到GIS的数据模型和空间分析处理中,因此对地理空间的概念有一个较为深入的研究和理解是完全必要的。

3.1 地理空间

笔者认为,由于地理学是研究地球表层空间分布规律的科学,因此地理学的空间是一个定义在地球表层目标集上的关系。在目标之间有无数种关系,物理距离只是这些关系中的一种度量;定义一种关系就自然定义了一种空间,而这个空间又是和几何关系联系在一起的。并且,几何关系是所有这些关系中的基础关系。也许正因为如此,今天大多数的GIS都强调空间位置和拓扑关系。也就是说,地理空间是一个相对空间,是一个目标组合排列集(这些目标具有精确的空间位置),强调宏观的空间分布和目标间的相关关系(关系以各单个地理目标为联结的结点或载体)。拓扑关系是其中的一种,同时地理空间若想精确定位于地球上,还必须承认它有欧氏空间基础,有相对于地球坐标系的绝对位置。这样,通过地理空间和欧氏空间的统一,将地理现象的宏观特性和空间位置的精确特征紧密有机地联系在一起。其中,宏观特性主要体现在地理对象之间的拓扑关系与非拓扑关系(通过数据模型体现)上,其载体则是具有精确位置、起着联结结点作用的那些单个地理空间对象(通过单对象的数据结构体现)。

3.2 地理空间的三维特征

地理空间在本质上就是三维的。在过去的几十年里,二维制图和GIS的迅猛发展和广泛应用使得不同领域的人们大都无意识地接受了将三维现实世界、地理空间简化为二维投影的概念数据模型。应用的深入和实践的需要渐渐暴露出二维GIS简化世界和空间的缺陷,现在GIS的研究人员和开发者们不得不重新思考地理空间的三维本质特征及在三维空间概念数据模型下的一系列处理方法。若从三维GIS的角度出发考虑,地理空间应有如下不同于二维空间的三维特征:

几何坐标上增加了第三维信息,即垂向坐标信息;

垂向坐标信息的增加导致空间拓扑关系的复杂化,其中突出的一点是无论0维、1维、2维还是3维对象,在垂向上都具有复杂的空间拓扑关系;如果说二维拓扑关系是在平面上呈圆状发散伸展的话,那么三维拓扑关系则是在三维空间中呈球状向无穷维方向伸展;

三维地理空间中的三维对象还具有丰富的内部信息(如属性分布、结构形式等)。

3.3 地理空间的多尺度特征与时变特征

事实上,上面所说的地理空间隐含了一个空间尺度概念。如果GIS涉及到的地理空间强调宏观的整体结构研究及粗略的拓扑关系,那么,这个隐含的尺度是一个大尺度,反之,若应用目的强调绝对位置及精确的拓扑关系,那么这个尺度就是一个小尺度。在地理时间尺度上也是如此。地理空间尺度、范围、时间尺度、时间范围均是与具体研究的地理区域系统的地学问题有关。不同的地学问题有不同的地理空间和地理时间[8]。因此,在GIS中可能需要两种坐标空间,一种是位置及拓扑相对精确的空间(简称精确空间);一种是着重关注宏观地理现象的精略的空间(简称粗略空间),这意味着作为基础的精确底层地理数据库应该有派生多种比例尺数据的能力,这样就为GIS根据不同的需要进行多尺度分析打下了基础。

4 强调整体特征的面向实体模型---面向对象的整体数据模型

上一节对地理空间概念的理解,告诉我们只有用面向对象的方法表达地理世界,才能使做出来的GIS符合人的思维习惯,因此这里的整体数据模型并不是对上面“面向实体的数据模型”的否定,而是在它基础之上的进一步发展,两种模型可以认为是统一的。面向对象的整体数据模型除了具有面向实体模型的优点,能够很好地克服拓扑关系模型的缺点外,还具有自己独有的特征。它不仅要求我们将地理世界以实体为单位进行组织,而且要求我们将客观世界作为一个整体看待,即每一个实体不仅具有空间位置属性和空间上的联系,更重要的是它与其它实体还具有逻辑上的语义联系,另外它还具有时间属性。具体说来,面向对象的整体数据模型有下面几个要点:

将地理空间按照人的思维方式理解为基于目标的空间,地理空间是一个定义在地球表层目标集上的关系;

从整体论的角度出发考虑地理空间,除了要研究对象的几何位置及拓扑关系外,还要重视研究对象间的语义关系,时间、属性、空间三种属性在对象里处于并列或同等重要的地位;我们可以把整体数据模型中的地理实体称作“特征”,这里的特征概念强调其与其它特征的有机联系(时间、空间和语义上的关系),是整体中的一分子。

整体数据模型虽然要求我们将客观世界作为整体看待,但在执行具体的数据组织时也需要对众多的地理实体进行分层。分层是基本的和必要的,但由于为一种目的进行的分层很难满足另外的需求,因此重要的不是提供一种通用的分层,而是对方便地加入、删除对象等维护层的操作予以足够的支持。复合图层含有不按对象维数分层的含义,能够很好地体现客观世界的整体特征,为不同层中的关联对象或用户感兴趣的不同类型对象提供了一个集中存贮与交互的独立空间,整体数据模型尤其应该增强复合图层的功能,使用户能够自由地加入、删除、修改、查询任意类型(点、线、面和复杂实体)的地理实体,同时能够进行强大的空间分析;

虽然传统的GIS数据模型常将基于对象的模型用矢量结构表达,而将基于场的模型用栅格结构表达[5][9],其实可将对象和连续场这两种看似对立的模型统一在特征和特征集合的概念中,也可将不确定性与模糊性归属在特征的属性集中。面向对象的方法作为一种框架不仅可以描述基于对象的模型,也可以描述基于场的模型[9][10];作者建议,在实现上可构建场对象,场对象的内部结构与一般的实体对象有较大不同。一个场是一个对象,其中的元素都具有相同属性,分布上也是紧密关联。对场的查询实质上是对场对象的查询,因为对其内部元素进行查询的意义不大。

空间对象是处在三维空间中的,并具有多尺度特征。

 

5 结束语

数据模型是GIS的灵魂和关键,为了使开发出的GIS尽可能准确地反映地理空间,能够较好地满足GIS用户各方面的需要,本文分析和总结了早期和近期GIS几种数据模型的优缺点,并对地理空间进行了重新理解,在此基础上提出了整体GIS数据模型设计的几个要点,并给出了一个简要的数据模型。