理论教育 空间数据模型与应用:基于现实世界的空间数据库技术

空间数据模型与应用:基于现实世界的空间数据库技术

时间:2023-08-18 理论教育 版权反馈
【摘要】:空间数据模型是关于现实世界中空间实体及其相互联系的概念,是空间数据的组织和设计空间数据库模式的基础,以及进行空间信息处理和应用的基础。因此,对空间数据模型的认识和研究有着重要的作用。面向对象的数据库管理系统是一个基于计算机功能较完整的模型。目前面向对象数据库语言还支持可变性。

空间数据模型与应用:基于现实世界的空间数据库技术

空间概念贯穿于我们现实社会的各个领域空间数据模型是关于现实世界中空间实体及其相互联系的概念,是空间数据的组织和设计空间数据库模式的基础,以及进行空间信息处理和应用的基础。它不但决定了系统数据管理的有效性,而且是系统灵活性的关键。因此,对空间数据模型的认识和研究有着重要的作用。

2.2.1 传统的数据模型

1. 层次模型

层次模型是以记录类型为节点的有向树或者森林,如果把层次模型中的记录按照先上后下、先左后右的次序排列就得到了一个记录序列,成为层次序列,层次序列码能指出层次路径。按照层次路径查找记录是层次模型的实现方法之一。

2. 网络模型

网络模型主要用于网络数据库的设计,它是以记录类型为结点的网络结构,网络模型中通常用循环指针来连接网络中的节点。

3. 关系模型

关系模型是一种数学化的模型,它将数据的逻辑结构归结为满足一定条件的二维表,称为关系,一个实体由若干关系组成,而关系表的集合就构成了关系模型。

2.2.2 面向对象数据模型

面向对象数据模型是一个较新的概念。面向对象的数据库管理系统是一个基于计算机功能较完整的模型。面向对象的数据库具有编程语言的自然特征,同时还支持数据库的描述和维护。如果一种面向对象的编程语言或系统被认为是一种数据库语言或系统,那么它必须具备下面的特征。一个数据库应包括一个框架,对数据结构以及含义进行描述,这是一个重要的概念。在对数据项形式化构成有意义的数据单元时,如记录或对象,以及把这些结构组合成更为复杂的数据结构时,如列表、关系、集合、包、树等,就应该提供数据结构化的规则和体制。基本操作包括数据结构的创建、修改以及删除等。同时,还应提供功能强大的查询机制来对储存信息进行访问,这也是数据库管理系统的一个主要部分。

数据结构化的一个重要组成是如何表示数据库框架内数据项之间或数据结构之间的联系。联系实际上是有名称的结构,其自身又包含有值的子部分。联系把不相关的数据项或结构连接起来,形成一个高级的数据语义。除此之外,数据库对数据进行储存,还保证它们的连续性。连续性是数据库管理系统的一个基本要求,它表明数据在创建以后还有一个生命周期。数据创建以后继续存储在数据库中,这样它不仅可以被创建者访问,还可以被其他用户以一种同步(并发)的方式来访问。数据库中的数据及数据库管理系统的其他特征还包括数据完整性约束(对数据库中的数据项及它们之间联系的正确状态范围进行定义),数据库安全,数据库查询处理、语义和数据库视图,数据管理概念等。数据库安全提供了访问授权和验证,同时还提供了访问控制。查询处理提供了数据库的一种功能,它对数据库操作进行说明,但不需要指定如何执行该操作。如果不具备这些或其他基本的数据库系统的特征,面向对象技术就难以引入数据库。

1. 面向对象数据模型

