高级数据库技术 第10章 空间数据库
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/1/8
6
? 在GIS中,基本空间数据类型由下述三种空间对 象组成:
? (1)点(Point) 例如城市。点只表示其空间位 置,不表示其范围( extent)
? (2)线(Line)例如河流、道路、管道、航线、 等高线、等降雨线、通信或电力线路等。线不仅 表示线上各点在空间的位置,而且还有长度,即 表示其在空间的延伸范围。
2020/1/8
33
? 1.空间选择
? 例10-1 写出下列空间选择表达式。
? ●选择广东省所有城市:
? σF(城市)其中, F=CENTER (城市地图) INSIDE 广东;
? 城市是关系名,其中有属性“城市名”、“人
口”、“城市地图”。城市地图表示市区及其周
边地区,“广东”是一个区域名称。显然,如果
城市中心点在广东省区域内,则该城市一定属于
广东省
2020/1/8
34
? ●选择广东省的所有河流:
? σF(河流)其中 F=ROUTE(河流)INSIDE广东;
? “河流”是关系名,其中有属性“河流流域图”。ROUTE 是空间数据库中的一个函数,计算河流、道路等的中心线。
? ●选择距Байду номын сангаас广州小于等于100000米,人口大于等于50万 的所有城市:
2020/1/8
25
? (2)重叠(OVERLAP) ? PTN×PTN→2FG ? (3)中心点(CENTER) ? NZS→PT
2020/1/8
26
? 4.基于度量的描述 ? ●两点间距离(DIST) ? PT×PT → NUM DIST
? ●两空间图形间的最大、最小距离 (MAXDIST,MINDIST)
2020/1/8
8
? (5)网络(Network)网络是由若干点和 一些点与点之间的联线组成。例如公路网、 河网、电力网、电话网、交通线路图等都 是网络的例子。
2020/1/8
9
10.2.2空间对象所处的环境
? 1.欧氏空间
? 设R表示实数域, V是R上向量的非空集合,如果 在V上定义了满足如下条件并称之为内积的一个 二元函数 <x,y>,则称V为R的欧氏空间:
? ● 对象A和B具有怎样的拓扑关系。
2020/1/8
13
? 在平面上,两个对象A和B之间的二元拓扑 关系时基于以下对象成分的相交(insection) 关系:
? A的内部——A?,A的边界?A,A的外部—— A-。
? B的内部——B?,B的边界?B,B的外部—— B-。
2020/1/8
14
? 对象的这六个部分分别构成九种相交情况: ? A?∩B, A?∩?B,A?∩ B- ; ? ?A∩B?, ?A ∩?B,?A∩ B-; ? A- ∩ B?, A-∩?B, A-∩B-。
第10章 空间数据库
10.1 空间数据库概述
2020/1/8
1
10.1.1空间数据库的意义
? 从本体论的角度,研究和开发空间数据库 的意义主要基于下述几个方面。
? 1时间和空间是物质存在的基本方式 ? 2空间数据是某些重要应用的基本形式 ? 3复杂的非空间数据可以作为空间数据处理
2020/1/8
2
17
? 4.基于度量的关系
? 设有一个集合 E,如果在E上定义了一个二元函数 d(x,y),x,y∈E,满足如下条件:
? (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上的度 量函数。
? (3)区域(Region)例如森林、湖泊、行政区 域等。区域不但有位置,而且有面积、周长等参 数,以表示其覆盖范围。
2020/1/8
7
? 以上三种是最基本空间数据类型,以此为基础, 还可以导出下面两种空间数据类型:
? (4)划分(Partition)一个区域可以是按其自然、 行政或其他特征,分成若干个区域。如果这些子 区域互不相交,但其“并”覆盖该区域,则此子 区域的集合就称为该区域的一个划分。国家行政 区域划分图,土地利用图等都是划分的例子。划 分可嵌套,例如国家分成省市,省市分成县区、 县区分成乡镇等。
2020/1/8
4
? ●空间数据模型 基于实际应用,引入各种必须的 空间数据类型,并讨相应的数据操作。
? ●空间索引 由于空间对象之间难以合适的定义 “序”,所以空间数据的索引就成为空间数据库 技术的一个重要课题,在这方面已经取得了相当 成熟的结果,并且应用到其他的领域。
? ●空间数据库管理系统 空间数据模型和当前主流 数据模型 —— 关系数据模型具有较大的差异,需 要研究如何在 RDBMS基础上有效扩充空间数据管 理功能的问题。
? 非负性 <x,x>≥0,<x,x>=0? x=0, x∈V
? 对称性 <x,y>=<y,x>
? 线性性 <αx+βy,z >=α < x ,z >+β< y,z >,α, β∈R;x,y,z∈V
? 直线R,平面R2和空间R3通过适当的定义内积都 是欧氏空间。
2020/1/8
10
? 2.在欧氏空间中讨论空间对象间的关系
2020/1/8
30
A B
¨ £1£ ? A=B
A
A
A
B
B
B
¨£1£? A[ B
¨ £1£ ? A%B
¨ £1£ ? A]B
A B
¨ £5£ ? A/B
A B
¨£6£? A| B
A B
¨ £7£ ? A<B
2020/1/8
31
? 2.二维空间中边平行于坐标轴矩形间的关系
? 设A、B为这种矩形,其左下角坐标和右上 角坐标分别为{(x1A,y1A),(x2A, y2A)}和{(x1B,y1 B),(x2 B,y2 B)}。可以得到,如果A和B在x轴和y轴上 的投影分别相交,则A、B相交。因此,A, B相交的条件可以表示为
2020/1/8
15
? 考虑到{0,1}取值情况{0,1},可以确定有 29=512种二元拓扑关系,这里,人们研究 其中的八种彼此互斥关系:
? 相离(disjoint),邻接(meet),交叠 (overlap),相等(equal),包含 (contain),在内部(inside),覆盖 (cover)和被覆盖(covered by)。
2020/1/8
20
? 1.基本符号 ? 先定义空间数据操作中的一些记号。 ? ● SDT 空间数据类型 ? ● ZS 大小为零( zero size )空间数据类型,例
如点 ? ● NZS 大小非零(non-zero size )的空间数据
类型,例如线、区域等 ? ● ADT 原子(atomic)空间数据类型 例如点、
2020/1/8
28
10.2.5空间关系的集合描述与判断
? 在空间数据库中,空间关系主要用于查询。 为了获得可以接受的查询效率,常常把空 间对象用点、矩形和方盒等简单,规则的 图形表示。因此,只需要讨论这些规则几 何图形的空间关系即可。这里,规则的几 何图形可以看做空间中标准的“点集合”, 因此,空间数据操作的集合描述就是这些 标准集合间关系的描述。
? 我们主要在欧氏空间的环境中定义所有空 间对象相互间关系的,这些关系可以分为 基于集合、拓扑、.方位和.度量的关系,我 们在下面分别讨论。
2020/1/8
11
10.2.3 空间对象之间关系
? 1.基于集合的关系 ? 基于集合的空间对象关系主要有元素与集
合的属于及不属于的关系,集合与集合的 包含、相交、并等关系。在空间对象间的 层次关系就适合用集合的关系理论来讨论, 例如城市包含公园,公园包含树林等。
2020/1/8
16
? 3.基于方位的关系
? ● 绝对方位 即在全球定位系统背景下定义 的方位,例如东、西、南、北,东南、西 南、东北等。
? ● 相对方位 即根据与给定目标的方向来定 义的方位,例如左右、前后、上下等。
? ● 基于观察者的方位 即按照专门指定的称 为观察者参照对象来定义的方位。
2020/1/8
2020/1/8
23
? ●两个大小非零的空间数据是否相交 (INTERSECTS)
? NZS× NSZ→ Bool
? ●两个区域是否邻接(IS-NEIGHBOR— OF)
? RG×RG→Bool
2020/1/8
24
? 3.基于集合运算的描述 ? (1)相交(Intersection) ? ●两条线相交为点的集合 ? LN×LN →2PT ? ●线与区域相交为线的集合 ? LN×RG→2LN ? ●区域与区域相交为区域的集合 ? RG×RG→2RG
? σF(城市,广东区域图)其中F=DIST(城市名,广州) <=100000 AND 人口 =>500000;
? [max{ x1A,x1B }<min{ x2A,x2B }]和 [max{ y1A,y1B }<min{ y2A,y2B }]
2020/1/8
32
10.2.6空间关系的代数描述与运算
? 空间代数运算的特点在于选择条件或连接 条件中出现空间谓词。投影、集合运算不 涉及空间谓词,与关系代数没有本质区别。 下面讨论空间选择和空间连接。
? SDT×SDT→NUM MAXDIST或MINDIST
2020/1/8
27
? ●多点的直径(DIAMETER) ? PT→ NUM DIAMETER ? ●线的长度(LENGTH) ? LN → NUM LENGTH ? ●区域的周长(PERIMETER)或面积
(AREA) ? RG → NUM PERIMETER 或AREA
2020/1/8
18
? 考察一个空间的“测度”,例如线段的长 度,平面图形的面积,空间立体的体积, 以及一个空间对象相对于另一个空间对象 的距离等都是基于度量的关系。
2020/1/8
19
10.2.4空间数据操作的谓词描述
? 从理论上讲,空间数据操作特别是空间数 据查询的基础是空间对象之间的相互关系, 从实际上看,由于空间数据类型取决于实 际应用,空间数据操作主要也由现实中的 应用所决定。下面主要介绍一些从空间对 象相互关系角度考虑的相对比较基本的通 用操作,而由应用的多样性,与应用密切 相关的操作不拟一一介绍。空间数据操作 的描述可以有谓词形式、集合形式和代数 形式三种。
10.1.2空间数据基本特征
? 1数据量大 结构复杂 数据联系多样化 ? 2查询过程复杂 ? 3空间对象间难以定义次序
2020/1/8
3
10.1.3空间数据库作为常规数据库扩充
? 由于空间数据库系统理论和技术还处于发 展过程当中,而实际应用的需求又非常迫 切,同时常规数据库(关系数据库)仍然 是当今主流数据库,所以目前空间数据库 是作为常规、传统数据库的扩充出现。在 这种情况下,空间数据库主要包括下述一 些方面的内容:
2020/1/8
5
10.2 空间数据模型
? 10.2.1空间数据模型
? 空间数据模型与其它数据模型相比,一个 突出的特点就是其模型的提出、引入与相 应的实际应用密切相关。
? 空间数据库的一个重要应用领域是GIS。人 们通常就以GIS为应用背景,介绍其中的基 本空间数据类型。我们这里的介绍主要以 二维空间数据类型为主,但完全可以推广 到三维以上的情形。
线、区域 ? ● CDT 集合型(collection)空间数据类型,例
如网络、划分等
2020/1/8
21
? ● PT 点 ? ● LN 线 ? ● RG 区域 ? ● PTN 划分 ? ● NTW 网络
2020/1/8
22
? 2.基于拓扑的描述 ? ●两个同类型空间数据是否相等( = 或 ≠) ? PT×PT →Bool ? LN×LN→ Bool ? RG×RG → Bool ? ●空间数据 SDT是否在区域 RG中(INSERT ) ? SDT× RG →Bool
2020/1/8
12
? 2.基于拓扑的关系
? 基于拓扑的空间对象关系主要有邻接( meet)、 包含(within)和交叠( overlap),这三类拓扑 关系也是空间数据查询中最有可能出现的情况。 空间数据库中,基于拓扑的查询需要解决这样两 个问题:
? ● 查询所有与给定对象具有某种拓扑关系 R的空 间对象。
2020/1/8
29
? 1.一维空间中两个线段的关系
? 一维空间中两个线段的7种可能的关系,分 别用记号“=、[、%、]、/、|、<”表示。图 10-4表示了这些关系,其中,(1)~(5) 是相交关系,(6)(7)是非相交关系。
? 设A、B线段的起点和终点分别为x1A,x2A, x1B,x2B,则(1)~(5)的关系可以归 纳为max{x1A,x1B}<min{x2B,x2B}