空间数据库 中国石油大学.ppt
第三章空间数据管理,一、前言1.数据管理的几个阶段,人工管理阶段文件系统阶段数据库阶段高级数据库阶段,1人工管理阶段(五十年代中期以前),(1)没有专用的软件对数据进行管理;(2)没有文件的概念;(3)数据是面向应用的,不共享。,2文件管理阶段,(1)数据可以长期保存在文件中;(2)由文件系统管理数据;(3)数据共享性差,冗余度大;(4)数据独立性差。,数据独立性的含义(1)物理独立性用户的应用程序不会因为物理表示和访问技术的改变而改变。(2)逻辑独立性用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。,,3)数据库阶段,,特点(1)数据结构化是数据库与文件系统的根本区别;(2)数据的共享性高,冗余度低,易扩展;(3)数据独立性高;(4)数据库系统为用户提供了方便的用户接口;(5)数据由DBMS统一管理和控制。数据的安全(Security)保护数据的完整性(Integrity)检查并发(Concurrency)控制数据库恢复(Recovery),,数据库系统阶段,各阶段的比较,阶段人工管理阶段文件处理阶段数据库系统时间50年代60年代70年代数据共享性无共享共享差共享好数据独立性无独立性独立性差物理独立性高一定逻辑独立性数据结构化无结构化纪录内有结构整体结构化整体结构化差用数据摸型描述,,,,,,,,,4高级数据库阶段,分布式数据库空间数据库面向对象数据库数据仓库,2.数据文件,常用的数据文件顺序文件、索引文件、随机文件、倒排文件。GIS中常自定义数据文件来组织空间数据。,1、顺序文件(SequentialFile)最简单的文件组织形式顺序文件中数据按记录中主关键字的顺序组织。顺序文件的记录,逻辑上是按主关键字排序的,而在物理存储上可以有不同的方式,包括向量方式、链方式、块方式。,盘地址关键字数据项42001001420510024210100342151004,顺序文件的查找主要为顺序查找、折半查找等,向量方式逻辑结构同物理结构一致;链方式通过指针连结逻辑顺序;块方式上述两种方式的结合(块内是向量方式,块间是链方式),物理地址,逻辑地址,内容,链方式,存储内容包括1.记录本身(主文件)2.若干索引表这种带有索引表的文件叫索引文件。,2索引文件(IndexFile),索引表中列出1.记录的关键字2.记录在文件中的位置(地址)。,弧段数据文件,弧段索引表,,,,,,如已知一多边形坐标数据文件,可建立索引文件,多边形号坐标点数1001102x1y1X2y2x3y3.x101y101x1y120065x1y1x2y2.x64y64x1y1200686x1y1,索引文件索引有序文件多边形号物理地址多边形号物理地址200200100120062006,有序,,无序,,读取记录时,只要提供记录的关键字值,系统通过查找索引表获得记录的位置,然后取出该记录。索引表一般都是经过排序的,也可以是非顺序的;可以是单级索引,也可以是多级索引,多级索引可以提高查找速度,但占用的存储空间较大.,3)、随机文件(DirectAccessFile),随机文件又称直接文件,其存储是根据记录关键字的值,通过某种转换方法得到一个物理存储位置,然后把记录存储在该位置上。查找时,通过同样的转换方法,可以直接得到所需要的记录。,通过HASH函数(哈希函数)把关键字转换为地址进行存取的文件。DF(Key,哈希函数,,倒排文件是带有辅索引的文件,其中辅索引是按照一些辅关键字来组织索引的(注意索引文件是按照记录的主关键字来构造索引的,也叫主索引)。倒排文件是一种多关键字的索引文件,其中的索引不能唯一标识记录,往往同一索引指向若干记录。通过辅索引不能直接读取记录,而要通过主关键字才能查到记录的位置。,,4)倒排文件(InvertedFile),,倒排文件的主要优点在处理多索引检索时,可以在辅检索中先完成查询的‘交’、‘并’等逻辑运算,得到结果后再对记录进行存取,从而提高查找速度.,土地资源文件,,数据库是是存储在计算机中、按一定数据模型组织、可共享的数据集合,这些数据用于各种应用系统中。,数据库中数据的特点数据是持久的数据是集成的数据是共享的数据按一定的数据模型组织、描述和储存,3、数据库(Database,简称DB),,,,,,,应用程序1,,,,应用程序2,应用程序3,4、数据库管理系统(DBMS),DBMSDataBaseManagementSystem是位于用户与操作系统之间的一层数据管理软件,它提供了数据库的访问接口。,DBMS的主要功能,数据定义功能数据操作功能数据库运行管理(恢复、并发控制、安全性、完整性)数据库的建立和维护功能,DBMS的目的提供方便地、有效地存取数据库信息的环境。,,,,硬件,应用开发系统,DBMS,操作系统,DBMS在信息系统中的位置,5、数据库系统(DatabaseSystemDBS),数据库系统是指在计算机系统中引入数据库后的系统,包括数据库数据库管理系统(及其开发工具)应用系统数据库管理员用户,DBSDBDBMSAPPLICATIONDBAUSER,DatabaseAdministrator,,数据库系统构成,小知识点文件处理系统和数据库管理系统,数据定义使用特定的数据结构定义,利用文件形式存储,称之为文件处理系统。,文件处理系统,文件处理系统缺点首先每个应用程序都必须直接访问所使用的数据文件,应用程序完全依赖于数据文件的存储结构,数据文件修改时应用程序也随之修改;其次的是数据文件的共享程度差;另外缺乏集中控制也会带来一系列数据库的安全问题。,数据库管理系统(DatabaseManagementSystem,DBMS)是在文件处理系统的基础上进一步发展的系统。,数据库管理系统,可以认为,DBMS在用户应用程序和数据文件之间起到了桥梁作用。,DBMS优点DBMS优点是提供了数据独立性,即应用程序访问数据文件时,不必知道数据文件的物理存储结构。当数据文件的存储结构改变时,不必改变应用程序。,空间数据库指的是地理信息系统在计算机物理存储介质上存储的与应用相关的地理空间数据的总和,一般以特定结构的文件的形式组织在存储介质之上的。空间数据库管理系统则是指对物理介质上存储的地理空间数据进行语义和逻辑上的定义,提供必需的空间数据查询检索和存取功能,以及能够对空间数据进行有效的维护和更新的一套软件系统。,小知识点空间数据库与空间数据库管理系统,二、空间数据模型,传统的地理数据模型,1)层次模型树数据结构描述了各类客体及客体之间的联系。然而,层次模型限制每个客体类最多只能有一个双亲客体类,而一个双亲客体则可有多个子女客体类。双亲和子女客体类之间即形成了所谓的层次关系。,优点层次分明,组织有序;缺点数据独立性较差;难以表达多对多的关系;导致数据冗余,2)网络模型图数据结构优点能描述多对多关系缺点结构复杂,限制它在空间数据表达中的应用,3)关系模型表数据结构80年代后主导数据库是基于关系模型。关系模型的理论基础是关系理论,它通过关系运算操作数据。优点概念简单,结构灵活,易理解,易维护;有标准的关系查询语言SQL支持。缺点不适合描述非结构特征数据,关系模型中的有关概念关系关系是一个二维表,表的每行对应一个元组,表的每一列对应一个域。关键字关系中的某一属性组,若它的值唯一地标识了一个元组,则称该属性组为候选关键字。若一个关系中有多个候选关键字,则选定一个为主关键字。关系数据库一系列关系的集合构成一个关系数据库。关系数据库有型、值之分。关系完整性即指关系的正确性、相容性和有效性。它是给定的关系模型中数据及其联系的所有制约和依存规则,用以限定数据库状态及状态变化,从而保证数据的正确、相容和有效。,关系模型的完整性有三类实体的完整性、参照完整性和用户定义的完整性,范式关系满足某种规范化的形式称为范式。从一个低一级范式的关系模式,通过模式分解转换为若干个高一级关系模式集合的过程,叫做规范化。第一范式关系中的每个属性是原子的、不可分割的数据项。在关系数据库中,若一个关系模式满足1NF,它就是合法的。,非第一范式关系表,第一范式关系表,第二范式是指关系在满足1NF的基础上,每一个非主属性完全函数依赖于该关系的关键字。即当一个非关键字字段部分地函数依赖于关键字时,就违反了2NF。,分解为第二范式的关系表,*学生学号,学生姓名,性别,课程名称,籍贯,成绩,,,,,,,,,,*学生学号,学生姓名,性别,*课程名称,籍贯,成绩,*学生学号,,非第二范式关系表,,第三范式指关系在满足第二范式的基础上,其非关键字属性(即非主属性)既非函数依赖,也不传递依赖于关键字,即属于3NF的关系,其非关键字属性之间都是独立的,不存在函数依赖关系,非第三范式关系中的传递依赖,*生学号,学生姓名,,性别,,,,分解成两个第三范式关系,学生所在系,出生日期,籍贯,系所在地点,,,,,,,,*生学号,学生姓名,性别,学生所在系,出生日期,籍贯,系所在地点,*学生所在系,,,传统数据模型存在的主要问题(黄杏元,地理信息系统概论),面向对象的地理数据模型(自学),1、概念a.基本思想面向对象的基本思想是通过对问题领域进行自然分割,用更接近人类通常思维的方式建立问题领域的模型,并进行结构模拟和行为模拟,从而使设计出的软件能尽可能地直接表现出问题的求解过程。,b.一些术语的基本概念,对象,类消息方法,2.面向对象数据模型的四种核心技术,分类概括聚集联合,,3、面向对象的地理数据模型和数据结构,a.基本含义(见课本)面向对象的地理模型的核心是对复杂对象的模拟和操作,,b.复杂对象定义及其特点面向对象的地理模型的核心是对复杂对象的模拟和操作定义所谓复杂对象是指具有复杂结构和操作的对象。复杂对象可以由多种关系聚合抽象而成,或由不同类型的对象构成,或具有复杂的嵌套关系等。,复杂对象的特点一个复杂对象由多个成员对象构成,每个成员对象又可参与其他对象的构成具有多种数据结构一个复杂对象的不同部分可由不同的数据模型所支持。,,c.面向对象地理模型的特点可充分利用现有数据模型的优点具有可扩充性可以模拟和操纵复杂对象,d.GIS中面向对象的数据模型和数据结构,在GIS的面向对象的数据结构中,通常可以把空间数据抽象为点、线、面三种简单的地物类型,作为三种简单对象点状地物线状地物面状地物一个地理实体可以由这三种简单对象之一构成,复杂的地理实体可以由多种简单对象构成,甚至可以由其他复杂对象构成,工作区1,工作区2,工作区3,工作区n,,图层1,图层2,图层3,图层n,地物1,地物2,地物3,地物n,点状地物,线状地物,面状地物,标识码,属性表,结点,弧段,标识码,注记,属性表,结点坐标,始点,终点,左面,右面,标识码,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,三、空间数据管理中的数据库技术,(一)、关系数据库技术1970年IBM公司的E.F.Codd提出了关系模型理论,奠定了关系数据库的理论基础;20世纪70年代末,IBM公司在IBM370系列机上成功实现了原型系统SystemR;20世纪80年代以来,关系数据库成为数据库主流。,1、关系数据模型的数据结构,关系数据库系统是建立在关系模型上的数据库系统;在关系模型中,现实世界中的实体以及实体间的各种联系均用关系表示;关系数据库是表的集合。,关系模式关系名属性1,属性2.属性n关系通常说的表;元组关系表中的一行;属性关系表中的一列;主码能唯一确定元组的某属性组;域属性的取值范围;分量元组中的一个属性值,关系数据模型的数据结构为,关系模式土地利用地块号、面积、使用类型、植被),关系,属性,,,,,,元组,,,,,2、关系的基本性质,1)列是同质的(Homogeneous),即每一列中的分量是同一类型的数据,来自同一个域。3)列的顺序无所谓,即列的次序可以任意交换。3)任意两个元组不能完全相同。4)行的顺序无所谓,即行的次序可以任意交换。5)分量必须取原子值,即每一个分量都必须是不可分的数据项。,(二)、SQL查询语言(结构化查询语言),数据库的核心应用是数据库的查询,查询语言从数据库中请求获取信息的语言,是过程化的查询语言。SQL(StructureQueryLanguage是数据库查询语言,1986年由美国国家标准化协会(ANSIAmericanNationalStandardsInstitute),国际标准化组织(ISOInternationalOrganizationforStandardization批准作为关系数据库查询标准语言。,1、SQL查询语言概述,1)SQL查询语言的发展SQL-86、SQL-89、SQL-92SQL2、SQL-99SQL3SQL数据库查询语言已是国际标准,大部分DBMS产品都支持SQL,成为操作数据库的标准语言。它对其它领域产生很大影响。它是综合的、通用的、功能强、简单易学的语言。,2SQL查询语言的主要功能,SQL提供的主要功能包括数据的定义;数据的操作;数据的控制;数据的查询。SELECT的简单查询功能是对一个数据库表进行查询,以便选择表中某些列或某些行。,2、SQL查询语言中核心SELECT语句,SQL查询语言中数据的查询动词是SELECT1)SELECT的简单查询功能当数据库查询只涉及到一张表时,查询的目的是选择符合条件的某些列或行。,,SELECT语句的一般形式为ALL*SELECTDISTINCT选择表FROM基表名WHERE条件表达式[GROUPBY列名1[HAVING条件表达式]]ORDERBY列名2ASCDESC,,,,,,,,,对查询结果列名排序,选择形成的结果表,对查询结果按列名分组,目标列表达式,所查询的表,查询条件,根据WHERE子句的条件表达式,从FROM子句的表中,找出满足条件的元组,按SELECT子句的目标列表达式选出元组中的属性,形成结果表。,2)Where子句,Where子句中写条件表达式Where子句中可嵌套select语句,GROUP子句,则将结果按的值进行分组,该属性列值相等的元组为一组,占结果表的一条记录。GROUP子句可带HAVING短语,输出指定条件的组。having子句作用于组,从中选择满足条件的组,having子句中可使用聚集函数,3)groupby(对元组进行分组),将结果按的值进行升序或降序排序升序ASC(缺省)、降序DESC对于空值,若升序,含空值的元组最先显示;若降序,含空值的元组最后显示.,4)OrderBy子句(对查询结果排序),3、SQL查询中的聚合函数,聚合函数把一列中的值进行聚合运算,然后返回值的函数。五个预定义的聚合函数为●平均值Avg(字段名)●总和Sum(字段名)●最小值Min(字段名)●最大值Max(字段名)●计数Count(字段名)如Countcountry,4、GIS中SQL查询---例1,Selectfromwhere,,,,GIS中SQL查询例2,查世界地图属性表中有多少国家总人口总面积,5、SQL的多表查询功能,1)多表的连接查询对数据库进行查询涉及到几张表时,称连接查询。多表的连接查询表格的连接查询其数据需要从多个表中获取,它实际上是将具有公共字段的表合并成一个表,再进行SELECT查询。具体的说,在SELECT语句中基表名多于一个;SELECT语句条件表达式中要添加匹配不同表的记录的语句。,多表的连接查询例,多表连接查询在SELECT语句中基表名多于一个;SELECT语句条件表达式中要添加匹配不同表的记录的语句。如查出美国地图数据中总人口大于1000万且洲府人口大于20万的洲。SELECT*FROMStates,StatecapWHEREStates.stateStatecap.StateandStates.pop_199010000000andStatecap.pop_1990200000,2)SQL的嵌套查询功能,SQL的嵌套查询是指在SQL查询语句的where功能中嵌入另一个SELECT查询子语句。当进行SQL的嵌套查询时,自下而上由里向外的进行,即通常首先进行SELECT的子查询,而后再作进一步的查询。这种层层嵌套方式,真是SQL“结构化”的含义。,,嵌套查询功能例,例Mapinfo中的嵌套查询求世界地图中同伊拉克处于同一州的国家SELECTcountry,continentFROMworldWHEREcontinentselectcontinentfromworldwherecountry“Iraq”首先求出伊拉克处于那个州;之后求出同伊拉克处于同一州的国家,,,6、非标准SQL查询,非标准SQL查询主要指对空间数据的查询.在Mapinfo中表示在SELECT语句中增加了地理函数和地理运算符.,例Mapinfo中的嵌套查询求美国“I10”号高速公路经过哪几个洲先美国高速公路中找出“I10”号高速公路;再找“I10”号高速公路经过哪几个洲。,WhereStates.objcontainsUs_Hiway.objandStates.objIntersectSelectobjfromUs_Hiwaywhereus_Hiway.highway“I10”,,地理运算符,,从选择出Us_Hiway中选出I10,,,实现求交,,将两表建立联系,,(三)、面向对象的数据库管理系统,面向对象的数据库管理系统被称为第三代数据库系统,它吸取了面向对象程序设计概念和思想。它支持面向对象的数据模型和传统数据库系统所有的数据库特征。它自1989年出现曾很活跃,试图成为标准,但未成气候。,1、面向对象的数据库管理系统的特点能完整的描述现实世界的数据结构,表达数据间的嵌套、递归。利用面向对象的技术的封装性,继承性,从提高了软件的可重用性。,2、面向对象数据库系统的实现,以关系数据库和SQL为基础的扩展关系型例如美国加州伯克利分校的POSRGRES就是以INGRES关系数据库系统为基础,扩展了抽象数据类型ADTAbstractDataType,具有面向对象的特性。以面向对象的程序设计语言为基础,支持面向对象模型。例如美国Ontologic公司的Ontos是以面向对象程序设计语言C为基础的。建立新的面向对象数据库系统,支持面向对象数据模型。例如法国O2Technology公司的O2。,(四)、对象---关系数据库技术,对象---关系数据库是介于关系数据库系统和对象数据库管理系统中间,由关系数据库系统和面向对象的数据库管理系统结合而成的数据库管理系统。,1、对象---关系数据库的优点,对象---关系数据库除了具有关系数据库的特点外,将其进行扩充,使其能直接存储和管理空间几何数据。表现在允许用户扩充基本数据类型;支持SQL查询;支持类、数据、函数的继承;提供功能强大的同其它对象---关系集成的规则系统。,2、对象---关系数据库的实现方法,开发新的对象---关系数据库系统,不现实。在现有关系数据库系统基础上,进行扩展对关系数据库系统核心扩充,增加对象特性;不改变关系数据库系统核心,而是在关系数据库系统外提供对象---关系应用编程接口,实现到关系数据库系统的映象查询。将关系数据库系统同其它对象---关系数据库系统或对象---关系型引擎连接。目前著名的对象---关系数据库系统如ORACLE8.0;INIX9.0,(五)、网络数据库技术,1、数据库系统的三种主要结构模式单用户结构库式客户/服务器(C/S)结构模式WEB(B/S)结构模式,1)单用户结构库式,应用程序、DBMS、数据、都在一台机器上,有一个用户独占。,,将数据库系统分成前台的客户应用程序和后台的服务部分,其间通过网络连接,由客户机和服务器共同完成处理任务。客户/服务器结构数据库管理系统的核心是客户应用程序只通过SQL向服务器发服务请求,服务器完成任务后,将结果发回给客户应用程序,服务器的工作对客户应用程序是透明的。,2)客户/服务器(C/S)结构模式,,,服务器的任务为多个用户管理和维护一个独立的数据库;管理并处理客户的请求;管理数据和系统的安全等。客户的任务提供用户界面;建立同服务器的连接;向服务器提交和接受请求;数据的输入输出及验证等。,,,,,,客户机(用户界面、应用程序)数据库服务器数据库,,客户/服务器结构,,,数据库,3)WEB(B/S)数据库结构模式,WEB(B/S)数据库结构模式是构成WEB的技术基础,是WEB技术和数据库技术相结合的新技术。它实现开发环境和应用环境的分离,用户端用统一的浏览器代替客户软件。用户通过浏览器的表单()向WEB服务器发送HTTP协议方式的请求,WEB服务器收到请求后向数据库服务器发请求,数据库服务器执行接收的请求,并将结果返回WEB服务器。,,WEB(B/S)数据库结构,,,浏览器,,,WEB服务器,数据库服务器,,,数据请求,HTTP协议请求,返回数据结果,返回浏览器,2、网络数据库技术(略),网络信息系统中访问数据库技术1)Microsoft提出了一系列访问数据库接口ODBC(OpenDatabaseConnectivity,开放数据库连接)技术2)Java数据库访问技术JDBC(JavaDatabaseConnectivity,Java数据库连接),作为Java语言的数据库访问API,四、空间数据库及其管理,空间数据库的理论和方法是GIS技术的核心。空间数据库模型是数据库中对数据的逻辑组织形式的描述。,1、从数据管理的角度看GIS中数据的特点,数据量大,常要作查询,因此必需注意提高查询效率,如建立索引等;数据类型和关系复杂常要记录拓扑关系;GIS数据常具有非结构化特征,如描述线面状地物的长度不等;数据要嵌套;一个对象可能包含多个对象。,(一)、传统DBMS管理和空间数据管理,2、关系模型描述空间数据存在的问题,缺乏构造复杂对象的能力以记录为单位的数据模型不能很好的面向用户,不能描述嵌套和递归等复杂关系。数据类型少不支持抽象数据类型如不能定义几何数据类型(点,线,面)和空间操作算子(相交,包含等),无法完成地理意义上的分析查询;缺乏语义表达能力,即语义贫乏它表达实体和实体间关系只能在表内,,或通过公共值的跨表连接,实现效率低,不利于建立数据的概念模型。表形式不适用表示图形数据图形数据涉及的坐标、属性、拓朴关系用表格表示使问题显得复杂化。,(二)、空间数据管理系统的模式的类型,1、全文件管理系统,将属性数据和空间数据均放在文件系统中进行管理。程序依赖于数据文件的存储结构,数据文件修改时,应用程序也随之改变。,全文件管理系统的优缺点优点(1)厂商可根据自己要求定义文件格式,管理数据;(2)有利于存储非结构化不定长数据。缺点它具有文件系统的缺点(1)不利于数据查找,如系统开发者要编写程序实现数据的更新、查询;(2)数据共享性等差。多个程序共享一数据文件时,文件的修改,需得到所有应用的许可。不能达到真正的共享,即数据项、记录项的共享。,2、文件和关系数据库混合系统(Hybridmodel,,文件和关系数据库混合系统是传统GIS所用的方式。如arcinfo,mapinfo等.系统中,图形用数据文件存储,属性用关系数据库表存储。两者通过标识符相联结,这种方式实际上不能建立真正意义上的空间数据库,,1)文件和关系数据库混合系统的模式,文件和关系数据库混合应用,,2)文件和关系数据库混合系统的优缺点,优点GIS可通过DBMS提供的高级编程语言的接口,直接操纵属性数据,查询属性数据库,并在GIS的用户界面下,显示查询结果。在ODBCOpenDataBaseConnectivity,开放式数据库互连推出后,GIS软件商只需开发GIS与ODBC的接口软件,就可将属性数据与任何一个支持ODBC的RDBMS连接。这样用户可在一个界面下处理图形和属性数据。,,缺点,(1)属性数据和图形数据通过ID联系起来,使查询运算,模型操作运算速度慢;(2)数据分布和共享困难;(3)属性数据和图形数据分开存储,数据的安全性、一致性、完整性、并发控制以及数据损坏后的恢复方面缺少基本的功能;(4)缺乏表示空间对象及其关系的能力。,目前,空间数据管理正在逐步走出文件管理模式,3、全关系型数据库系统管理,基于关系模型的方式,将图形数据按关系数据模型组织。将图形数据的变长部分处理成BinaryBlock字段(多媒体或变长文本)。,图形数据和属性数据都用现有的关系数据库管理系统管理,管理数据库管理系统不作任何扩展,由GIS软件商在此基础上进行开发,1全关系型数据库系统两种模式,1基于关系模型组织图形数据,要找出组成多边形的采样点坐标,涉及多个关系表,作多次连接投影运算。,P1,P2,C,N,E,2图形数据和属性数据统一存储在通用关系数据库中,也就是说将图形文件转成关系存放在目前大部分关系型数据库提供的二进制块中(即将图形数据的变长部分处理成Binary二进制块Block字段)。,空间数据访问接口,,用户界面,数据库访问接口,空间数据库,,,,,GIS,RDBMS,2)全关系型数据库系统管理的优缺点,优点(1)在全关系型数据库中加入了二进制数据块形式省去大量关系连接操作,可提高查询速度;(2)便于数据的维护;缺点(1)不定长记录造成存储效率的下降;(2)实现SQL查询要附加接口;因此它只适用于功能简单的GIS。,4、对象---关系型数据库系统ExtendedModel,采用通用关系数据库管理系统效率低,面向对象型空间数据库管理系统又不够成熟,随着空间信息系统的发展,许多数据库管理系统的软件商纷纷对关系数据库进行扩充,使之能直接存储非结构化的空间数据,形成对象---关系型数据库GIS系统。,对象关系型空间数据库是在标准的RDBMS上加了一层空间数据管理专用模块如Oracle在其数据库中加入了oralceSpatial组件,以支持空间数据;Inix为用户定义数据类型,提供了DataBlade插件。定义了操作点、线、面等空间对象的函数,解决了空间数据的变长记录管理。,DBMS软件商在RDBMS中进行扩展,使之能直接存储和管理非结构化的空间数据,如Inix和Oracle等都推出了空间数据管理的专用模块,定义了操纵点、线、面、圆等空间对象的API函数。主要解决空间数据的变长记录的管理,效率比二进制块的管理高得多,但仍没有解决对象的嵌套问题,空间数据结构不能由用户定义,用户不能根据GIS要求再定义,使用上受一定限制。,1)对象---关系型空间数据库优点,解决了空间数据的变长记录管理,使数据管理效率大大提高;空间和属性之间联结有空间数据管理模块解决,不仅具有操作关系数据的函数,还具有操作图形的API函数;对象---关系型空间数据库是在标准的关系数据库上加一层空间数据管理模块;用该层功能将地理结构查询语言转化成标准的SQL查询,空间数据查询速度快。,2)对象---关系型空间数据库缺点,空间数据对象还不能有用户任意定义,用户使用受一定限制。如定义的空间函数支持的对象不带拓扑关系,用户不能定义带拓扑关系的数据模型。,5、面向对象型数据库系统,面向对象型空间数据库管理系统最适合空间数据的表达和管理。,1)面向对象型数据库系统的优点,支持变长记录,还支持对象的嵌套,信息的继承和聚集。面向对象数据库管理系统允许定义合适的数据结构和数据操作。2)面向对象型数据库系统的缺点不支持SQL语言,在通用性上受局限。面向对象型空间数据库管理系统还不够成熟,价格又昂贵,目前在GIS领域还不通用。,6、空间数据的查询---扩展SQL,扩展SQL是实现空间数据查询的一种方式,为了实现对空间数据的查询。它通过用户自定义类型和相关函数,为空间数据提供高层次的抽象。如通过定义多边形和相关函数,帮助判断多边形之间是否有公共边界等。,OpenGIS定义的有关扩展SQL的一些操作,基本函数SpatialReference基本坐标系Envelope最小外接矩形Export其它形式几何体IsEmpty几何体是空集IsSimple简单几何体Boundary几何体边界拓扑/集合运算符Equal几何体相等Disjoint几何体内部和边界均不相交Intersect几何体不相交Touch几何体边界相交相邻又不相交Cross一条线和面的内部相交Within几何体内部不和另一几何体外部相交Contains几何体包含另一几何体Overlap两个几何体内部有非空交集,OpenGIS定义的有关扩展SQL的一些操作(续),空间分析Distance两个几何体间最短距离Buffer几何体的距离小于或等于指定几何体的点集合ConvexHull几何体的最小闭包Intersection两个几何体的交集构成的几何体Union两个几何体的并集构成的几何体Difference几何体与给定几何体不安相交的部分SymmDiff两个几何体同对方互不相交,例1、查出中国的邻国有哪些SelectA1NameAs“中国的邻国“FromCountryA1,CountryA2WhereTouchA1.Shape,A2.Shape1ANDA2“中国“其中谓词Touch是OGIS标准定义的拓扑谓词,用来检查两个几何体边界相邻而不相交。例2、查出长江流经中国的哪些省SelectRName,CNameFromRiverR,CountryCWhereCrossR.Shape,C.Shape1其中谓词Cross是OGIS标准定义的拓扑谓词,用来检查一条线和多边形是否相交。,五、空间数据的分层和空间数据索引机制,1、空间数据的分层,1)空间数据分层的方法按专题分层;按时间序列分层;按地面垂直高度。,2)空间数据按专题分层例,森林分布图,,,行政区图,水系图,公路图,树种分布图,,,,,图层1图层2图层3图层n,2.空间索引机制,1).定义空间索引就是指依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构,其中包含空间对象的概要信息,如对象的标识、外接矩形及指向空间对象实体的指针。,,作为一种辅助性的空间数据结构,空间索引介于空间操作算法和空间对象之间,它通过筛选作用,大量与特定空间操作无关的空间对象被排除,从而提高空间操作的速度和效率。空间索引的性能的优劣直接影响空间数据库和地理信息系统的整体性能,它是空间数据库和地理信息系统的一项关键技术。,常见大空间索引一般是自顶向下、逐级划分空间的各种数据结构空间索引,比较有代表性的包括BSP树、R树、R树和CELL树等。此外,结构较为简单的格网型空间索引有着广泛的应用。,2)索引类型,基本思想是将研究区域用横竖线条划分大小相等和不等的格网,记录每一个格网所包含的空间实体。当用户进行空间查询时,首先计算出用户查询对象所在格网,然后再在该网格中快速查询所选空间实体,这样一来就大大地加速了空间索引的查询速度。,a.格网型空间索引,,空间属性表(AttributeTable,orBusinessTable)描述要素的一般信息,如湖泊的深度,空间索引表(SpatialTable)描述要素所在格网的信息,要素描述表(SpatialTable)描述要素的点数,范围等信息,三张表通过FID(FeatureID)关联,b)基于四叉树的格网索引,四叉树有两种线形四叉树和层次四叉树对于线形四叉树而言,先采用MORTON编码(peano键),然后根据空间对象覆盖的范围进行四叉树分割,如图,空间对象E,它的最大最小范围,涉及到由叶结点0开始的4*4个结点,所以索引表,举例1,,,,,,,,,A,B,C,D,,,,,,,,,,,,,,,空间索引空间对象代码A3B13B15B24-27B37B48C35C40-42D61,,,,,举例2,,,,,,,,,,,,,,,BSP树是一种二叉树,它将空间逐级进行一分为二的划分。BSP树能很好地与空间数据库中空间对象的分布情况相适应,但对一般情况而言,BSP树深度较大,对各种操作均有不利影响。,C)BSP树空间索引,BSP树,d)R树和R树,R树根据地物的最小外包矩形建立,可以直接对空间中占据一定范围的空间对象进行索引。,R树,由于R树兄弟结点对应的空间区域可以重叠,因此,R树可以较容易地进行插入和删除操作;但正因为区域之间有重叠,空间索引可能要对多条路径进行搜索后才能得到最后的结果,因此,其空间搜索的效率较低。,正是这个原因促使了R树的产生。在R树中,兄弟结点对应的空间区域没有重叠,而没有重叠的区域划分可以使空间索引搜索的速度大大提高;但由于在插入和删除空间对象时要保证兄弟结点对应的空间区域不重叠,而使插入和删除操作的效率降低。,R树,E)CELL树,CELL树考虑到R树和R在插入、删除和空间搜索效率两方面难于兼顾,CELL树应运而生。它在空间划分时不再采用矩形作为划分的基本单位,而是采用凸多边形来作为划分的基本单位,具体划分方法与BSP树有类似之处,子空间不再相互覆盖。CELL树的磁盘访问次数比R树和R树少,由于磁盘访问次数是影响空间索引性能的关键指标,故CELL树是比较优秀的空间索引方法。,CELL树,采用标准DBMS存储空间数据的主要问题,1)在GIS中,空间数据记录是变长的,而一般数据库要求记录为固定长度。另外,在存储和维护空间数据拓扑关系方面,DBMS也存在着严重的缺陷。2)DBMS一般都难以实现对空间数据的关联、连通、包含、叠加等基本操作。3)GIS需要一些复杂的图形功能,一般的DBMS不能支持。4)地理信息是复杂的,单个地理实体的表达需要多个文件、多条记录、或许包括大地网、特征坐标、拓扑关系、空间特征量测值、属性数据的关键字以及非空间专题属性等,一般的DBMS也难以支持。5)具有高度内部联系的GIS数据记录需要更复杂的安全性维护系统,否则一条记录的改变就会使其他数据文件产生错误。一般的DBMS都难以保证这些。,GIS数据管理方法主要4种类型,1)对不同的应用模型开发独立的数据管理服务,这是一种基于文件管理的处理方法。2)在商业化的DBMS基础上开发附加系统。开发一个附加软件用于存储和管理空间数据和空间分析,使用DBMS管理属性数据。3)使用现有的DBMS,通常是以DBMS为核心,对系统的功能进行必要扩充,空间数据和属性数据在同一个DBMS管理之下。需要增加足够数量的软件和功能来提供空间功能和图形显示功能。4)重新设计一个具有空间数据和属性数据管理和分析功能的数据库系统。,关于空间数据管理小结,