面向对象数据库系统拓展了面向对象编程语言的基本特征。如果面向对象数据模型是完整的并且能提供商业数据库的功能,那么它就必须具备一些最基本的特征: ①对象的状态变量必须被封装起来,不能直接访问; ②数据库中的对象应该是用根类连续定义的,因而通过根类都是可达的; ③对象实例应该能知道本身的类型,可以通过一个基本的数据库继承属性,以提供一个在查询时能返回对象类型的方法; ④必须支持对象的多态性操作,并且在实习中进行动态绑定; ⑤能把对象组合在一起形成集合类,这是数据库结构化和查询支持的基础; ⑥应该支持对象之间的联系表示,这是数据库结构的基本组成部分; ⑦对象模型应该支持多种方式的查询功能。

(1)对象表示

一个对象的任何定义都是它的逻辑表示,其目的是用来储存和管理对象实例的状态。这种表示方法由数据结构来组成,是方法唯一可以访问的资源,而方法则代表了应用程序在数据上进行的操作。数据结构由属性构成,属性可以是具体值,也可以是指向其他对象的指针(继承类)。这些继承类是确定的可标识对象,具有自己的属性和标识符,甚至可以通过其他对象来访问。这些被引用的对象使得对象描述更加完整,但是在物理上,它们并不是描述对象的一部分。虽然属性值被绑定于某个特定对象,但是它并不是与某个对象的属性完全绑定在一起。基于存取环境,一个对象既可以被引用,也可以与任何对象相连接,但是它一旦与某个对象绑定,它的值就成为绑定对象的私有值。此外,数据库中的对象还包括类组合,如集合、包、元组、数、列表以及多重集等。这些类的结构程序把相同的,相关的,或者相似的对象组合在一起,组成一个扩展结构,既可以适应查询,还可以优化储存。

(2)类的层次

类的继承性提供了代码的重用,因为通过类的继承,某个类方法的代码就可以被任何用该类作为它定义和操作的一部分的子类重用。通过类的层次性和继承属性,子类可以指定它们自己的操作方法,而把继承的操作方法作为自己操作方法的一部分。这个特性称作替代。它表明当类T是另一个类t的子类时,那么t的操作方法或值都被T中的对应部分替代了。目前面向对象数据库语言还支持可变性。可变性的意思是一个对象的类型可以通过应用程序的一个修改函数来改变其类型。由于修改函数改变了对象的类型,使得从前是相同类型的对象实例现在可能就不相同了。

(3)集合类型

集合是面向对象数据库一个重要的组成部分。集合提供了组织对象以及处理它们之间关系的途径。把相关的对象组合起来,就意味着这些对象集合合成为一种新类。具有新的属性和操作方法。集合本身也是对象,在其内部对象属性和方法的基础上也定义自己的属性和方法。集合中的对象必须与组合中定义的对象所支持类相匹配。这就是说,如果这些对象必须在集合类及其方法的基础上相互协作,那么我们就不能在同一集合中包含不同类型的对象。

一般意义上超类集合支持基数、空集、排序等特性,并且允许有重复性。基数表示集合中对象的数目,空集表示集合中没有任何对象,排序表明集合是结构化的还是非集合化的,而允许重复值是指集合中可以包含重复的对象。抽象的集合类支持所有基于集合的操作,如集合的创建和删除,对象的插入,对象的删除或替换,对象的存取,根据谓词从集合中选取某一个元素,判断一个对象中的元素是否存在,或者判断一个特定的对象是否包含某个特定的元素,以及创建一个能在集合中遍历的检索指针等。

通过这个基本的抽象集合类型,我们可以创建更为特殊的集合,如类集、包、列表、数组等。这些类型被很多面向对象数据库所支持。

类集是一个无序的集合,不允许重复的元素存在。一个类集可以使用上面提到的所有操作,而且具备集合类型的所有属性。另外,它还可以创建某种特定的集合,在集合中插入元素(不允许重复元素存在)。类集方法主要包括联合、交、差、拷贝、子集判断、真子集判断、超集判断、真超集判断等。例如,用这类操作方法,我们可以对两个点集合执行操作,生成一个新的集合,其中包括了原来两个集合中的所有元素,但是并不重复。

