270 likes | 472 Views
第 4 章 (3). 空间数据库 — GeoDatabase. 北京建筑工程学院 王文宇 2006 年 8 月. 空间数据库. 空间数据库简介 面向对象数据库系统 现行空间数据库管理方案 空间数据与关系数据综合应用系统的设计. 一 空间数据库简介. 空间数据库介绍存贮、管理和检索空间数据的有效技术。 DBMS 通常是作为存放商业和财会数据的简单而有效的仓库。 基于空间的查询将 DBMS 置于无望的尴尬境地。. GIS 与 SDBMS. 利用 GIS 可以对某些对象和图层进行多种操作,而利用 SDBMS 则可以对更多对象集合图层进行更为简单的操作。
E N D
第4章(3) 空间数据库—GeoDatabase 北京建筑工程学院 王文宇 2006年8月
空间数据库 • 空间数据库简介 • 面向对象数据库系统 • 现行空间数据库管理方案 • 空间数据与关系数据综合应用系统的设计
一 空间数据库简介 • 空间数据库介绍存贮、管理和检索空间数据的有效技术。 • DBMS通常是作为存放商业和财会数据的简单而有效的仓库。 • 基于空间的查询将DBMS置于无望的尴尬境地。
GIS与SDBMS • 利用GIS可以对某些对象和图层进行多种操作,而利用SDBMS则可以对更多对象集合图层进行更为简单的操作。 • SDBMS还可以用来处理存贮在二级设备上的海量空间数据。而且具有并发控制机制。 • GIS可以作为SDBMS的前端。
空间数据库的三类用户 • 数据库厂商 • 空间数据分析的用户 • 一般用户
二 面向对象数据库系统 • 面向对象技术概述 • 面向对象方法的基本内容 • 对象与封装性 • 类与对象 • 类的继承性 • GIS中面向对象模型
面向对象技术概述 • OO是一种方法 • 目前该方法已广泛应用在计算机的各个方面: • 面向对象程序设计语言(OOP) • 面向对象分析(OOA) • 面向对象设计(OOD) • 面向对象数据库(OODB) …… • “面向计算机”方法 VS “面向对象”方法:
数据库设计(RDB与OODB) 关系数据库的实现途径 ER模型 关系模型 客观世界 计算机实现 面向对象模型 面向对象数据库的实现途径
面向对象语言 • 毫无疑问,面向对象设计的实现最自然的实现方式是利用面向对象语言。 • 目前最常用的面向对象语言是C++,其它比较著名的面向对象语言则还有Smalltalk、面向对象PASCAL,JAVA、Eiffel、 Objective-C,Common Lisp Object System (CLOS),等等。
对象与封装性 • 对象是一个由一组属性和一组方法所组成的一个封装实体,每个对象都有一个系统赋予的具有唯一性的名字(OID),消息则是对象之间的一种协作机制。 • 对象的本质是变量,对象是结构体概念的延伸,除了数据成员外,增加了成员函数(方法)。
类与对象 • 具有相同属性与方法的对象集合称为类。 • 实例(instance):类中的对象 • 类的定义可以简化人们对复杂世界的了解。
类的定义 “类”类型:类的本质是一种新的数据类型 类定义的基本格式为: class<类名>{<成员表>}; 由结构体向类转化经过了 两个大的改革: (1)成员函数(方法)的增加 (2)成员的封装
类的继承性(inheritance) • 继承在客观世界中存在着许多各种各样的对象和它们之间的复杂关系,为理解这些关系,常用的手法是对它们进行分类。 建筑物 房屋 桥梁 纪念塔 平房 楼房 居民楼 办公楼
关于关系与面向对象之间的争论 • 不管是关系模型还是面向对象的建模都不能完全适合空间应用领域。 • 关系模型能够较好地处理拓扑关系,但对表示横跨空间区域的复杂层次关系却无能为力。 • 而面向对象模型能够处理拓扑和层次关系,但难以处理空间中重要的连续性现象。
GIS中面向对象模型 • Geodatabase是面向对象的地理数据模型,其地理空间特征的表达较之以往的模型更接近我们对现实事物对象的认识和表达。 • Geodatabase是ArcInfo发展到ArcGIS时候推出的一种数据格式,一种基于RDBMS存储的数据格式,其有两大类:1.Personal Geodatabse 用来存储小数据量数据,存储在Access的mdb格式中。2.ArcSDE Geodatabse 存储大型数据,存储在大型数据库中Oracle,Sql Server,DB2等。可以实现并发操作,不过需要单独的用户许可。
三 现行空间数据库管理方案 • 基于文件与关系式数据库的空间数据混合管理方案 • 基于关系式数据库的空间数据管理方案 • 基于对象—关系式数据库的空间数据管理方案。
GIS用户界面 ID 高级语言 数据库开发语言 几 何 数 据 属 性 数 据 图形处理 DBMS 图形用户界面 属性用户界面 图形 文件库 属性 数据库 图形处理 DBMS 数 据 文 件 数 据 库 图形 文件库 属性 数据库 文件 关系数据库混合管理方案 • 属性数据建立在RDBMS上,数据存储和检索比较可靠、有效; • 几何数据采用图形文件管理,功能较弱,特别是在数据的安全性、一致性、完整性、并发控制方面,比商用数据库要逊色得多。 • GIS软件:Arc/Info,MGE,GenMap等 数据库开发 早 期 GIS用户界面 数据库开发 高级语言 ODBC协议 图形处理 DBMS 图形 文件库 属性 数据库
属性数据 (定长记录) GIS界面 空间数据 (变长记录) 关系表 二进制块 DBMS 空间 数据库 全关系式数据库管理方案 • 属性数据、几何数据同时采用关系式数据库进行管理 • 空间数据和属性数据不必进行烦琐的连接,数据存取较快 • GIS软件:System9,Small World、Geovision等
GIS界面 空间数据处理 扩充实体类型 (点、线、面、圆等) DBMS 空间 数据库 对象关系数据库管理方案 • 对现有的关系数据库进行扩展,增加空间数据类型 • 用户不能根据GIS要求进行空间对象的再定义,因而不能将设计的拓扑结构进行存储 • GIS软件:TIGER,Geo++、Geo Tropics等
四 空间数据与关系数据综合应用系统的设计——组件技术 • 组件(Component)技术是当前软件技术潮流。 • COM是组件式对象模型(Component Object Model)的英文缩写,是组件之间相互接口的规范, 是OLE(Object Linking & Embedding)和ActiveX共 同的基础,其作用是使各种软件构件和应用软件能够 用一种统一的标准方式进行交互。COM不是一种面 向对象的语言,而是一种与源代码无关的二进制标 准。
Customization in ARCGIS Two levels of Customization • Customizing the Interface • To create more efficient user interfaces • To access capabilities not on the standard interface • Developing Additional Capabilities • Automation of repetitive tasks • new analytical procedures
Options for Developing Additional CapabilitiesCurrent Generation • Modelbuilder • Python, Jscript and VBScript • Visual Basic for Applications • ArcGIS Engine
Options for Developing Additional CapabilitiesEarlier Generations • MapObjects • Microsoft COM compliant objects used to incorporate geographic capability in standard IT applications, introduced around 1997 • Being replaced by ArcEngine/ArcObjects • Avenue • The proprietary object oriented programming language used for ESRI’s first GUI based product, ArcVIEW, introduced in 1993, • AMLs: Arc Macro Language • The scripting language associated with ESRI’s original ArcInfo product introduced in 1981
总结 • 空间数据库的重要性日益增加,其中一个原因在于应用范围已超出传统GIS领域。 • 位置和时间是鉴别和刻画信息强有力的方法,人们逐渐认识到,空间和时间提供了集成信息的重要方法。
作业 • 比较和对比: GIS和SDBMS OODBMS和ORDBMS GI Systems和 GI Services • 给出空间数据库的定义,举出几个空间数据库应用的例子