1、第五章 空间数据模型,一、实体模型二、数据模型三、面向对象数据模型四、面向对象空间数据模型五、时空数据模型六、三维数据模型七、几种常见国内外软件空间数据模型,1、模型 模型是现实世界事物本质的反映或科学的抽象或简化,能反映事物的固有特征及其相互联系或运动变化规律。 模型不等于被描述的对象。 模型反映的对象是一种或一类特定事物,它可以是自然界任何有生命的或无生命的实体、事物和现象。,一、实体模型,2、实体模型 实体是现实世界中客观存在并可相互区别的事物。 利用实体内部的联系和实体间的联系来描述客观事物及其联系,称为实体模型。 实体模型是设计数据库的先导,是确定数据库包含哪些信息内容的关键。(1)
2、对象与属性 对象:道路、居民地、水系、植被 属性:道路类型、宽度、路面质量 一个对象具有某些属性,若干属性又描述某个对象。一个对象具有的某一属性,又可能是另一些属性描述的对象,(2)个体与总体个体与总体的联系是对象的外部联系(3)实体之间的联系 一对一联系,A,B,(3)实体之间的联系 一对多联系,A,B,(3)实体之间的联系 多对多联系,A,B,(4)实体模型图 实体模型图直观地表示模式的内部联系。,名称,宽度,路面质量,等级,道路,居民地,名称,人口,交通状况,等级,道路信息实体模型图,二、数据模型,数据模型是关系数据和联系的逻辑组织形式的表示,以抽象的形式描述系统的运行与信息流程,是计算
3、机数据处理中一种较高层的数据描述。 每一个实体的数据库都由一个相应的数据模型来定义。数据库各种操作功能的实现是基于不同的数据模型的,数据库的核心问题是数据模型。 常用数据模型:层次、网状、关系,1、层次模型与树结构(1)概念层次模型:用树形结构来表示实体间联系的模型。 它的特点是将数据组织成有向有序的树结构;可同时用于逻辑和物理数据的描述。 同值结构、非同值结构,空间数据的位置特征,导致了空间实体分布特征和空间关系。,V1,V2,V3,V4,a,b,c,d,e,I,II,E,I,II,a,b,e,d,c,e,V1,V2,V2,V3,V3,V1,V1,V4,V4,V3,V3,V1,用层次模型表示
4、,(2)层次模型的物理实现 物理邻接法 将各层次上的记录按从上到下、从左到右的关系依次记录在存储器上,这样,数据的层次组织在逻辑顺序上与物理顺序是一致的。,A1,B1,B2,B3,C9,C2,C13,C14,C5,C16,A1,B1,C9,C2,C13,B2,C14,B3,C5,C16,层次模型,存储结构,(2)层次模型的物理实现 表结构法 用链表指针表示层次结构比较方便灵活,可用子女指针、双亲指针和子女指针加兄弟指针来表示层次结构。,A1,B1,B2,B3,C9,C2,C13,C14,C5,C16,子女指针法,(2)层次模型的物理实现 表结构法,A1,*,B1,B2,B3,C9,C2,C13
5、,C14,C5,C16,双亲指针法,(2)层次模型的物理实现 表结构法,A1,*,B1,B2,B3,*,C9,C2,C13,C14,C5,C16,子女加兄弟指针,*,*,*,(2)层次模型的物理实现目录法 用目录式指针来表示层次数据模型中多个记录之间的联系,这时,这些指针所形成的目录本身也是一个文件。位图法 它是一张二维的表格,纵横表头是不同层次上的记录键值,若某两个记录之间有父子联系的,则在其交点处置“1”,否则置“0”。,(3)层次模型的优缺点优点: 将数据组织成有向有序的树结构 反映了现实世界中实体之间的层次关系 层次分明、结构清晰,较容易实现缺点: 不能表示多对多的关系 难以顾及实体之
6、间的拓扑关系 导致数据冗余,2、网络模型与图结构(1)概念 用网络数据结构表示实体与实体间联系的模型称网络模型。 网络模型是数据模型的另一种重要结构,它反映着现实世界中实体间更为复杂的联系,其基本特征表现在结点数据间没有明确的从属关系,一个结点可与其他多个结点建立联系。,网络模型实例,(2)网络模型的物理实现 多用指针建立记录间联系。可分为简单网络结构和复杂网络结构两类。 单网状结构的物理实现物理邻接加指针、顺序文件加指针、目录和位图 复杂网状结构的物理实现 实际上,在多数数据库系统中,复杂网络结构往往先转换为简单网状结构来处理。,(3)网络模型的优缺点,优点:可以描述现实世界中极为常见的多对
7、多关系一定程度上支持数据的重构具有一定的数据独立性和共享特性运行效率较高缺点:结构的复杂性限制了它在空间数据库中的使用,3、关系模型与二维表结构(1)关系模型概念 将数据的逻辑结构归结为满足一定条件的规范化二维表(称为关系)的集合,就构成了关系模型。 关系的具体实现是一个二维表结构。 关系模型用于设计地理属性数据的模型较为适宜。(2)关系模型的规范化所谓规范化,就是用更单纯、结构更规则的关系逐步取代原有关系的过程。,找离火车站最近的汽车站?,空间数据库,空间 计算,距离最近的汽车站,检索,检索,GIS分析,(2)关系模型的规范化第一范式:表中每一个域上的元素不得多于一个。第二范式:要求一个关系
8、中的所有非主属性都完全函数依赖于主关键字。第三范式:进一步把非主属性传递依赖于主关键字的关系分解为一些更为简单的关系的集合。,关系模型实例,(3)关系模型的物理表示 对关系模型来说,其物理表示可以简单地归结为各个关系组织成文件。(4)关系模型的优缺点优点:结构简单灵活其数据描述具有较强的一致性和独立性缺点:实现效率不高不适合于管理复杂对象的要求模型的可扩充性较差模拟和操纵复杂对象的能力较弱,1、面向对象的基本概念1.1 对象与封装性(encapsulation) 对象是数据和行为的统一体。 封装性:用户无法知道功能运行的真实机理。1.2 分类(classification) 类是关于同类对象的
9、集合,具有相同属性和操作的对象组合在一起。1.3 概括(generalization) 在定义类型时,将几种类型中某些具有公共特征的属性和操作抽象出来,形成一种更一般的超类。,三、面向对象数据模型,1.4 联合(association) 将同一类对象中的几个具有相同属性值的对象组合起来,设立一个更高水平的对象表示那些相同的属性值。1.5 聚集(aggregation) 将几个不同特征的简单对象组合成一个复杂的对象,2、面向对象数据模型2.1 对象表示 一个对象的任何定义都是它的逻辑表示,其目的是用来存储和管理对象实例的状态。2.2 类的层次 类的继承性提供了代码的重用。通过类的层次性和继承属性
10、,子类可以指定它们自己的操作方法,而把继承的操作方法作为自己操作方法的一部分。 可变性。,2.3 集合类型 集合提供了组织对象以及处理他们之间关系的途径。一般意义上的超类集合支持基数、空集、排序等特性,并且允许有重复值。 类集是一个无序的集合,不允许重复的元素存在;而包允许有重复的值。 列表是一个有序的对象组合,它也允许重复值出现;数组是面向对象数据模型和系统中常见的集合类型。,2.4 对象联系 对象之间或者属性之间,或其操作方法之间存在的可标识的、有名称的对应关系。 联系可以是单向的、对称的、或者是多值的,其实现也有多种途径。2.5 对象的约束 约束条件是用来帮助维护数据的完整性、正确性以及
11、有效性。,2.6 查询处理 面向对象数据模型的查询处理需要在数据库内部增加一些结构来提高查询效率。,四、面向对象空间数据模型,1、地理要素数据模型 地理要素是地理实体和现象的基本表示,在数据世界中地理要素包括空间特征和属性特征。1.1 地理要素的几何抽象类型 将地理空间抽象成几何对象的集合。 点、线、面、表面、结点、弧段、多边形类,1.2 基本地理要素模型 空间数据库中一个地理要素实体往往由一个几何元素和描述几何元素的属性或语义两部分构成。,基本地理要素,点状要素,线状要素,面状要素,表面要素,结点要素,弧段要素,多边形要素,点,线,面,表面,结点,弧段,多边形,基本空间物体对象模型,1.3
12、地理要素图形表示类型(1)地图符号类(2)地理要素注记类(3)文本要素类(4)统计专题图类1.4 复合地理要素模型 它是若干个下相关物体的组合,是连接若干物体的一种关系信息,在表现形式上是相关(下属)物体关键字的集合。,2、地理要素分层模型 人们理解和分析地理实体或现象时,通常需要分门别类,把意义上相关的地理要素组织在一起。 为了便于管理、处理、分析和查询,在传统的覆盖制图理论影响下,对空间数据按要素主题进行分层存储和管理。,3、地理空间分块模型 将连续地现实世界中地理实体及相互关系进行离散和抽象,建立若干以地理区域为界的认识地理空间的窗口,即数据区或工作区,工作区定义了有一定区域范围的、连续
13、的地理空间。无缝数据库:整个工作区域的空间物体在数据库里不论是逻辑上还是物理上均为连续,即有统一的坐标系、无裂隙、不受传统图幅划分的限制,整个工作区域在数据库中相当于一个整体。,4、地理要素空间关系模型 在空间数据库中,表达地理对象之间的空间关系是极为重要的。4.1 网络关系类4.2 多边形关系类4.3 相同物体连接关系类4.4 相关地理要素连接关系,5、空间数据多尺度模型 地理空间尺度、空间范围、时间尺度、时间范围均是与具体研究的地理区域系统的地学问题有关。不同的地学问题有不同的地理空间和地理时间。 空间数据的制图综合,6、面向对象空间数据模型6.1 面向对象空间数据模型 工作区分为若干个数
14、据块,以数据块作为基本单位;每个数据块包含若干要素层;要素层又包括若干地理要素,地理要素分为基本要素和复合要素。6.2 面向对象数据库系统的实现方式(1)扩充面向对象程序设计语言(2)扩充RDBMS(3)建立全新的支持面向对象数据模型的数据库系统,五、时空数据模型,考虑时间维度的数据模型。其特点是语义更丰富、对现实世界的描述更准确,其物理实现的最大困难在于海量数据的组织和存取。本质上来说是时空效率。 地藉变更、海岸线变化、土地城市化、道路改线、环境变化等。,六、三维数据模型,1、三维空间数据库的功能(1)数据编码 (2)数据的组织和重构(3)变换 (4)查询(5)逻辑运算 (6)计算(7)分析
15、 (8)建立模型(9)视觉变换 (10)系统维护,2、三维数据结构(1)八叉树三维数据结构 规则的八叉树 线形八叉树 一对八式的八叉树3、三维数据的显示,七、几种常见国内外软件空间数据模型,ArcInfo 数据模型Oracle Spatial 的空间数据模型MapInfo 数据模型Geostar 数据模型,1、ArcInfo 数据模型,ArcInfo美国环境系统研究所(Environment System Research Institute, ESRI)开发的地理信息系统软件,是世界上应用广泛的GIS软件之一,是我国GIS领域常用的商业软件。该软件以数字形式来管理、分析和显示空间数据。用户使
16、用ArcInfo建立空间数据库和进行地理分析。 它采用一种混合数据模型统一定义空间数据库模型和管理空间数据,支持实体的矢量表示和栅格表示。,(1)地理相关模型 以Coverage作为矢量数据的基本存储单位。每个Coverage一般只描述一种类型的地理要素。 地理要素模型强调空间要素的拓扑关系。,空间数据库,RDBMS,几何空间数据存储子系统,地理相关模型,(1)地理相关模型 Coverage的数据组织包括: 标示点、结点、弧段、多边形、控制点和覆盖范围 Coverage的拓扑结构不仅存储了空间对象的集合信息,而且还存储了空间对象的拓扑关系。除结点外,每个空间对象都是由更基本的对象组成。任意复杂
17、对象均可分解为一组结点及其拓扑关系的定义。,(1)地理相关模型 Coverage的优点: a、空间数据与属性数据相结合 b、能够存储矢量要素之间的拓扑关系,(1)地理相关模型 Coverage的缺点: a、Coverage模型的某些可取方面已经可以不再作为强调因素。 b、空间数据不能很好的与其行为相对应。 c、Coverage空间几何数据和属性数据二元存储结构在数据库操作时,很难保持一致性。 d、Coverage模型拓扑结构不够灵活,局部变动后则必须对全局的拓扑关系重新建立。 e、在不同的Coverage之间无法建立拓扑关系。,(2)地理数据库(GeoDatabase) 地理数据库是为了更好的
18、管理和使用地理要素数据,而按照一定的模型和规则组合起来的地理要素数据集(Feature Datasets)。 从 ArcInfo8 起,ESRI 推出了一种新的面向对象数据模型称为Geodatabase数据模型。 Geodatabase数据模型使得物理数据模型与其逻辑数据模型更为接近,同时,能更好地将特征(feature)和行为(behavior)结合在一起。,地理数据库GeoDatabase,对象类Object Classes,要素类Feature Classes,要素数据集Feature Datasets,关系类Relationship Classes,表格 Table,要素 Featur
19、e,关系 Relationship,几何网络Geometric Network,关系类Relationship Classes,要素类Feature Classes,要素 Feature,关系 Relationship,网络要素Geometric Network,地理数据库及其组成要素之间的层次结构,地理数据库(GeoDatabase)模型结构: 要素类feature class 同类空间要素的几何即为要素类 要素数据集feature dataset 具有相同空间参考 关系类relationship class 即关联关系 对象类object classes 存储非空间数据的表格,关系类,选择
20、电线杆移动到另一位置,与电线杆连接的所有要素跟随移动到新的位置,地理数据库(GeoDatabase)模型结构: 几何网络geometric network 指定哪些要素类加入其中,同时指定其在几何网络中扮演的角色。 域domains 定义属性的有效取值范围。 有效规则validation rules 对要素类的行为取值加以约束的规则。 栅格数据集raster datasets 用于存放栅格数据。可建立金字塔索引 定位器locators,河流几何网络,地理数据库(GeoDatabase)模型优势: 在同一数据库中统一地管理各种类型的空间数据 空间数据的录入和编辑更加准确 空间数据更加面向实际的应
21、用领域 可以表达空间数据的相互关系 可以更好的进行制图 空间数据的表示更为准确 可管理连续的空间数据,无需分块、分幅 支持空间数据的版本管理和多用户并发操作,2、MapInfo 数据模型,MapInfo采用双数据库存储模式。其空间数据和属性数据是分开存储的。属性数据存储在关系数据库的若干属性表中,而空间数据则以MapInfo自定义格式保存在若干文件之中,两者之间通过一定的索引机制联系起来。,(1)表 MapInfo以表的形式来组织信息,表是使数据与地图有机联系的枢纽,它分为数据表和栅格表。(2)层 在MapInfo中,图层来自于含有图形对象的数据库表,每个含有图形对象的数据库表都可以显示为一个
22、图层。图层是含有图形对象的表。 图层基本文件:.tab, .dat, .map, .id 装饰图层、无缝图层,3、GeoStar,在GeoStar中,把GIS需要的地物抽象成结点、弧段、点状地物、线状地物、面状地物和无空间拓扑关系的面条地物。为了便于组织与管理,对空间数据库又设立了工程、工作区和专题图。 同一地理空间的多个专题层组成一个工作区,而一个工程又可以包含一个或多个工作区。,4、Oracle Spatial 的空间数据模型,Oracle Spatial是Oracle数据库公司的一个扩展产品,它具有专门的空间数据管理功能。 Oracle Spatial 提供了SQL几何类型、空间元数据模
23、式、空间索引以及一整套函数和过程集合,使在Oracle中对空间数据的存储,访问和分析更加快捷和高效。 空间数据和属性数据能在一个物理数据库中进行管理,提高了查询效率并减少了同步异步数据处理与集成的复杂度。,矢量空间数据库,空间对象,图形,属性,点,曲线,面,集合对象,线串,线段,弧,多边形,多面,多曲线,多点,多个多边形,多线串,Oracle Spatial 的空间数据模型,Oracle Spatial 利用对象关系模型,提供一种更抽象、更接近人的思维模式,用户可自定义、可以存储任何几何类型的空间数据类型。 它提供了丰富的空间操作函数和过程,以完成各种操作。 同时,Oracle Spatial提供了扩展SQL语句,以提供空间查询功能。,思考题,1、什么是Geodatabase?Geodatabase数据模型的主要技术优势是什么? 2、什么是SDE?3、什么是数据模型?什么是E-R模型?4、E-R模型有几部分组成?在E-R图中,各部分又是如何表示的? 5、关系数据模型具有哪些优缺点?,