包是一个无序的集合类,它允许有重复的值。包在相容的集合上可以执行并、交及差等操作。例如,在空间数据模型中,把所有点都放进去。在线段的交点上,点这个集合中就有重复。

列表是一个有序的对象组合,它也允许重复值出现。列表中对象的序列由插入顺序来决定,而不是由索引或排序来决定。顺序的类型或形式可以由程序员通过操作方法在列表的某个位置进行插入、删除或替换来进行组合。

数组是面向对象数据模型和系统中常见的集合类型。数组由一组或多组长度可变的类组成。数组的大小可以被初始化或者在定位、访问时被修改。数组允许把对象以索引列表的形式进行组织和访问。在数组的某个位置上可以执行插入、删除、替换或检查索引操作。这些操作方法和数据结构允许数据库系统针对特定的对象实例造逆序的索引值,或者用作对象集合的索引。数组把位置索引作为访问指针来依次进行访问。

(4)对象联系

数据联系是指对象之间,或者属性之间,或其操作方法之间存在的可标识的,有名称的对应关系。数据库中的数据项之间的联系被认为是面向对象设计的一个重要组成分。尽管有很少的面向对象数据库系统支持信息联系——这样的支持留给单个对象的具体实现。由于把联系的说明、设计和实现都留给了单个对象,灵活性和规范性的支持就丧失了,可能得到的好处就是封装性和继承性,因为联系的实现是因具体对象而异的。对于其他数据模型来说,联系是模型中最基本的组成部分。

对象模型中的联系可以表示为各个涉及的对象名称,私有的特定属性,内部属性玉树,以及联系所涉及的对象。联系可以用两个部分来描述: 联系的主题是联系对象本身。

联系可以是单向的、对称的、或者是多值的。一个单值联系或单向联系只涉及两个对象,其中一个指向另一个,而在其他方向则没有任何联系。

联系可以是堆成的,这是指一种对应的双向联系——例如,配偶联系对偶的双方都可以使用,其中任意一方的配偶都会返回另一方。在某些面向对象的系统中,双向联系才是真正的联系,而其他的都被称作特征。

多值联系在数据模型中是一种更为常见的联系。多值联系值是存在一组对象与另一对象具有相同的联系。例如,一个多边形有多个链段; 一个节点连接多个链段等。

联系可以通过多种途径来实现: 我们可以用集合或扩展表格来处理联系,扩展表格是指一个对象指针的列表,是一个类似的结构。例如,我们可以建立这样一个扩展表格,包括所有的节点对象实例。通过这个表格可以访问所有的学生对象实例,使得这些对象的存取和处理更加容易。我们可以用这个结构来访问相关的对象及其相关数据。这样实现的本意和联系本身都使得从一个联系可以到达另一个联系。例如,从链接的左右多边形的联系中搜索一个多边形包含多个链段的联系。

(5)对象约束

约束条件是用来帮助维护数据的完整性、正确性以及有效性。约束条件在传统编程语言类型正确的基础上提供了额外的数据库内容正确性检查。这些数据库约束条件用谓词形式来表示,描述了使用数据库状态值以及项目值之间相互联系保持正确性条件。约束条件可以是复杂的条件,也可以是针对特定应用程序。这些约束条件是针对类定义的,类中的所有元素都必须满足指定的条件才能被认为是正确的。典型的约束条件用来检查数据项的类型与数据类型说明是否匹配,或者数据项是否在一个有效的范围内。而复杂的约束条件是根据它所连接的其他对象的值来设置限制条件。这种约束条件称作参考约束。例如,一个职员的最高工资是它主管工资的三分之一,这就是参考约束条件。这是因为主管的工资必须先从对象中经过检索才能得到,然后用它来设置约束条件的有效范围。

