环境地理信息系统主讲人:梅琨kunjuly@wmu.edu.cn第八章空间数据组织与管理第一节空间数据管理的特点第二节空间数据库管理技术的发展第三节空间数据的组织第四节空间索引第一节空间数据管理的特点为什么空间数据需要管理?空间数据特征空间数据的特征?????这些特征都决定了需要行之有效的方法去管理空间数据1.空间特征/空间关系特征2.非结构化特征3.多源特征特征4.多尺度多时态特征5.海量数据特征•空间特征与空间关系特征传统的数据库管理技术面临挑战:图形与分析的需求•非结构化特征结构化的数据库管理技术面临挑战:内模型、外模型•多源特征不同类型空间数据在数据库中适应性问题•多尺度、多时态空间数据管理中难以解决的问题•海量数据特征空间数据管理永恒的命题:满足大数据的应用需求什么是空间数据管理?空间数据管理的定义•基于传统的数据库技术,面向空间数据的特点,研究数据的存储方法、索引技术和查询技术。•空间数据的管理技术的发展与数据库管理系统的技术发展密切相关。•数据库:是指长期储存在计算机内,有组织的、可共享的数据集合。•空间数据库:也称为地理信息系统数据库,是某一区域内关于一种或多种地理要素特征的数据集合,是计算机物理存储介质中的地理空间数据的总和。其特点:1、数据量大;2、包括空间数据和属性数据第二节空间数据管理技术的发展数据库管理系统(DBMS,DataBaseManagementSystem):数据库管理系统是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。数据库管理系统提供数据的定义、操作、描述的语言,还有数据库的运行管理、建立以及维护,一般指数据库管理软件如SQLServer、Orcal、MySql.文件系统网状数据库管理系统关系数据库管理系统面象对象数据库管理系统层次数据库管理系统对象关系数据库管理系统数据库管理系统的发展采用树结构来表示实体间联系的模型,其存储的数据具有一个以上的记录类型,采用1:N连接关系描述的数据库存储方式。1、层次数据库系统User_IDArea32345.453443425.453257654.8760User_IDSoil_texture3Clay4Loam5SandyUser_IDLandClass324153User_IDLanduse_type3Rice4Rice5Maize层次数据结构采用M:N连接关系描述的数据库存储方式。由于其空间关系复杂,因此,在GIS中并没有广泛应用。2、网状模型数据库系统关系数据库模型(RelationalDatabaseManagementSystem,RDBMS)是指数据库由二维表格来构成的,采用二维表格结构来表示实体和实体之间的联系,一个二维表格就是一个关系。数据库是关系的集合(也就是表格的集合),其基本结构包括:表格、记录和字段。3、关系模型数据库系统表格,平面文件,即单个表格数据库。字段(属性)记录User_IDLanduseLandprice233ClayHigh234LoamHigh235SandyLowTerrainSlopeImprovedPlain0NoPlain3NoHill25YesLanduseTerrainOwnerClayPlainA1LoamPlainA2SandyHillA3User_IDTerrainSlope233Plain0234Plain3235Hill25关系数据结构面向对象的数据库模型:把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致。面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统。4、面向对象的数据库模型空间数据管理模式的变迁——四种模式:1、文件-关系型模式用文件系统管理空间数据,用关系数据库来管理属性数据,用ID来建立图形与属性的关系。在商业上取得巨大的成功,软件产品代表:ESRI早期产品,如Coverage的组织与管理•文件-关系型模式的缺点:–两库分离的结构影响了执行效率并增加了构造/维护和修改一个应用系统的复杂度,由于文件系统的管理功能弱,数据的安全性、一致性、完整性、并发控制和数据损坏后的修复能力差;–混合模型也限制了GIS应用的发展。空间数据无法用类似SQL那样的操作,导致内部数据格式各种各样,系统之间的差别也很大,这些使得数据的共享和互操作成为首要问题。2、全关系型模式图形数据与属性数据均采关系数据库来存储,用关系数据库连接机制来建立两者间的关联。DBMS(数据库管理系统)属性数据(定长)空间数据(变长)数据库将空间数据的变长部分,通常是图形的坐标数据,当做一个Binary二进制块,交由关系型数据库管理系统进行存储和管理空间数据引擎•关系数据库管理系统(Oracle、SQLServer、DB2、Access)的软件厂商不作任何扩展,由GIS软件商在此基础上进行开发——空间数据引擎,使之能够管理结构化的属性数据,而且还能管理非结构化的图形数据。空间数据库引擎(SDE,SpatialDatabaseEngine)空间数据引擎主要是为了解决存储在关系数据库中的空间数据与数据库应用程序之间的接口问题。SDE客户端RDBMSSDE服务器处理数据库服务器SQL引擎•典型软件:ESRIArcSDE•从数据管理的角度来看,ArcSDE可看成是一个扩展的空间数据模型,借助这一模型,我们可以用关系数据库管理空间数据。•全关系型模式的缺点:–二进制块的读写效率比定长属性字段慢很多,特别是牵涉对象的嵌套,速度更慢。3、对象-关系数据管理;使用能够直接存储和管理非结构化的空间数据的数据库管理系统。DBMS(数据库管理系统)空间数据和属性数据库空间数据管理专用模块(API)•由于非结构化的空间数据非常重要,许多数据库管理系统的软件商在关系数据库系统中进行扩展,使之能直接存储和管理非结构化的空间数据,如Oracle、SQLServer等都推出了空间数据管理的专用模块。•专用模块定义了操纵点、线、面等空间对象的API函数。这些函数将各种空间对象的数据结构进行了预先的定义,用户使用时必须满足它的数据结构要求,用户不能根据GIS软件的要求再定义。•对象-关系型模式的缺点–这种扩展的空间对象管理模块主要解决了空间数据变长记录的管理,由数据库软件商进行扩展,效率比前面所述的二进制块的管理高很多,但是它没有解决对象的嵌套问题,这些API函数涉及的空间对象一般不带拓扑关系,空间数据结构又不能由GIS用户任意定义,因此拓扑数据结构就不能用这种对象-关系模型存储。4、面向对象型模式面向对象模型最适应空间数据的表达和管理,它不仅支持变长记录,还支持对象的嵌套、继承和聚集。面向对象的空间数据库管理系统允许GIS用户定义对象和对象的数据结构以及对它的操作。当前已经推出了若干个面向对象的数据库管理系统,如O2、Objectstoreotorn等,但由于面向对象数据库管理系统还不够成熟,价格又贵,目前在GIS领域还不太通用。今后基于对象-关系的空间数据库管理系统是GIS空间数据组织与管理的主流。第三节空间数据组织•空间数据组织的方法由空间数据的管理模式确定;•四种空间数据组织方法:–文件-关系型空间数据模式下的空间数据组织–全关系型空间数据模式下的空间数据组织–对象-关系型空间数据模式下的空间数据组织–面向对象型空间数据模式下的空间数据组织•核心思想–操作系统对文件大小的限制因素,为了进行管理和组织,海量的空间数据文件必须遵循“由大变小”、“化整为零”,将大文件变成小文件的原则–纵向分层,横向分幅(块)图幅数据的组织•当图幅增多时,如何实现对图幅的查找和管理,就涉及到“图形库管理”•图库管理:让用户实现在整个区域内进行众多的图幅(分区)、工作层的调用,图幅的拼接,图幅的剪切,跨图幅的工作层的漫游、查询、分析和制图等。123456789101112•图幅数据的组织方法:GIS工程工作区图幅工作层地物类地物•GIS工程:GIS中将某一问题域或某一项任务称为一个GIS工程。•工作区(workspace):根据问题的需要和工作方便,根据需要将一幅或者相邻几幅图当做一个工作单元。•图幅:随着GIS工程范围的扩大,必须将空间数据进行分副管理。•工作层:将工作区按照实体的类型分为若干个图层,工作层由一种或多种地物类组成。•地物类:类型相同的地物总称。工作区1GIS工程GIS数据的组织管理工作区2工作区m……图幅1图幅2图幅n……工作层1工作层2工作层p……地物类1地物类2地物类q……地物1地物2地物r……工作区工作区、工作层、逻辑层示意图水系居民点……道路铁路公路高速公路等级公路等外公路工作层逻辑层属性数据管理属性数据由关系数据库管理,但是它的文件的组织也要服从工作层、工作区和图库的要求。它有三种组织方式:1、与地物相对应的组织方式:一类地物对应一个属性文件;2、与工作区对应的组织方式:一个工作区一个属性文件;3、混合方式:既可以一个地物一个属性表(基本表),同时也可以多个地物共用一个属性表(扩展表)。空间数据组织的内涵•是空间数据模型的自然延伸空间数据组织的内涵•GIS软件操纵空间数据的核心空间索引:是指依据空间对象的位置和形状或者空间对象之间的某种空间关系按一定的顺序排列的一种数据结构。对一个数据集做”索引“,是为了提高对这个数据集检索的效率。书的”目录“就是这本书内容的“索引”。如果一本书没有目录,可以想象有多么不方便…可见书的目录有多重要,索引有多重要啊!“索引”可以很方便地实现查询功能。第三节空间数据索引为什么要建立“空间索引”呢?“空间索引”也是索引,是对空间图形集合做的一个目录,提高在这个图形集合中查找某个图形对象的效率。比如说,我们在一个地图图层上进行矩形选择,确定这个图层上哪些图元被这个矩形所完全包含呢,在没有”空间索引“的情况下,我们会把这个图层上的所有图元,一一拿来与这个矩形进行几何上的包含判断,以确定到底哪些图元被完全包含在这个矩形内。在建立索引时,按照划分区域是否与空间对象的分布特征有关的标准,空间索引可以分为两大类:划分区域与空间对象分布特征无关(格网索引;四叉树索引);划分区域与空间对象的分布特征有关(BSP树;KD树;KDB树;R树及其变种;Cell树;X树;TV树)空间索引的分类格网索引是指将整个研究区按照一定的范围分成大小相等的格网,然后记录每个格网内所包含的空间实体,为了便于建立空间索引的线性表,将每个格网按照一定的方式进行编码,从而建立编码与实体之间的关系。2123293153556163202228305254606217192527495157591618242648505658571315373945474612143638444613911333541430281032344042Peano码实体7B55C54C60C26A48A15A……实体Peano码A26,48,50,15,37,39,14B7C55,54,60……BAC四叉树索引是指建立四叉树索引时,根据所有空间对象覆盖的范围,进行四叉树分割,使每一个子块中仅包含单个实体,然后根据包含每个实体的子块层数或者子块大小建立相应的索引表。13021315121457468CABPeano码边长实体04B82C11A……R树和R+树空间索引(R,Rectangle)R树和R+树空间索引按照空间实体的最小外接矩形来建立空间索引。空间实体为叶节点,采用空间聚集的方式把相邻空间实体划分在一起,组成更高一级的节点。DEFGABC….HIJKLMNABCDEFGHIJKLMN•在众多空间索引中,不同的索引有不同的优势和不足及适用范围。在选取哪种索引作为空间数据索引时,要根据实际情况和需要来确定。目前很多GIS软件中采用多种索引机制并存、取长补短的策略;•如ArcSDE采用固定格网索引方法,Mapinfo采用R树系列索引方法,MapGIS和SuperMap采用的是四叉树索引方法,OrcaleSpat