Forpersonal use only in study and research; not for commercial use
幻灯片1
空间数据库
SpatialDataBase
? | 李霞 |
幻灯片2
1.1概述
1.2应用领域
1.3对比SDBMS与GIS
1.4用户分类
1.5SDBMS 的一个应用实例
1.6空间数据库包含的内容
1.6.1空间类型,数据模型,
1.6.2 查询语言, | ||
? | LO1 : 理解SDBMS 的价值 | |
? | 应用领域 | |
? | 用户 | |
? | 与DBMS 的区别? | |
? | LO2: 理解空间数据库的概念 | |
? | LO3: 学习SDBMS 的组成 | |
幻灯片4
1.1概述:SDBMS 的价值
? 传统(即非空间的,non-spatial)数据库管理系统:
? 具有持久性(persistence)
? 允许数据间的并发(concurrent)
? 对于超出计算机内存允许范围的大数据量数据集进行查询时具有可伸缩性 (scalability)
? | ? | 满足非空间数据库查询需求,但不满足空间数据库查询 | |
非空间查询: | |||
? | 列出书店中1 万多条的图录 | | |
? | ? | 根据销售额,列出2001 年前10 位客户的名字 |
空间查询: | ||
? | 列出明尼阿波利斯市10 英里范围内的所有书店的名字 | |
? | 列出田纳西州以及与其相邻接的州内所有客户的名字 | |
幻灯片5
1.1概述:SDBMS 的价值–空间数据举例
? ? | 非空间数据举例 | |
? | 人的姓名, 电话号码, 电子邮箱地址 | |
空间数据举例 | ||
? | 人口普查资料 | |
? | NASA 卫星影像– 每天产生TB (1024GB)量级的数据 | |
? | 天气和气候数据 | |
? | 河流、农场、生态影响 | |
? | 医疗图像 | |
幻灯片6
1.2 应用领域 | |
? | 天文学家:在两个弧分和类星体中找到蓝星系。 |
? | 气象学家,药剂研究者 ,运动员 ,公司供货经理 ,运输专家 ,城市规划专家 |
,滑雪胜地拥有者,农场主 ,高尔夫场开发商 ,应急服务
幻灯片7
1.3对比SDBMS与GIS
? ? | GIS 是一个用空间分析功能对空间数据进行可视化和分析的软件,其功能有 | ||
? | 搜索 专题搜索,按区域搜索,(再)分类 | ||
? | 位置分析 缓冲区,影响区域,叠置 | ||
? | 地形分析 坡度/坡向, 集水区, 排水网络 | ||
? | 流向分析 连通分析,最短路径 | ||
? | 分布特征 变化监测, 临近分析,最小邻域 | ||
? | 空间分析/统计 模式, 向心性,自相关,相似度指数,拓扑 | ||
? | 测量 距离, 周长, 形状, 邻接, 方向 | | |
GIS 使用SDBMS | |||
? | 存储,搜索,查询,共享大型空间数据集 | | |
幻灯片8
1.3对比SDBMS与GIS
? ? ? | SDBMS 专注于 | |
? | 存储,查询,共享大型空间数据集的效率 | |
? | 基于查询操作提供更简单的数据集 | |
? | 操作举例:根据区域查询,叠置,最小邻域,距离,邻接,周长等 | |
? | 运用空间索引和查询优化来加速针对大型空间数据集的查询。 | |
SDBMS 可能用在GIS 以外的应用中 | ||
? | 天文学, 基因组学 , 多媒体信息系统, ... | |
运用GIS 或SDBM 能回答以下问题吗? | ||
? | 美国与多少个国家相邻? | |
? | 哪个国家的邻国最多? | |
幻灯片9
1.4用户分类---1
在市场上出现了专门的空间产品,用来提高通用DBMS的空间处理能力。例如,Oracle、lnformix和IBM就分别推出了空间附件,并冠以暗盒(cartridge)、数据刀片(datablade)这类隐喻性的名称,或者采用空间选项(spatialoption)之类的温和叫法。
? 1)从主要数据库厂商的观点来看, | |
? | 2)GIS 厂商所定位的客户群体是那些只关注于空间数据分析的用户。这块特定的 |
市场相对较小,其中包括科学界和部门的专家。与其他信息技术的用户相比,GIS用户更多是在封闭的环境中工作,使用特别为他们设计的专用数据库。为了管理数量不断增长的空间(和非空间)数据,并且链接到商业数据库中,GIS厂商推出了诸如ESRI的SpatialData Engine这种中间件产品。
幻灯片11
1.4用户分类3--“GIS”的演化
? | 地理信息系统(1980s) |
GISociety |
Fig 1.1 | ||
? | 形成使用和开发地理信息系统和服务的概念、框架和理论 | |
? | 例如:为查询设计空间数据类型和操作 | |
? | 地理信息服务 | |
? | 为普通用户提供的网站和服务中心,例如,游客 | |
? | 例如: 谷歌地图提供的路径规划服务 | |
幻灯片13
1.4用户分类---3
? 3)随着Internet时代的到来,出现了另一批使用空间数据的用户群,他们更喜欢 在一个非常高级的、用户界面非常友好的层次上使用空间数据。比如,Internet上 一种很受欢迎的站点是为访问者提供导向地图。另一类站点提供了和空间数据相关 的搜索引擎,这种引擎能够回答像“找出明尼阿波利斯市所有墨西哥餐馆”这样的 查询。空间技术另一个有前景的用途是移动电话定位。
幻灯片14
1.5SDBMS 示例
明尼苏达州Ramsey郡
? | 空间数据集: | | |||
? | 县界(白色虚线) | ||||
? | 人口普查分区- 名称, 面积, 人口数, 边界 (黑线) | ||||
? | 水体(黑色多边形) | ||||
? | 卫星影像(灰度像素) | ||||
? | 存储在SDBMS 表格中: | ||||
? | create table census_blocks ( | ||||
? | name | string, | |||
? | area | float, | |||
? | population | number, | |||
? | boundary | polygon ); | |||
Fig 1.2 | |||||
在传统DBMS中的空间数据建模
? census_blocks表中的一行(Figure1.3)
? 问题:DBMS支持Polyline数据类型吗?
Figure1.3
幻灯片16
将 “census_table”表映射到关系数据库中
Fig 1.4 | |
? ? ? | 传统关系DBMS | ||
? | 支持简单数据类型,例如,number, strings, date | ||
? | 空间数据类型建模冗繁 | ||
例如: Figure 1.4 显示了使用数字进行多边形建模 | |||
? | 三个新表: polygon, edge, points | ||
? | 注意: 多边形是起点和终点相同的多义线(polyline) | ||
? | 一个简单的正方形需通过3 个表共计16 行来表示 | ||
? | 简单的空间操作,例如,area(), 要求连接表 | ||
? | 冗繁并且计算效率低 | ||
问题:给帮助空间数据类型(如, polygon )建模的后关系型数据库管理系统命名. | |||
幻灯片18
DBMS技术的演化
|
Fig1.5
幻灯片19
空间数据类型与后关系型数据库
? | 后关系DBMS | |
? | 支持用户定义的抽象数据类型 | |
? | 可添加空间数据类型 (e.g. polygon) | |
? | 后关系DBMS 的可选类型 | |
幻灯片20 | ||
OODBMS(1)
? 面向对象的软件方法基于用户定义数据类型的原理,它具有继承性和多态性。C++、 Java和VisualBasic 这些语言的广泛使用,表明软件业中已经牢固树立了面向对 象的概念。
? 地块问题看起来似乎是面向对象设计的一个自然应用:声明一个polyline类和另 一个land_parcel类。land_parcel类含有两个属性:字符串类型的address属性 和polyline类型的boundary属性。我们甚至不需要area(面积)属性,因为可以 在polyline类中定义一个area方法,在需要的时候计算任何地块的面积。
? 但这还不够。
幻灯片21
OODBMS(2)
? ? ? | 抽象数据类型(abstract data type,ADT)的引入增加了DBMS 的灵活性,但是,在ADT 能完全集成到,DBMS 之前,首先要解决两个对数据库的特殊制约:尽管OODBMS 产品已经面世多年,然而市场对此类产品的接受能力却很限。 |
户将使用其他的系统而不是OODBMS来管理空间数据。
? SQL是数据库世界的“国际通用语言”,它与关系数据库模型紧密地联系在一起。SQL
是一种声明性语言,即用户只需要描述所希望得到的结果,而不用关心产生结果的
方法。
幻灯片22
SQL空间查询
例如,查询“找出所有与MY_HOUSE相邻的地块”用SQL可以表达为:
SELECT M.address
FROM 1and_parcel L,M
WHERE Adjacent(L,M) AND
L.address=‘MYHOUSE’
DBMS的任务就是实现查询语句中指定的操作。特别是,函数Adjacent(L,M)应该可以
在SQL内调用。通常采用的SQL-92标准支持用户定义的函数,而下一个修订版本SQL-3/
SQL1999支持ADT和更多的数据结构,如列表、集合、数组和包。集成了ADT和其他面
向对象设计原则的关系数据库称为对象关系数据库管理系统(ORDBMS)。
幻灯片23 | ||
? | 能够与Oracle 8i DBMS 协同工作 | |
? | 具有空间数据类型 (e.g. polygon), 操作 (e.g. 叠置) ,可调用的SQL3 查询语言 | |
? | 具有空间索引, e.g. R-trees | |
? | 空间数据库是空间数据类型、操作、索引、处理策略等的集合,能够与许多后关系数据 | |
库管理系统、程序语言(如JAVA,VISUALBASIC 等)协同工作。
幻灯片24
三层结构
Fig1.6
空间应用 | 空间应用接口 | 空间数据库 | DBMS 接口 | DBMS | |
核 | |||||
GIS | 抽象数 | 空间分类心 | 面 | 向 | |
索引结构 | |||||
据类型 | |||||
空间数据类 | |||||
数据模 | |||||
型与操作 | |||||
解译型 | |||||
空间连 | |||||
空间查询 | |||||
离散化 | |||||
MMI | |||||
语言 | |||||
等级/分辨率 | 接 | ||||
空间操作 | |||||
一致性 | |||||
算法 | |||||
S | 数据量 | 空间索引( | 专题功能 | 关 | 系 |
的 | 数 | ||||
CA | 加载 | 据 | 库 | ||
带并发控 | |||||
服 | 务 | ||||
制) | |||||
并发控制 | |||||
可视化 | 器 | ||||
D | 恢复/备份 | ||||
视图
导出数据
空间数据刀片
(Spatial Data Blade) | ||||
? | 学习目标(LO) | |||
? | LO1 : 理解SDBMS 的价值 | |||
? | LO2: 理解空间数据库的概念 | |||
? | LO3:学习SDBMS 的组成 | |||
? | 结构选择 | |||
? | SDBMS 的组成: | |||
? | 数据模型,查询语言, | |||
? | 查询处理与优化 | |||
? | 文件管理与索引 | |||
? | 数据挖掘 | |||
幻灯片26
1.6空间数据库的内容:SDBMS 的组成
? | 重温一下: SDBMS 是一个软件模块 | |
? | 能够与底层的DBMS 协同工作支持空间数据模型、空间抽象数据类型 (ADTs) 和能调用ADTs 的查询语言 | |
? | 支持空间检索、处理空间操作的有效算法、以及针对领域的查询优化规则 | |
? | 组成部分包括 | |
? | 空间数据模型, 查询语言, 查询处理, 文件组织与索引,查询优化等. | |
? | Figure 1.6 显示了这些组成部分 | |
幻灯片27
1.6.1空间分类,数据模型
? | 空间分类法: | |
? | 组织空间的方式有多种描述 | |
? | 对结构相同的关系进行拓扑建模, e.g. 叠置 | |
? | 在平面中对距离和方向进行欧几里得空间建模 | |
? | 对连通性和最短路径进行图形建模 | |
以及欧氏几何的。要根据我们对空间建模感兴趣的原因,来选择合适的空间描述。
幻灯片28
1.6.1空间分类,数据模型
? 空间数据模型
识别可辨认的事物以及空间属性的规则?
? 实物模型(Objectmodel)帮助管理可辨认的事物,例如,山脉,城市,宗地等。
? 场模型(Fieldmodel)帮助管理连续且无形的现象,e.g.湿地,卫星影像,降雪 等
? 更多的细节将在第2章中涉及.
幻灯片29
1.6.2空间查询语言
? | 空间查询语言 | | |||
? | 空间数据类型, e.g. 点, 线, 面, … | ||||
? | 空间操作, e.g. 叠置, 距离, 最小邻域, … | ||||
? | 可从位于底层的DBMS 中的查询语言(e.g. SQL3)中调用 | ||||
? | SELECT | S.name | | ||
? | ? | FROM | Senator S | |
? | WHERE S.district.Area() > 300 | |||
标准 | ||||
? | SQL3 (a.k.a. SQL 1999) 是一种查询语言标准 | |||
? | OGIS 是一种空间数据类型和操作算子标准 | |||
? | 两种标准在行业中均被广泛支持 | |||
? | 更多的细节将在第2、3 章中涉及 | |||
幻灯片30
1.6.3 查询处理:单扫描、多扫描查询举例
? | 应答空间查询的有效算法 | |||
? | 非空间连接的例子 | |||
? | SELECT S.name | FROM Senator S, Business B | ||
? | WHERE S.soc-sec = B.soc-sec AND S.gender = ‘Female’ | |||
? | 空间连接的例子 | |||
? | SELECT S.name | FROM Senator S, Business B | ||
? | WHERE | S.district.Area() > 300 AND Within(B.location, S.district) | ||
| ||||
S.soc-sec:社会保障号
B.soc-sec:拥有者的社会保障号
Fig1.7
幻灯片31
空间连接运算例子二
西双版纳县界
西双版纳森林覆盖
幻灯片32
| |
相交
? |
? | 过滤步骤:查询区域与B,C 和D 的MBR(最小外包矩形) 叠置 精炼步骤:查询区域与B 与C 叠置 |
最小外包矩形(minimumbounding rectangle,MBR)
Fig1.8
幻灯片34
连接查询的查询处理
? | 平面扫描(scan sweep)技术 |
? 例如 – 找出相交的矩形对 | |
Fig 1.9 | |
? | Step 1:从左至右移动一条扫描线(例如,垂直于x 轴的线),停在R∪S 的第一个元素 |
处。这就是具有最小T.xl值的矩形T,例子为矩形R4。
? Step2:搜索S中已排序的矩形,直到抵达第一个矩形Sf,这里有Sf.xl>T.xu。显 然,对于所有1≤j<f,关系[T.xl,T.xu]∩[Sj.xl,Sj.xu]存在(非空),在本例 中Sf就是S1。注意f是以图1-9c的数组索引为序,即S1=S2、S2=S1、S3=S3。这样S2 就是一个可能与R4交叠的候选矩形。
? 平面扫描过滤器从12个矩形中识别出5对相交的矩形,下一步进行精炼
Fig 1.9 |
Step 3:如果对任意l≤j≤f,关系[T.yl,T.yu] ∩[Sj.yl,Sj.yu]存在,则Sj 与T 相交。因此,这一步就确定了R4 与S2 的确是交叠的,并且< R4,S2>是连接结果的一部分。 |
记录所有这样的信息,然后将矩形T(R4)从集合R∪S中去掉,它不再需要参与结果集中的其他相交对。
Step4:继续移动扫描线来穿过集合R∪S,直至碰到下一个矩形,在本例中是S2。这时进行步骤2和3。
Step5:当 时,处理结束;
Fig1.9
幻灯片37
1.6.4文件组织与索引
? | GIS 与SDBMS 之间的不同 | |
? | GIS 算法:数据集被加载在主存中 (Fig. 1.10(a)) | |
? | SDBMS: 数据集在二级存储设备上 e.g 磁盘(Fig. 1.10(b)) | |
| ||
Fig1.10
a)程序员的观点 b)DBMS设计者的观点
幻灯片38
用空间填充曲线组织空间数据
SDBMS使用空间填充曲线和空间索引来有效地搜索磁盘上的大型空间数据集
? | 空间填充曲线 | | |
? | 在空间中根据位置进行排序 | | |
? | 例如:行序 (Fig. 1.11(a), z 坐标序(Fig 1.11(b))允许在空间数据上使用传统的检索方法 |
N型
存在问题:
许多搜索方法均基于对数据集的排序上;排序并不是空间数据本身具有的。即会丢失空间
的相邻性(proximity)
Z型
Fig1.11
幻灯片39
空间索引:进行搜索时采用的数据结构
? | 空间索引的可选类型: | | |
? | B-tree 是主键集合的线性层级,e.g. 数字 | ||
? | B-tree 索引被用来做传统数据搜索 | ||
? | B-tree 与空间填充曲线一起时,可用在空间数据上 | ||
? | R-tree 能提供更好的搜索性能 | ||
? | R-tree 是矩形的层级集合 | ||
? | 更多的细节将在第四章涉及 | ||
Fig1.12: B-tree
Fig.1.13: R- tree
幻灯片40
1.6.5查询优化
? ? | 查询优化 | |||
? | 空间操作能用不同的策略进行处理 | |||
? | 每种策略的计算成本依赖于许多参数 | |||
? | 查询优化是对以下内容的处理 | |||
? | 在查询中对操作排序 | |||
? | 为每个操作选择有效的策略 | |||
? | 基于给定数据集的细节 | |||
查询例子: | ||||
? | SELECT S.name WHERE S.soc-sec = B.soc-sec AND S.gender = ‘Female’ FROM Senator S, Business B | |||
? | (拥有公司的女性议员) | | ||
? ? | 优化的例子 | ||
? | 处理(S.gender = ‘Female’) 在(S.soc-sec = B.soc-sec )之前 | ||
? | SELECT S.name FROM Senator S, Business B | ||
WHERE | S.district.Area() > 300 AND Within(B.location, S.district) | ||
幻灯片41
1.6.6数据挖掘
? | 空间数据分析有多种类型 | |
? | 推理查询, e.g. 搜索, 排序, 叠加 | |
? | 归纳挖掘, e.g. 统计, 相关, 聚类,分类, … | |
? | 数据挖掘是指在大型空间数据库中对感兴趣的非平凡模式进行系统的、半自动的搜索。 | |
? | 应用例子包括 | |
? | 从卫星影像上推断土地利用分类 | |
? | 用高相关性识别癌症发作集群以及地理因素 | |
? | 识别犯罪热点以便安排警力和社工 | |
DB 中数据挖掘的前沿方向幻灯片42 | ||
将近80%的数字形式的数据实际上是空间数据,这就驱使研究人员全力创造适用于空间数据本质的挖掘技术。(空间统计技术)
幻灯片43
1.7总结
? ? ? | SDBMS 对许多重要应用来说都是很有价值的 | ||
? | 能够与底层的DBMS 协同工作 | ||
? | 支持空间数据模型、空间抽象数据类型 (ADTs) 和能调用ADTs 的查询语言 | ||
? | 支持空间检索、处理空间操作的有效算法、以及针对领域的查询优化规则 | ||
SDBMS 的组成包括 | |||
? | 空间数据模型, 空间数据类型和操作算子 | ||
? | 空间查询语言, 处理和优化 | ||
? | 空间数据挖掘 | | |
SDBMS 为GIS 及其他应用提供存储,查询,共享的空间数据 | |||
以 | 下 | 无 | 正 | 文 |
仅供个人用于学习、研究;不得用于商业用途。
Forpersonal use only in study and research; not for commercial use.
仅供个人用于学习、研究;不得用于商业用途。
Nurfür den pers?nlichen für Studien, Forschung, zu kommerziellenZwecken verwendet werden.
Pourl 'étude et la recherche uniquement à des fins personnelles; pas àdes fins commerciales.
仅供个人用于学习、研究;不得用于商业用途。
в коммерческих целях. |
Copyright © 2019- l2e.cn 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务