约束条件还可以用来限制一组对象的取值或边界。这种约束条件不能简单地写入对象中,往往首先需要一个更高层的对象,使其能访问该组中所有对象。也可以是专门建立一个处理对象。它与该组中所有对象绑在一起,在使用对象操作之前由它先进行检差,只有符合约束条件才被允许执行。这种形式的约束条件由谓词和约束操作两部分组成,有时就是一个处理程序。

在面向对象的系统中,什么时间进行约束条件的检查是一个难题。如果要使约束检查不发生在约束对象的某种协调变化过程中,那么对检查时进行显示的说明是必要的。在某些面向对象的系统中,系统约束条件是作为对象的一部分来显示的定义,而在另一些系统中,约束条件是独立定义的指向其他对象的对象,当其他对象执行操作时进行约束条件检查。用这种方法独立定义的约束条件需要调用对象中的操作方法以获得检查过程中所需要的值。类似地,一旦发现违反约束条件的情况,对象中也必须包含修正错误的操作方法。

在数据库的维护和操作过程中,约束条件是一个很好的工具。只要进行属性的访问操作,约束条件就要进行检查,只有当它在更新或基于某种指定的事件时才可以不进行检查。

约束条件可以是主动的,如由数据库系统触发,也可以是被动的。主动的约束条件是在事件、时间或其他条件满足时对对象的边界进行检查,而被动约束条件只有在操作中遇到才被执行。(www.daowen.com)

(6)查询处理

关系型和网络型数据模型有特殊的数据处理方法。在关系型和网络型数据库操作中,任何扩充的功能都必须来自用户自己编写的代码。这种有限的操作功能主要是由语言的结构和基本设计来完成的,同时也取决于理论上的数据存储模型和处理模型。面向对象数据库管理系统的语言支持一种无边界范围的数据处理。它们是根据系统和应用程序如何使用和表示数据来定义的。另外,这些方法可以在将来通过对象的修改和重编加以改变,以至于成为数据库管理系统的基本操作。在关系数据库或网络型数据库中就不是这种情况,在那里基本操作是不能被修改或改变的。

面对对象数据模型的查询处理需要在数据库内部增加一些机构来提高查询效率。在面向对象数据库中,数据通过对象标识(指针)的获取和移动来访问。如果不提供对象集群的方法,面向对象数据库在处理查询时,其响应时间就不能令人满意了。由于支持对象的集群或组合,形成对象集合,如类集、包、列表和数组,对象模型也可以构造类似关系模型中的那种高效率查询操作。没有这些结构,面向对象数据模型不比一个指针搜索方法更好,因为它需要遍历大量的不相关对象才能找到感兴趣的东西。

面向对象查询语言(OQLQ)是根据SQL关系查询语言来格式化的,对象数据处理起源于SQL结构,OQL语言支持传统的SELECT…FROM…WHERE结构。

面向对象数据模型的查询处理还处在一个最初期的阶段,有待于进一步的完善。

2. 面向对象空间数据模型

空间数据模型是以计算机能够接受和处理的数据形式,为了反映空间实体的某些结构特性和行为功能,按一定的方案建立起来的数据逻辑组织方式,是对现实世界的抽象表达。因此,空间数据模型是有效地组织、储存、管理各类空间数据处理的基础,也是空间数据有效传输、变换和应用的基础,以抽象的形式描述系统的运行与信息流程。每一个实体的地理数据库都由一个相应的空间数据模型来定义。每一个空间数据模型以不同的空间数据抽象与表示来反映客观事物,有其不同的处理空间数据联系的方式。

空间数据模型的设计需要对客观事物有充分的了解和深入的认识,科学地、抽象概括地反映自然界和人类社会各种现象空间分布,相互联系及其动态变化。其核心是研究在计算机储存介质上如何科学、真实地描述、表达和模拟现实世界中地理实体或现象。相互关系以及分布特征。初期的系统仅仅把各种地理要素简单地抽象成点、线和面这已经远远不能满足实际需要,要想进一步拓宽应用前景,必须进一步研究它们之间的关系(空间关系)。空间关系是研究通过一定的数据模型来描述与表达具有一定位置、属性和形态的空间之间的相互关系。当我们用数字形式描述地图信息,并使系统具有特殊的空间查询、空间分析等功能时,就必须把空间关系映射成适合计算机处理的书籍结构。由此可以看出,空间数据的空间关系是空间数据库的设计和建立,以及进行有效的空间查询和空间决策分析的基础。要提高空间分析能力,就必须解决空间关系的描述与表达等问题。

