第1章 空间数据库简介

上传人:马*** 文档编号:240700009 上传时间:2024-05-01 格式:PPT 页数:63 大小:1.08MB
返回 下载 相关 举报
第1章 空间数据库简介_第1页
第1页 / 共63页
第1章 空间数据库简介_第2页
第2页 / 共63页
第1章 空间数据库简介_第3页
第3页 / 共63页
点击查看更多>>
资源描述
空间数据库危双丰危双丰北京建筑工程学院北京建筑工程学院测绘与城市空间信息学院测绘与城市空间信息学院引言1、GIS的灵魂是什么?2、什么将是GIS发展中永恒的主题?3、实现空间数据库的核心技术是什么?数据(Data)空间数据引擎(SDE)数据库和网络教学目标l1.了解空间数据模型l2.掌握空间数据库的设计方法l3.学会使用空间查询语言l4.掌握空间索引的基本原理和方法l5.了解查询处理与优化的方法。l6.掌握ARCGIS软件的使用和基于ArcEngine的GIS二次开发教材及参考书l教材:空间数据库,机械工业出版社,2004l参考书:吴信才,空间数据库,科学出版社,2009崔铁军,地理空间数据库原理,科学出版社,2007教材教材电子版参考资料考核方式l作业10%l二次开发实践40%l考试50%章节安排l1.空间数据库简介空间数据库简介l2.空间概念和数据模型空间概念和数据模型l3.空间查询语言空间查询语言 l4.空间存储和索引空间存储和索引 l5.空间查询与优化空间查询与优化 l6.空间网络l7.空间数据库应用和数据挖掘l8.空间数据库的发展趋势第1章空间数据库简介l1.1概述l1.2空间数据库管理的适用人群l1.3GIS和SDBMSl1.4空间数据库的三类用户l1.5一个SDBMS的应用案例l1.6空间数据库概览1.1概述l数字化,信息化,第四媒体的时代l传统数据库管理系统的局限l据统计,80%的数据具有地理空间特征l空间数据库-GIS数据库“列出北京建筑工程学院方圆5公里以内的所有书店名称”“列出拥有北京市超过万种图书的书店名称”空间数据的特征空间数据的特征空间特征:有空间坐标,隐含空间分布特征空间特征:有空间坐标,隐含空间分布特征非结构化特征:变长的非结构化特征:变长的空间关系特征:拓扑关系空间关系特征:拓扑关系分类编码特征:每一对象有一个分类编码分类编码特征:每一对象有一个分类编码海量数据特征:海量数据特征:GBGB、TBTB级或更大级或更大1.2空间数据库管理的适用人群l移动电话用户l军队作战指挥官l保险公司风险经理l气象学家l运输/物流专家l城市规划专家l环境规划师l流域/灌区信息系统管理员l水资源管理工程师l。1.3GIS和SDBMSl常用的GIS分析操作列表搜索定位分析地形分析流分析分布空间分析/统计度量专题搜索、按区域搜索、(再)分类缓冲区、廊道、叠加(分析)坡度/坡向、流域、排水系统连接性、最短路径变化检测、接近、最近领域模式、中心、自相关、相似性检索、拓扑距离、周长、形状、相邻、方向利用SDBMS可以对更多的对象集和图层进行操作例如:“列出伊朗所有的邻国?”,“长江穿过哪些省市?”GIS回答这些集合查询迟缓空间数据库管理系统SDBMSlSDBMS可以建模空间概念模型;lSDBMS可以回答基于集合的查询;l处理存储在二级设备(磁盘、光盘、光盘机)上的海量空间数据;l多用户以及并发机制。1.4空间数据库的三类用户l主流数据库用户Oracle,Informix,IBMlInternet用户WebGIS,WirelessGISl个人数字助理LBSGPS1.5一个SDBMS的应用案例l矢量图层(地块、交通、河流等);l基本图像,人口普查,行政边界;l人口普查区(名字、区域面积、人口数量、边界)CreateTablecensus_block(namestring,areafloat,populationnumber,boundarypolyline);明尼苏达州Ramsey县的TM数据标识ID为1050的人口普查区及其空间数据表(0,0)(1,0)(0,1)(1,1)xyName Area Population Boundary105011839Polyline(0,0),(0,1),(1,1),(1,0)Census_blocks1234ABCD1050数据类型string,float,number,polyline关系数据库的特点l在关系数据库中,所有的实体、对象或概念都表示为关系或表;l实体的属性是原子的,具有固定的数据类型;l关系数据库中属性的类型并不包括空间几何类型,多边形并不是内建的数据类型。解决方法:在关系数据库中创建有重复属性的表解决方法:在关系数据库中创建有重复属性的表集合。集合。如何在关系数据库中存储空间类型数据?Name Area Population Boundary105011839Polyline(0,0),(0,1),(1,1),(1,0)Census_blocks人口普查区数据类型string,float,number,polyline?边界(多边形)在关系数据库中的表示boundary-IDEdge-name1050A1050B1050C1050DNameAreaPopulationboundary-ID1050118391050Edge-nameendpointA1A2B2B3C3C4D4D1Census_blocks人口普查区Polygon多边形endpointx-coory-coor101200310411Point点Edge边缺点l实现一个空间数据类型,需要多个表,实现过程过于复杂;l空间对象无法自然地映射到关系数据库中;l用户视图与数据库实现之间存在语义鸿沟。方法l面向对象数据库l抽象数据类型面向对象数据库l面向对象的编程l面向对象的分析与设计l面向对象的数据模型l面向对象的数据库特征:抽象、分类、继承、封装用户自定义数据类型(Oracle示例)CreateTypeland_parcelasobject(addressstring,boundarypolyline);CreateTypepolylineasobject(CoorListpoint,MEMBERFUNCTIONArea()RETURNNUMBER);面向对象数据库系统OODBMS的制约l尽管OODBMS产品面世多年,被市场接受有限。lSQL成为通用语言,是与关系数据库联系在一起的。完全抛开关系数据库不现实。集成了ADT和其他面向对象设计原则的关系数据库称为对象关系数据库OR-DBMS。数据库的演化文件系统网状DBMS层状DBMS关系DBMS面向对象OODBMS对象关系DBMS(ORDBMS)抽象数据类型ADT为什么要用抽象数据类型抽象数据类型?非空间属性1非空间属性2非空间属性3空间属性字段字段(非空间属性属性,空间属性)NameareapopulationboundaryCreateTablecensus_block(namestring,areafloat,populationnumber,boundarypolyline);表模式模式 (人口普查区的例子)105011839Polyline(0,0),(0,1),(1,1),(1,0)元组、实体对象(记录)抽象数据类型抽象数据类型(Abstract Data Type 简称简称ADT)l是指一个数学模型以及定义在此数学模型上是指一个数学模型以及定义在此数学模型上的一组操作的一组操作l数据抽象数据抽象用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外部用户的接口(即外界使用它的方法)l数据封装数据封装将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现细节抽象数据类型的构成抽象数据类型的构成ADT 抽象数据类型名抽象数据类型名 数据对象:数据对象:数据对象的定义数据对象的定义 数据关系:数据关系:数据关系的定义数据关系的定义 基本操作:基本操作:基本操作的定义基本操作的定义 ADT的一个例子ADT Complex 数据对象:数据对象:De1,e2e1,e2RealSet数据关系:数据关系:R1|e1是复数的实数部分,|e2是复数的虚数部分基本操作:基本操作:InitComplex(&Z,v1,v2),操作结果:构造复数Z,其实部和虚部分别被赋以参数v1和v2的值。DestroyComplex(&Z),操作结果:复数Z被销毁。GetReal(Z,&realPart),初始条件:复数已存在。操作结果:用realPart返回复数Z的实部值。GetImag(Z,&ImagPart),初始条件:复数已存在。操作结果:用ImagPart返回复数Z的虚部值。Add(z1,z2,&sum),初始条件:z1,z2是复数。操作结果:用sum返回两个复数z1,z2的和值。ADT Complex例如:ADT复数的描述(C+)classComplex/类的声明protected:double realpart;doubleimagpart;public:Complex();Complex(doublerealVal,doubleimagVal);Complex(Complex&z)assign(z);Complex();voidassign(Complex&z);doublegetReal(void)constreturnrealpart;doublegetImag(void)constreturnimagpart;friendComplexadd(Complex&z1,complex&z2);类的实现部分类的实现部分Complex:Complex(doublerealVal,doubleimagVal)realpart=realVal;imagpart=imagVal;voidComplex:assign(Complex&z)realpart=z.realVal;imagpart=z.imagVal;Complexadd(Complex&z1,complex&z2);Complexsum(z1);sum.realpart=z2.realVal;sum.imagpart=z2.imagVal;returnsum;ORACLE抽象数据类型l创建抽象数据类型的语法(必须用NOTFINAL关键字指出是可以继承的类型)CREATETYPEtype_nameASOBJECT(columns)NOTFINAL;ORACLE抽象数据类型l例:创建抽象数据类型-地址类型addresstypelcreateorreplacetypeaddresstypeasobject(provincevarchar(20),cityvarchar(30),streetvarchar(40)l-使用自定义的抽象数据类型创建表lcreatetablestudents(stuNamevarchar(10),stuAddressaddresstype);集成ADT与DBMS的条件l扩展SQL以支持ADTlOODBMS必须广泛使用;空间查询的例子:找出所有与MY-HOUSE相邻的地块,用SQL表达:lSELECTM.addresslFROMland_ParcelL,MlWHEREAdjacent(L,M)ANDL.address=MY-HOUSE空间查询的特点l支持空间操作:例如空间函数Adjacent(L,M)lSQL-3/SQL-1999支持ADT和更多的数据结构,例如表、集合、数组和包l集成了ADT和其他面向对象设计的关系数据库称为对象关系数据库管理系统(OR-DBMS)空间数据库管理系统(SDBMS)的定义l(1)一个SDBMS是一个软件模块,它利用低层数据库管理系统(ORDBMS、OODBMS);l(2)SDBMS支持多种空间数据模型、相应的空间抽象数据类型(ADT)以及一种能够调用这些ADT的查询语言;l(3)SDBMS支持空间索引、高效的空间操作算法以及用于查询优化的特定领域规则。图1-6SDBMS的三层体系结构空间应用的接口核心技术DBMS的接口空间数据库抽象数据类型数据模型网络海量数据可视化空间概念模型空间数据类型和操作 空间查询语言空间操作算法空间索引访问方法索引结构空间连接基于代价的选择估计并发控制/恢复/备份 视图派生数据空间应用DBMSGISMMISCAD对象关系数据库空间数据刀片空间数据选项空间数据引擎1.6空间数据库概览l空间分类和数据模型l查询语言l查询处理l文件组织和索引l查询优化/数据挖掘1.6.1空间分类和数据模型l拓扑空间相邻l网络空间最短路径l方位空间东南西北/上下左右l欧几里德几何 距离数据模型与数据结构l对象模型(实体模型或要素模型)l场模型l矢量数据结构l栅格数据结构1.6.2查询语言l关系查询语言(SQL2):需要扩展(空间数据和操作)以支持空间查询;lSQL-3标准:支持ADT和其他数据结构;lOGC标准:OGIS(OpenGIS)协会提出一套规范,把2D地理空间ADT整合到SQL中。1.6.3查询处理l单遍扫描查询:被查询的表中的一条记录最多只被访问一次;l多遍扫描查询:连接查询,合并数据库中的两个表,空间连接与非空间连接l参议员(Senator)l公司(Business)NameSoc-SecGenderDistrict(Polygon)B-NameOwnerSoc-SecLocation(Point)公司名称老板名字老板身份证号公司地点官员名字身份证号性别管辖区域(选区)查询l找出拥有B-NAME公司的所有女性官员的名字SELECTS.nameFROMSenatorS,BusinessBWHERES.soc-sec=B.soc-secANDS.gender=FemaleANDB.Name=B-NAMENameSoc-SecGenderDistrict(Polygon)B-NameOwnerSoc-SecLocation(Point)非空间连接查询l找出其代表的选区面积大于300平方公里并在这个选区中拥有公司的所有议员SELECTS.nameFROMSenatorS,BusinessBWHERES.district.Area()300ANDS.Soc-sec=B.Soc-secANDWithin(B.location,S.district)NameSoc-SecGenderDistrict(Polygon)B-NameOwnerSoc-SecLocation(Point)空间连接空间连接l两个表中空间类型字段的操作;l包括空间比较、空间操作等;Equal,Within,Cross,Contain等l两个几何图形的查找和比较计算非常耗时。空间连接(Spatial-join)的查询处理l过滤:判断两个图形的空间关系,首先判断他们的最小外包矩形(MBR)理由是一个查询区域(例如矩形)与一个矩形之间的求交计算要比一个查询区域与一个任意多边形的不规则空间对象之间的求交计算容易ABCD过滤BCD查询处理l精选:对过滤的结果进行精确的几何条件处理BCDBC精选空间连接查询l过滤阶段可以简化为确定全部矩形两两相交的问题两个矩形集合R=R1,R2,R3,R4和S=S1,S2,S3代表参与连接的两个表中空间属性的MBRR1R2R3R4S2S1S3两个矩形的集合X轴y轴一个矩形T可以用其左下角(T.xl,T.yl)以及右上角(T.xu,T.yu)来确定两个矩形的集合X轴y轴T(T.xl,T.yl)(T.xr,T.yr)矩形T的左下角和右上角按矩形左下角的X值T.xl排序,构成RUSR4S2S1R1S3R2R3R1R2R3R4S2S1S3过滤:判断外接矩形的交两个矩形的集合X轴y轴、过滤结果R1R2R3R4S2S1S3过滤的目的l过滤为精选阶段提供候选对,尽可能多地淘汰不符合条件的对,从而减小精确几何计算的代价。1.6.4文件组织和索引l有限的主存、无限的硬盘空间l访问硬盘的速度大约是内存的十万倍lGIS数据分析:程序员的观点(CPU+内存)lSDB处理海量数据:DBMS设计的观点(I/O效率,内存+磁盘)l按照索引检索数据可以提高访问数据的速度。Z-排序索引1234567891011121314151613911241012571315681416行排序Z排序Z曲线的搜素顺序(Z值)02134B树B树的定义B树是一种平衡的多分树,通常我们说m阶的B树,它必须满足如下条件:(1)每个结点至多有m个子结点;(2)除根结点和叶结点外,其它每个结点至少有m/2个子结点;(3)若根结点不是叶子结点,则至少有两个子结点;(4)所有的叶结点在同一层;B树二叉树R树degfijhABCABCdefghij1.6.5查询优化/空间数据挖掘l查询优化(第5章)l将近80的数字化数据与空间信息有关;l大数据集分析(如遥感数据的分类);l空间相关分析(如1854年伦敦霍乱与受污染水源的关系)。小结l空间数据管理用于许多领域(空间信息系统,遥感、自然资源管理、城市规划)l空间信息模型和数据结构l空间数据特点以及传统数据库系统的扩展l空间查询处理方法习题l1论述空间数据库和非空间数据库的区别。l2空间数据库有哪些应用?
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!