《高级数据库技术第章空间数据库.pptx》由会员分享,可在线阅读,更多相关《高级数据库技术第章空间数据库.pptx(72页珍藏版)》请在第壹文秘上搜索。
1、第第10章章 空间数据库空间数据库10.1 空间数据库概述空间数据库概述4/26/2023110.1.1空间数据库的意义空间数据库的意义 从本体论的角度,研究和开发空间数据库的意义主要基于下述几个方面。 1时间和空间是物质存在的基本方式时间和空间是物质存在的基本方式 2空间数据是某些重要应用的基本形式空间数据是某些重要应用的基本形式 3复杂的非空间数据可以作为空间数据处理复杂的非空间数据可以作为空间数据处理4/26/2023210.1.2空间数据基本特征空间数据基本特征 1数据量大数据量大 结构复杂结构复杂 数据联系多样化数据联系多样化 2查询过程复杂查询过程复杂 3空间对象间难以定义次序空间
2、对象间难以定义次序4/26/2023310.1.3空间数据库作为常规数据库扩充空间数据库作为常规数据库扩充 由于空间数据库系统理论和技术还处于发展过程当中,而实际应用的需求又非常迫切,同时常规数据库(关系数据库)仍然是当今主流数据库,所以目前空间数据库是作为常规、传统数据库的扩充出现。在这种情况下,空间数据库主要包括下述一些方面的内容:4/26/20234 空间数据模型空间数据模型 基于实际应用,引入各种必须的空间数据类型,并讨相应的数据操作。 空间索引空间索引 由于空间对象之间难以合适的定义“序”,所以空间数据的索引就成为空间数据库技术的一个重要课题,在这方面已经取得了相当成熟的结果,并且应
3、用到其他的领域。 空间数据库管理系统空间数据库管理系统 空间数据模型和当前主流数据模型关系数据模型具有较大的差异,需要研究如何在RDBMS基础上有效扩充空间数据管理功能的问题。4/26/2023510.2 空间数据模型空间数据模型 10.2.1空间数据模型空间数据模型 空间数据模型与其它数据模型相比,一个突出的特点就是其模型的提出、引入与相应的实际应用密切相关。 空间数据库的一个重要应用领域是GIS。人们通常就以GIS为应用背景,介绍其中的基本空间数据类型。我们这里的介绍主要以二维空间数据类型为主,但完全可以推广到三维以上的情形。4/26/20236 在GIS中,基本空间数据类型由下述三种空间
4、对象组成: (1)点点(Point) 例如城市。点只表示其空间位置,不表示其范围(extent) (2)线线(Line)例如河流、道路、管道、航线、等高线、等降雨线、通信或电力线路等。线不仅表示线上各点在空间的位置,而且还有长度,即表示其在空间的延伸范围。 (3)区域区域(Region)例如森林、湖泊、行政区域等。区域不但有位置,而且有面积、周长等参数,以表示其覆盖范围。4/26/20237 以上三种是最基本空间数据类型,以此为基础,还可以导出下面两种空间数据类型: (4)划分划分(Partition)一个区域可以是按其自然、行政或其他特征,分成若干个区域。如果这些子区域互不相交,但其“并”覆
5、盖该区域,则此子区域的集合就称为该区域的一个划分。国家行政区域划分图,土地利用图等都是划分的例子。划分可嵌套,例如国家分成省市,省市分成县区、县区分成乡镇等。4/26/20238 (5)网络网络(Network)网络是由若干点和一些点与点之间的联线组成。例如公路网、河网、电力网、电话网、交通线路图等都是网络的例子。4/26/2023910.2.2空间对象所处的环境空间对象所处的环境 1.欧氏空间欧氏空间 设R表示实数域,V是R上向量的非空集合,如果在V上定义了满足如下条件并称之为内积的一个二元函数,则称V为R的欧氏空间: 非负性 0,=0 x=0, xV 对称性 = 线性性 = +,R;x,y
6、,zV 直线R,平面R2和空间R3通过适当的定义内积都是欧氏空间。4/26/202310 2.在欧氏空间中讨论空间对象间的关系在欧氏空间中讨论空间对象间的关系 我们主要在欧氏空间的环境中定义所有空间对象相互间关系的,这些关系可以分为基于集合、拓扑、.方位和.度量的关系,我们在下面分别讨论。4/26/20231110.2.3 空间对象之间关系空间对象之间关系 1.基于集合的关系基于集合的关系 基于集合的空间对象关系主要有元素与集合的属于及不属于的关系,集合与集合的包含、相交、并等关系。在空间对象间的层次关系就适合用集合的关系理论来讨论,例如城市包含公园,公园包含树林等。4/26/202312 2
7、.基于拓扑的关系基于拓扑的关系 基于拓扑的空间对象关系主要有邻接(meet)、包含(within)和交叠(overlap),这三类拓扑关系也是空间数据查询中最有可能出现的情况。空间数据库中,基于拓扑的查询需要解决这样两个问题: 查询所有与给定对象具有某种拓扑关系R的空间对象。 对象A和B具有怎样的拓扑关系。4/26/202313 在平面上,两个对象A和B之间的二元拓扑关系时基于以下对象成分的相交(insection)关系: A的内部A?,A的边界A,A的外部A-。B的内部B?,B的边界B,B的外部B-。4/26/202314 对象的这六个部分分别构成九种相交情况: A?B, A?B,A? B-
8、 ; AB?,A B,A B-;A- B? , A-B, A-B-。4/26/202315 考虑到0,1取值情况0,1,可以确定有29=512种二元拓扑关系,这里,人们研究其中的八种彼此互斥关系: 相离(disjoint),邻接(meet),交叠(overlap),相等(equal),包含(contain),在内部(inside),覆盖(cover)和被覆盖(covered by)。4/26/202316 3.基于方位的关系基于方位的关系 绝对方位 即在全球定位系统背景下定义的方位,例如东、西、南、北,东南、西南、东北等。 相对方位 即根据与给定目标的方向来定义的方位,例如左右、前后、上下等。
9、 基于观察者的方位 即按照专门指定的称为观察者参照对象来定义的方位。4/26/202317 4.基于度量的关系基于度量的关系 设有一个集合E,如果在E上定义了一个二元函数d(x,y),x,yE,满足如下条件: (1)非负性非负性 d(x,y)0 (2)对称性对称性 d(x,y)= d(y,x) (3)三角不等性三角不等性 d(x,y)d(x,z)+ d(z,y) 则称V是一个度量空间,d(x,y)称为V上的度量函数。4/26/202318 考察一个空间的“测度”,例如线段的长度,平面图形的面积,空间立体的体积,以及一个空间对象相对于另一个空间对象的距离等都是基于度量的关系。4/26/20231
10、910.2.4空间数据操作的谓词描述空间数据操作的谓词描述 从理论上讲,空间数据操作特别是空间数据查询的基础是空间对象之间的相互关系,从实际上看,由于空间数据类型取决于实际应用,空间数据操作主要也由现实中的应用所决定。下面主要介绍一些从空间对象相互关系角度考虑的相对比较基本的通用操作,而由应用的多样性,与应用密切相关的操作不拟一一介绍。空间数据操作的描述可以有谓词形式、集合形式和代数形式三种。 4/26/202320 1.基本符号基本符号 先定义空间数据操作中的一些记号。 SDT 空间数据类型 ZS 大小为零(zero size)空间数据类型,例如点 NZS 大小非零(non-zero siz
11、e)的空间数据类型,例如线、区域等 ADT 原子(atomic)空间数据类型 例如点、线、区域 CDT 集合型(collection)空间数据类型,例如网络、划分等4/26/202321 PT 点 LN 线 RG 区域 PTN 划分 NTW 网络4/26/202322 2.基于拓扑的描述基于拓扑的描述 两个同类型空间数据是否相等(= 或 ) PTPT Bool LNLN Bool RGRG Bool 空间数据SDT是否在区域RG中(INSERT) SDT RG Bool4/26/202323 两个大小非零的空间数据是否相交(INTERSECTS) NZS NSZ Bool 两个区域是否邻接(I
12、SNEIGHBOROF) RGRGBool4/26/202324 3.基于集合运算的描述基于集合运算的描述 (1)相交(Intersection) 两条线相交为点的集合 LNLNPT 线与区域相交为线的集合 LNRGLN 区域与区域相交为区域的集合 RGRGRG4/26/202325 (2)重叠(OVERLAP) PTNPTNFG (3)中心点(CENTER) NZSPT4/26/202326 4.基于度量的描述基于度量的描述 两点间距离(DIST) PTPT NUM DIST 两空间图形间的最大、最小距离(MAXDIST,MINDIST) SDTSDTNUM MAXDIST或MINDIST4
13、/26/202327 多点的直径(DIAMETER) PT NUMDIAMETER 线的长度(LENGTH) LN NUM LENGTH 区域的周长(PERIMETER)或面积(AREA) RG NUM PERIMETER 或AREA4/26/20232810.2.5空间关系的集合描述与判断空间关系的集合描述与判断 在空间数据库中,空间关系主要用于查询。为了获得可以接受的查询效率,常常把空间对象用点、矩形和方盒等简单,规则的图形表示。因此,只需要讨论这些规则几何图形的空间关系即可。这里,规则的几何图形可以看做空间中标准的“点集合”,因此,空间数据操作的集合描述就是这些标准集合间关系的描述。 4
14、/26/202329 1.一维空间中两个线段的关系一维空间中两个线段的关系 一维空间中两个线段的7种可能的关系,分别用记号“=、%、/、|、”表示。图10-4表示了这些关系,其中,(1)(5)是相交关系,(6)(7)是非相交关系。 设A、B线段的起点和终点分别为x1A,x2A,x1B,x2B,则(1)(5)的关系可以归纳为maxx1A,x1Bminx2B,x2B4/26/2023304/26/202331 2.二维空间中边平行于坐标轴矩形间的关系二维空间中边平行于坐标轴矩形间的关系 设A、B为这种矩形,其左下角坐标和右上角坐标分别为(x1A,y1A),(x2A,y2A)和(x1B,y1 B),
15、(x2 B,y2 B)。可以得到,如果A和B在x轴和y轴上的投影分别相交,则A、B相交。因此,A,B相交的条件可以表示为 max x1A,x1B min x2A,x2B 和max y1A,y1B min y2A,y2B 4/26/20233210.2.6空间关系的代数描述与运算空间关系的代数描述与运算 空间代数运算的特点在于选择条件或连接条件中出现空间谓词。投影、集合运算不涉及空间谓词,与关系代数没有本质区别。下面讨论空间选择和空间连接。4/26/202333 1.空间选择空间选择 例例10-1 写出下列空间选择表达式。 选择广东省所有城市: F(城市)其中,F=CENTER(城市地图)INS
16、IDE 广东; 城市是关系名,其中有属性“城市名”、“人口”、“城市地图”。城市地图表示市区及其周边地区,“广东”是一个区域名称。显然,如果城市中心点在广东省区域内,则该城市一定属于广东省 4/26/202334 选择广东省的所有河流: F(河流)其中 F=ROUTE(河流)INSIDE广东; “河流”是关系名,其中有属性“河流流域图”。ROUTE是空间数据库中的一个函数,计算河流、道路等的中心线。 选择距离广州小于等于100000米,人口大于等于50万的所有城市: F(城市,广东区域图)其中F=DIST(城市名,广州)500000; 城市是个关系,“广州”是城市名,F中的第一个谓词是空间谓词,要用到广东省地图。4/26/202335 2.空间连接空间连接 例例10-2 对每条河流找出沿河10000米的所有城市 设“河流”、“城市”是两个关系。在关系“河流”中,有属性“河流流域图”。如果城市中心距离河流小于等于10000米,则该城市和河流匹配。可以用空间连接表示如下: 河流名,城市名(河流 F城市) 其中,F=Mindist(城市名,ROUTE(河流流域图)100004/26/2023