2.2.3 时态GIS数据模型

为了能够表示时空过程,近年来,作为GIS研究和应用的一个领域,时态GIS已经得到了GIS界的广泛关注,人们在研究能支持时态GIS产品的时空数据模型。目前已有时空数据的四种组织方法。

1. 时间作为新的一维(时空立方体模型)

在概念上最直观的方法是: 时间作为信息空间中的新的一维。主要有两种方式表示,其一是使用三维的地理矩阵(geographics matrix),以位置、属性和时间分别作为矩阵的行、列和高,其二是,用四叉树表达二维格数据,八叉树表示立方体,则可用十六叉树表示GIS的空间—时间模型。可见,时空数据沿时间轴的冗余度极大,因为目标的空间位置和属性的变化总是局部的,不等规律的。

2. 连续快照模型

此模型在快照数据库(Snapshot Database)中仅记录当前数据状态,数据更新后,旧数据的变化值不再保留,即“忘记”了过去的状态。连续快照模型是将一系列时间片段快照保存起来,反映整个空间特征的状态,根据需要对指定时间片段的现实片段进行播放。该模型的不足之处在于,由于快照将未发生变化的时间片段的所有特征重复进行存储,会产生大量的数据冗余,当应用模型变化频繁,且数据量较大时,系统效率急剧下降。此外,连续快照模型不表达单一的时空对象,较难处理时空对象间的时态关系。

3. 基态修正法

为了避免连续快照模型将每张未发生变化部分的快照特征重复进行记录,基态修正模型按事先设定的时间间隔采样,不存储研究区域中每个状态的全部信息,只存储某个时间的数据状态(称为基态),以及相对于基态的变化量。基态修正的每个对象只需存储一次,每变化一次,只有很小的数据量需要记录; 同时,只有在事件发生或对象发生变化时才存入系统中,时态分辨率值与事件发生的时刻完全对应。基态修正模型不存储每个对象不同时间段的所有信息,只记录一个数据基态和相对于基态的变化值,提高了时态分辨率,减少了数据冗余量。毫无疑问,在基态修正法中,检索最频繁的状态作为基态(一般的用户最关注的是“现在”时,即系统最后一次更新的数据状态)。此外,目标在空间和时空上的内在联系反映不直接,会给时空分析带来困难。

张祖勋等人在1996年提出了一种索引基态修正法,即在采用基态修正法后,再用四叉树(或八叉树)储存基态和变化量,可达到很高的压缩效益。

4. 时空复合模型

时空复合模型将空间分隔成具有相同时空过程的最大的公共时空单元,每次时空对象的变化都将在整个空间内产生一个新的对象。对象把在整个空间内的变化部分作为它的空间属性,变化部分的历史作为它的时态属性。时空单元中的时空过程可用关系表来表达,若时空单元分裂时,用新增的元组来反映新增的空间单元,时空过程每变化一次,采用关系表中新增一列的时间段来表达,从而达到用静态的属性表表达动态的时空变化过程的目的; 但在数据库中对象标识符的修改比较复杂,涉及的关系链层次很多,必须对标识符逐一进行回退修改。

2.2.4 三维空间数据模型

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

