幻灯片1空间数据库SpatialDataBase李霞2013-4幻灯片21.1概述1.2应用领域1.3对比SDBMS与GIS1.4用户分类1.5SDBMS的一个应用实例1.6空间数据库包含的内容1.6.1空间类型,数据模型,1.6.2查询语言,1.6.3查询处理,1.6.4文件组织和索引,1.6.5查询优化,1.6.6数据挖掘幻灯片3学习目标学习目标(LO)LO1:理解SDBMS的价值应用领域用户与DBMS的区别?LO2:理解空间数据库的概念LO3:学习SDBMS的组成幻灯片41.1概述:SDBMS的价值传统(即非空间的,non-spatial)数据库管理系统:具有持久性(persistence)允许数据间的并发(concurrent)对于超出计算机内存允许范围的大数据量数据集进行查询时具有可伸缩性(scalability)满足非空间数据库查询需求,但不满足空间数据库查询非空间查询:列出书店中1万多条的图书记录根据销售额,列出2001年前10位客户的名字空间查询:列出明尼阿波利斯市10英里范围内的所有书店的名字列出田纳西州以及与其相邻接的州内所有客户的名字幻灯片51.1概述:SDBMS的价值–空间数据举例非空间数据举例人的姓名,电话号码,电子邮箱地址空间数据举例人口普查资料NASA卫星影像–每天产生TB(1024GB)量级的数据天气和气候数据河流、农场、生态影响医疗图像幻灯片61.2应用领域许多重要的应用领域需要进行空间数据查询,举例如下:军队指挥官:从昨晚至今敌军是否有重大行动?保险业的风险管理经理:密西西比河的下次洪水泛滥最可能影响到哪些住户?医生:根据病人核磁共振影像,我们是否遇到过类似的病例?分子生物学家:基因组中的氨基酸合成基因是否能在数据库中的其他特征序列图中找到?天文学家:在两个弧分和类星体中找到蓝星系。气象学家,药剂研究者,运动员,公司供货经理,运输专家,城市规划专家,滑雪胜地拥有者,农场主,高尔夫场开发商,应急服务幻灯片71.3对比SDBMS与GISGIS是一个用空间分析功能对空间数据进行可视化和分析的软件,其功能有搜索专题搜索,按区域搜索,(再)分类位置分析缓冲区,影响区域,叠置地形分析坡度/坡向,集水区,排水网络流向分析连通分析,最短路径分布特征变化监测,临近分析,最小邻域空间分析/统计模式,向心性,自相关,相似度指数,拓扑测量距离,周长,形状,邻接,方向GIS使用SDBMS存储,搜索,查询,共享大型空间数据集幻灯片81.3对比SDBMS与GISSDBMS专注于存储,查询,共享大型空间数据集的效率基于查询操作提供更简单的数据集操作举例:根据区域查询,叠置,最小邻域,距离,邻接,周长等运用空间索引和查询优化来加速针对大型空间数据集的查询。SDBMS可能用在GIS以外的应用中天文学,基因组学,多媒体信息系统,...运用GIS或SDBM能回答以下问题吗?美国与多少个国家相邻?哪个国家的邻国最多?幻灯片91.4用户分类---1在市场上出现了专门的空间产品,用来提高通用DBMS的空间处理能力。例如,Oracle、lnformix和IBM就分别推出了空间附件,并冠以暗盒(cartridge)、数据刀片(datablade)这类隐喻性的名称,或者采用空间选项(spatialoption)之类的温和叫法。1)从主要数据库厂商的观点来看,管理空间数据需要专门的产品,但空间数据显然不是商务中使用的唯一数据类型。其实,空间数据并非仅有的特殊数据类型。比如,除了空间附件外,数据库厂商还发布了用于时序的(tempora1)、可视的(visual)以及其他多媒体形式数据的附件。幻灯片101.4用户分类---22)GIS厂商所定位的客户群体是那些只关注于空间数据分析的用户。这块特定的市场相对较小,其中包括科学界和政府部门的专家。与其他信息技术的用户相比,GIS用户更多是在封闭的环境中工作,使用特别为他们设计的专用数据库。为了管理数量不断增长的空间(和非空间)数据,并且链接到商业数据库中,GIS厂商推出了诸如ESRI的SpatialDataEngine这种中间件产品。幻灯片111.4用户分类3--“GIS”的演化地理信息系统(1980s)地理信息科学(1990s)地理信息服务(2000s)Fig1.1幻灯片12GIS的三层含义地理信息系统针对专业用户的软件,例如,制图工程师例如:ESRIArc/Infosoftware地理信息科学形成使用和开发地理信息系统和服务的概念、框架和理论例如:为查询设计空间数据类型和操作地理信息服务为普通用户提供的网站和服务中心,例如,游客例如:谷歌地图提供的路径规划服务幻灯片131.4用户分类---33)随着Internet时代的到来,出现了另一批使用空间数据的用户群,他们更喜欢在一个非常高级的、用户界面非常友好的层次上使用空间数据。比如,Internet上一种很受欢迎的站点是为访问者提供导向地图。另一类站点提供了和空间数据相关的搜索引擎,这种引擎能够回答像“找出明尼阿波利斯市所有墨西哥餐馆”这样的查询。空间技术另一个有前景的用途是移动电话定位。GISociety幻灯片141.5SDBMS示例明尼苏达州Ramsey郡空间数据集:县界(白色虚线)人口普查分区-名称,面积,人口数,边界(黑线)水体(黑色多边形)卫星影像(灰度像素)存储在SDBMS表格中:createtablecensus_blocks(namestring,areafloat,populationnumber,boundarypolygon);Fig1.2幻灯片15在传统DBMS中的空间数据建模census_blocks表中的一行(Figure1.3)问题:DBMS支持Polyline数据类型吗?Figure1.3幻灯片16将“census_table”表映射到关系数据库中Fig1.4幻灯片17空间数据类型和传统数据库传统关系DBMS支持简单数据类型,例如,number,strings,date空间数据类型建模冗繁例如:Figure1.4显示了使用数字进行多边形建模三个新表:polygon,edge,points注意:多边形是起点和终点相同的多义线(polyline)一个简单的正方形需通过3个表共计16行来表示简单的空间操作,例如,area(),要求连接表冗繁并且计算效率低问题:给帮助空间数据类型(如,polygon)建模的后关系型数据库管理系统命名.幻灯片18DBMS技术的演化Fig1.5幻灯片19空间数据类型与后关系型数据库后关系DBMS支持用户定义的抽象数据类型可添加空间数据类型(e.g.polygon)后关系DBMS的可选类型面向对象型的(OO)DBMS对象关系型的(OR)DBMS幻灯片20OODBMS(1)面向对象的软件方法基于用户定义数据类型的原理,它具有继承性和多态性。C++、Java和VisualBasic这些语言的广泛使用,表明软件业中已经牢固树立了面向对象的概念。地块问题看起来似乎是面向对象设计的一个自然应用:声明一个polyline类和另一个land_parcel类。land_parcel类含有两个属性:字符串类型的address属性和polyline类型的boundary属性。我们甚至不需要area(面积)属性,因为可以在polyline类中定义一个area方法,在需要的时候计算任何地块的面积。但这还不够。幻灯片21OODBMS(2)抽象数据类型(abstractdatatype,ADT)的引入增加了DBMS的灵活性,但是,在ADT能完全集成到,DBMS之前,首先要解决两个对数据库的特殊制约:尽管OODBMS产品已经面世多年,然而市场对此类产品的接受能力却很限。这就减少了调整OODBMS产品性能所需的经济和工程耗费。其结果是,许多GIS用户将使用其他的系统而不是OODBMS来管理空间数据。SQL是数据库世界的“国际通用语言”,它与关系数据库模型紧密地联系在一起。SQL是一种声明性语言,即用户只需要描述所希望得到的结果,而不用关心产生结果的方法。幻灯片22SQL空间查询例如,查询“找出所有与MY_HOUSE相邻的地块”用SQL可以表达为:SELECTM.addressFROM1and_parcelL,MWHEREAdjacent(L,M)ANDL.address=‘MYHOUSE’DBMS的任务就是实现查询语句中指定的操作。特别是,函数Adjacent(L,M)应该可以在SQL内调用。通常采用的SQL-92标准支持用户定义的函数,而下一个修订版本SQL-3/SQL1999支持ADT和更多的数据结构,如列表、集合、数组和包。集成了ADT和其他面向对象设计原则的关系数据库称为对象关系数据库管理系统(ORDBMS)。幻灯片23SDBMS是什么?SDBMS是一个软件模块能够与底层的DBMS协同工作支持空间数据模型,空间抽象数据类型(ADTs)和能调用ADTs的查询语言支持空间检索,处理空间操作的有效算法,以及针对领域的查询优化规则例如:OracleSpatialdatacartridge(暗盒),ESRISDE能够与Oracle8iDBMS协同工作具有空间数据类型(e.g.polygon),操作(e.g.叠置),可调用的SQL3查询语言具有空间索引,e.g.R-trees空间数据库是空间数据类型、操作、索引、处理策略等的集合,能够与许多后关系数据库管理系统、程序语言(如JAVA,VISUALBASIC等)协同工作。幻灯片24三层结构Fig1.6空间数据刀片(SpatialDataBlade)空间数据暗盒(SpatialDataCartridge)空间数据引擎(SpatialDataEngine、ESRI)幻灯片251.6空间数据库的内容:SDBMS的组成学习目标学习目标(LO)LO1:理解SDBMS的价值LO2:理解空间数据库的概念LO3:学习SDBMS的组成结构选择SDBMS的组成:数据模型,查询语言,查询处理与优化文件管理与索引数据挖掘幻灯片261.6空间数据库的内容:SDBMS的组成重温一下:SDBMS是一个软件模块能够与底层的DBMS协同工作支持空间数据模型、空间抽象数据类型(ADTs)和能调用ADTs的查询语言支持空间检索、处理空间操作的有效算法、以及针对领域的查询优化规则组成部分包括GISMMISCAD网络数据量可视化解译离散化等级/分辨率一致性数据模型抽象数据类型空间应用空间应用接口核心空间分类空间数据类型与操作空间查询语言空间操作算法空间索引(带并发控制)索引结构空间连接专题功能加载并发控制恢复/备份视图导出数据面向关关系的的数据据库服服务器器DBMS空间数据库DBMS接口空间数据模型,查询语言,查询处理,文件组织与索引,查询优化等.Figure1.6显示了这些组成部分幻灯片271.6.1空间分类,数据模型空间分类法:组织空间的方式有多种描述对结构相同的关系进行拓扑建模,e.g.叠置在平面中对距离和方向进行欧几里得空间建模对连通性和最短路径进行图形建模空间分类法:涉及了多种可用来组织空间的描述方法,其中包括拓扑的、网状的、方位的以及欧氏几何的。要根据我们对空间建模感兴趣的原因,来选择合适的空间描述。幻灯片281.6.1空间分类,数据模型空间数据模型识别可辨认的事物以及空间属性的规则实物模型(Objectmodel)帮助管理可辨认的事物,例如,山脉,城市,宗地等。场模型(Fieldmodel)帮助管理连续且无形的现象,e.g.湿地,卫星影像,降雪等更多的细节将在第2章中涉及.幻灯片291.6.2空间查询语言空间查询语言空间数据类型,e.g.点,线,面,…空间操作,e.g.叠置,距离,最小邻域,…可从位于底层的DBM