GIS 概念数据模型的研究

肖乐斌,钟耳顺,刘纪远,宋关福

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

论文来源:《武汉大学学报·信息科学版》 第26卷 第5期

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

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

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

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

1  两种典型的 GIS 数据模型

  1. 1  拓扑关系数据模型

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

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

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

  2) 难以表达复杂的地理实体。由于拓扑关系组织的要求 ,一个完整的简单实体在拓扑关系模型中有时需要被分解为多个几何要素。复杂地理实体由多个简单实体组合而成 ,自然也常常被分解。拓扑数据模型的整体组织特性注定了它不可能有效地表达这一由多个独立实体构成的有机集合体。

  3) 难以实现快速查询和复杂的空间分析。由于在拓扑数据模型中 ,地理实体被分解为点、线、面基本几何要素 ,存储在不同的文件和关系表中 ,因而凡涉及到独立地理实体的操作、查询和分析都将花费较多的 CPU 时间 ,在大区域的复杂空间分析方面表现尤为明显。

  4) 局部更新困难 ,系统难以维护与扩充。由于地理空间的数据组织和存储是以基本几何要素 (点、弧段和多边形) 为单元进行的 ,系统中存储的复杂拓扑关系是 GIS 工作的数据基础 ,当局部一些实体发生变动时 ,整层拓扑关系将不得不随之重建 ,因而这样的系统在维护和扩充方面需要更多的精力 ,并且容易出错。

  1. 2  面向实体的数据模型

  这里称为“面向实体”,是为了强调这种数据模型是以单个空间地理实体为数据组织和存储的基本单位的。

  与上述拓扑模型相反 ,该模型以独立、完整、具有地理意义的实体为基本单位对地理空间进行表达。在具体组织和存储时 ,可将实体的坐标数据和属性数据(如建立了部分拓扑 ,拓扑关系也放在表中保存) 分别存放在文件系统和关系数据库中 ;也可以将二者统一存放在关系数据库中(可以将坐标数据和属性数据放在同一个表中 ,也可以将二者分成两个表。ESRI 公司 SDE 的存储模式是分成 4 个表格 ,它还增加了一个 Layers 表和一个空间索引表。Layers 表位于服务器端 ,用于层的管理和维护 ;空间索引表 (服务器端) 采用网格索引 ,用于实体的快速搜索) 。

  面向实体的数据模型在具体实现时采用的是完全面向对象的软件开发方法 ,每个对象(独立的地理实体) 不仅具有自己独立的属性 (含坐标数据) ,而且具有自己的行为 (操作) ,能够自己完成一些操作 ,如图 2 所示。虽然面向实体的数据模型在内部组织上可以按照拓扑关系进行 ,但是作者这里所说的模型强调对象的坐标存储之间 (尤其是面与线的坐标存储) 不具有依赖关系 ,这是它与拓扑关系模型的本质不同。该模型能够很好地克服拓扑关系数据模型的几个缺点 ,具有实体管理、修改方便 ,查询检索、空间分析容易的优点 ,更重要的是它能够方便地构造用户需要的任何复杂地理实体 ,而且这种模式符合人们看待客观世界的思维习惯 ,便于用户理解和接受。同时 ,面向实体的数据模型自然地具有系统维护和扩充方便的优点。

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

  1) 拓扑关系需临时构建。由于面向实体的数据模型是以地理实体为中心的 ,并未以拓扑关系为基础组织、存储地理实体 ,表达地理空间 ,因此拓扑关系并不是一开始就存在 ,而是在需要时才临时导出 ,这需要消耗一定的系统资源。

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

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

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

  1. 3  两种模型的共有缺点

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

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

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

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

  1. 3. 2  忽视地理实体之间的语义关系

  传统 GIS 主要侧重表达地理特征的几何成分 ,其语义关系和内部关系往往被忽视 ,这一缺陷大大影响了 GIS 的空间分析能力[3 ] 。这就使建成的 GIS 成了功能层次较低的空间数据存储和管理系统 ,难以进行较高层次的空间分析和直接提出决策方案。笔者以为 ,语义关系的忽视实际上是对一部分地理现象规律的忽视。因为 ,所有的地理空间实体都分布在一定的地理系统中 ,其地理性质的相互关系形成了空间的分布、形式、结构和规律等方面的内涵[4 ] 。所以 ,对于相互关系 (包括语义关系) 的忽视自然是对地理本质规律的忽视。另外一点是 ,现实世界里有一些对象虽然在空间上并不相关 ,但它们在实际生产和生活中具有很强的联系 ,部分是因为人的活动使它们具有了紧密的逻辑联系 ,如居民区与飞机场、研究所与野外试验场等。忽视语义关系会使我们在已有的认知水平上对原本为有机整体的地理世界进行僵硬的分割 ,从而导致基于这种认识的 GIS 在复杂的、深层次的空间分析上显得被动。

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

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

2  理解地理空间

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

  2. 1  地理空间

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

  2. 2  地理空间的三维特征

  地理空间在本质上就是三维的。在过去的几十年里 ,二维制图和 GIS 的迅猛发展和广泛应用使得不同领域的人们大都无意识地接受了将三维现实世界、地理空间简化为二维投影的概念数据模型。应用的深入和实践的需要渐渐暴露出二维 GIS 简化世界和空间的缺陷 ,现在 GIS 的研究人员和开发者们不得不重新思考地理空间的三维本质特征及在三维空间概念数据模型下的一系列处理方法。若从三维 GIS 的角度考虑 ,地理空间应有如下不同于二维空间的三维特征 :1) 几何坐标上增加了第三维信息 ,即垂向坐标信息 ;2) 垂向坐标信息的增加导致空间拓扑关系的复杂化 ,其中突出的一点是无论 0D、1D、2D 还是 3D 对象 ,在垂向上都具有复杂的空间拓扑关系 ;如果说二维拓扑关系是在平面上呈圆状发散伸展的话 ,那么三维拓扑关系则是在三维空间中呈球状向无穷维方向伸展 ;3) 三维地理空间中的三维对象还具有丰富的内部信息(如属性分布、结构形式等) 。

  2. 3  地理空间的多尺度特征与时变特征

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

  ......

  阅读全文请下载PDF