目前随着计算机技术的飞速发展和计算机图形学理论的日趋完善,空间数据库作为一门新兴的边缘科学目前也日趋成熟,许多商品化的GIS软件空间数据库功能日趋完善。但是,绝大多数的商品化GIS软件包还只是在二维平面的基础上模拟并处理现实世界上所遇到的现象和问题,而一旦涉及处理三维问题时,往往感到力不从心,GIS处理的与地球有关的数据,即通常所说的空间数据,从本质上说是三维连续分布的。从事关于地质、地球物理、气象水文采矿、地下水、灾害、污染等方面的自然现象是三维的,当这些领域的科学家试图以二维系统来描述它们时,就不能够精确地反映、分析或显示有关信息。三维GIS的要求与二维GIS相似,但是数据采集、系统维护界面设计等方面比二维GIS要复杂得多。

2.2.5 空间数据模型评析

目前看来,GIS数据模型没有明显的发展阶段,由于地理空间的复杂性,多种数据模型并存,如地理数据概念模型、地理要素概念模型、E-R模型以及面向对象的数据模型都是GIS概念数据模型的实例,GIS逻辑数据模型则包括集成模型/混合模型和地理关系数据模型等。根据国内外对于空间数据模型的相关研究,空间逻辑数据模型和空间物理数据模型。概念数据模型是地理实体和现象及其联系的抽象概念集,是地理数据的语义解释,也是逻辑数据模型的基础,用以描述现实世界的数据内容和数据结构,所以是抽象的最高层。逻辑数据模型是对概念数据模型中空间实体和现象及其关系的逻辑表达,是GIS对地理数据的逻辑结构表示,是数据抽象的中间层,因而逻辑数据模型的设计既要考虑用户是否容易理解,又要考虑是否在计算机中便于物理实现并易于转换成物理数据模型等问题,层次数据模型、网状模型和关系模型是比较常见的逻辑数据模型。物理数据模型是逻辑数据模型在计算机内部的具体存储形式和操作机制,可以实现对专题信息的操作,完成几何数据模型和专题、语义数据模型之间的相互关联。常见的GIS空间数据模型一般可分为以下几种: 拓扑关系数据模型、面向实体的数据模型和面向对象的数据模型。拓扑关系数据模型以拓扑关系为基础组织和存储各个几何要素,以点、线、面间的拓扑连接关系为中心,并且各类型要素的坐标存储具有依赖关系,基本的拓扑关系包括邻接、关联、包含、几何和层次关系等。拓扑关系一般建立于同一层次中,这样便于计算机对其管理、查询、分析和处理等。面向实体数据模型以独立、完整具有地理意义的单个空间地理实体为数据组织和存储的基本单元对地理空间进行表达,每个地理空间实体都封装了若干对应的属性和操作方法,并且具有聚集、继承、联合和扩展等特性。实体模型利用实体内部的联系及实体之间的相互关系来描述空间现象或客观事物及其之间的联系。面向对象的数据模型将空间实体转化为模型对象,每一对象都有描述该对象的一组数据和对应的操作方法,可以把概念数据模型和逻辑数据模型有机地联系在一起,提供从概念数据模型到物理数据模型统一、有效的表示方法和实现机制。传统的关系模型、拓扑模型和柵格模型等都侧重于从层次上描述数据的组织结构和约束,对数据的层次关系和层次内容涉及较少,而面向对象的数据模型则克服了这一缺陷,并成为从高层次进行数据库设计的有效工具。

随着科技的发展,国内外不少学者在基于面向对象数据模型的基础上提出了许多新的数据模型,如肖乐斌等在《面向对象整体GIS数据模型的设计与实现》一文中提出,在概念上将地理对象作为一个个独立的实体看待,而且在内部存储上也是将它们存储,各对象表之间并不存在拓扑依赖关系。其中的线、多边形对象并不是由拓扑关系中的弧段来表示,而是直接由一系列坐标串来表示,这使得面向对象的表不再依赖弧段对象表,使得其中的元素都成为相对独立、完整的对象。整个数据库中有一个总表,内含所有空间索引表和对象集(包括简单的对象集、符合对象集、场对象集)表,一个对象集可在多个图层显示,一个图层只对应一个对象集,空间索引表内含不同对象对象集的索引块编号及对应的对象ID集合。还有不少学者提出了基于特征的面向对象GIS数据模型,该模型将面向对象中的类型象化成地理特征,而对象则与地理特征的具体实例——地理实体相对应,特征类中包含所有的空间、非空间(专题)和语义及时间信息。如符哲等根据地理实体的属性、功能、关系和动态特性等将特征在横向上分为特征属性、特征关系、特征行为和特征情节四方面内容,而在纵向上将特征又划分为几何特征类与语义特征类,每一类都含有属性、关系、行为和情节描述,并且特征对象封装了集合对象语义对象(即特征类中含有几何对象与语义对象),同时特征类派生出简单特征类和复合特征类,复合特征类又派生出聚合特征类和特征模型实例两个子类,这样就将整个地理空间以对象的形式将空间以对象的形式将空间信息、属性信息及时间信息等完整地描述出来。

不同的GIS系统和数据库采用的空间数据模型有所不同,但都是为了较为准确、完善、尽可能真实地表示地理现象和空间实体的形状、相似性、几何精度和属性,使空间数据库将不同空间模型的空间数据有效地组织起来,在一定程度上能够较为高效地存储和管理空间数据,并向不同用户提供准确性高、开放性强和现实性好的地理空间数据。

不同数据模型有不同的优势,拓扑关系数据模型关系明晰、结构紧凑,预先存储的拓扑关系可有效提高系统在拓扑查询和网络分析等方面的效率,并能较为方便、准确地表达地理现象,面向实体的数据模型能较好地克服拓扑关系数据模型的缺陷,不仅便于实体的查询检索、管理和空间分析,而且能够方便地构造任意的复杂地理实体,面向对象的空间数据模型则提供了丰富的数据语义,使用户对空间数据的理解提高了新的高度,同时又吸取了空间数据库中拓扑关系数据模型的思想,能有效地表达空间实体和地理对象的复杂关系。所以各个模型可以互相融合或嵌套,弥补各自的缺点,发挥各自的优势,如何将拓扑关系数据模型和面向对象模型相结合,利用面向对象丰富的语义和操作实现拓扑关系的预先存储或有效表达,进一步提高拓扑查询和分析能力,或将实体模型与面向对象技术相融合,各个实体以对象方式存储,内含各自的属相和操作,不同实体又通过面向对象数据库中的空间关系表建立之间的空间关系,不仅便于检索查询和管理空间对象,而且提高了网络分析能力,当然,还可将三者穿插结合互相弥补不足之处,这是需要进一步研究的。

【本章小结】

空间数据库是存取、管理空间信息的场所。建立数据库不仅仅是为了保存数据,扩展人的记忆,而主要是为了帮助人们去管理和控制与这些数据相关联的事物。空间数据库的主要任务是研究空间物体的计算机数据表示方法、数据模型以及计算机内的数据存储结构和建立空间索引方法,如何以最小的代价高效地存储和处理空间数据,正确维护空间数据的现实性、一致性和完整性,为用户提供现实性好、准确性高、完备、开放和易用的空间数据。

本章的内容为全书起到了承上启下的作用,介绍了空间数据库的定义,为了更好地理解什么是空间数据库,在引入空间数据库概念之前,首先阐述了什么是空间和空间数据,这些概念是需要读者深刻体会的。

空间数据库的特点区别于上一章数据库的特点,其特点有非结构化、空间关系、分类编码和海量数据等。

本章的第二节重点讲述了空间数据模型,最后对空间数据模型进行了评析,为空间数据库的设计做了铺垫。

【练习与思考题】

1. 什么是空间和空间数据? 空间数据有哪些特征?

2. 什么是面向对象数据模型?

3. 简述面向对象数据模型的特点,以及它与传统数据模型的区别。

4. 空间数据库的概念及其组成部分有哪些?

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