武汉大学地理信息系统考研复习笔记(5)

本站小编 武汉大学教学队伍/2017-04-09


    用于GIS地理数据库存在的主要问题是:
1)很难描述复杂的地理实体之间的联系,描述多对多的关系时导致物理存储上的冗余;
2)对任何对象的查询都必须从层次结构的根结点开始,低层次对象的查询效率很低,很难进行反向查询;
3)数据独立性较差,数据更新涉及许多指针,插入和删除操作比较复杂,父结点的删除意味着其下层所有子结点均被删除;
4)层次命令具有过程式性质,要求用户了解数据的物理结构,并在数据操纵命令中显式地给出数据的存取路径;
5)基本不具备演绎功能和操作代数基础。
2、网状模型用于GIS地理数据库的局限性
网状模型反映地理世界中常见的多对多关系,支持数据重构,具有一定的数据独立和数据共享特性,且运行效率较高。
用于GIS地理数据库的主要问题如下:
1)由于网状结构的复杂性,增加了用户查询的定位困难,要求用户熟悉数据的逻辑结构,知道自己所处的位置;
2)网状数据操作命令具有过程式性质,存在与层次模型相同的问题;
3)不直接支持对于层次结构的表达;
4)基本不具备演绎功能和操作代数基础。
3、关系模型用于GIS地理数据库的局限性
在GIS分析中,常常需要综合运用实体之间的空间关系和属性数据,要求GIS数据库能对实体的属性数据和空间数据进行综合管理。
4)空间数据通常是变长的,而一般RDBMS只允许记录的长度设定为固定长度,此外,通

用DBMS难于存储和维护空间数据的拓扑关系。
  5)一般RDBMS都难以实现对空间数据的关联、连通、包含、叠加等基本操作。
  6)一般DBMS不能支持GIS需要的一些复杂图形功能。
  7)一般RDBMS难以支持复杂的地理信息,因为单个地理实体的表达需要多个文件、多条记录,包括大地网、特征坐标、拓扑关系、属性数据和非空间专题属性等方面信息。 
8)GIS管理的是具有高度内部联系的数据,为了保证地理数据库的完整性,需要复杂的安全维护系统,而这些完整性约束条件必须与空间数据一起存储,由地理数据库来维护系统数据的完整性。否则,一条记录的改变会导致错误、相互矛盾的数据存在,而一般RDBMS难以实现这一功能。
三、面向对象模型
一)基本概念
1、对象:
含有数据和操作方法的独立模块,可以认为是数据和行为的统一体。如一个城市、一棵树均可作为地理对象。
•具有一个唯一的标识,以表明其存在的独立性;
•具有一组描述特征的属性,以表明其在某一时刻的状态——静态属性—数据;
•具有一组表示行为的操作方法,用以改变对象的状态。--作用、功能—函数、方法。
对象的划分:根据对象的共性,及对它的研究目的来划分,与具体的目的、性质相联系,不同的目的就会有不同划分。
划分原则:找共同点,所有具有共性的系统成份就可为一种对象。
2、类:
共享同一属性和方法集的所有对象的集合构成类。
如河流均具有共性,如名称、长度、流域面积等,以及相同的操作方法,如查询、计算长度、求流域面积等,因而可抽象为河流类。
3、实例
   被抽象的对象,类的一个具体对象,称为,如长江、黄河等。真正抽象的河流不存在,只存在河流的例子。
类是抽象的对象,是实例的组合,类、实例是相对的,类和实例的关系为上下层关系。类---申请实例---成为具体对象。
4、消息:
   对象之间的请求和协作。(并不独立存在)对象之间的关系,如鼠标点,就是消息,点某按纽,就是对按纽提出请求。
(二) 面向对象的特性
1、抽象:是对现实世界的简明表示。形成对象的关键是抽象,对象是抽象思维的结果。
2、封装:一般讲,包起来,将方法与数据放于一对象中,以使对数据的操作只可通过该对象本身的方法来进行。在这,指把对象的状态及其操作集成化,使之不受外界影响。
3、多态:
是指同一消息被不同对象接收时,可解释为不同的含义。同一消息,对不同对象,功能不同。
功能重载->多态,简化消息,但功能不减。
(三)四种核心技术
1、分类
分类是把一组具有相同属性结构和操作方法的对象归纳或映射为一个公共类的过程。如城镇建筑可分为行政区、商业区、住宅区、文化区等若干个类。
2、概括
将相同特征和操作的类再抽象为一个更高层次、更具一般性的超类的过程。子类是超类的一个特例。
一个类可能是超类的子类,也可是几个子类的超类。所以,概括可能有任意多层次。概括技术避免了说明和存储上的大量冗余。这需要一种能自动地从超类的属性和操作中获取子类对象的属性和操作的机制,即继承机制。
聚集是把几个不同性质类的对象组合成一个更高级的复合对象的过程。
4、联合
相似对象抽象组合为集合对象。其操作是成员对象的操作集合。
(四)面向对象数据模型的核心工具
1、继承:
一类对象可继承另一类对象的特性和能力,子类继承父类的共性,继承不仅可以把父类的特征传给中间子类,还可以向下传给中间子类的子类。 它服务于概括。继承机制减少代码冗余,减少相互间的接口和界面。
1)单重继承、多重继承;全部继承、部分继承;取代继承、包含继承
2)状态继承(数据)
子类继承父类的数据结构,子类还可定义自己新的数据结构。
    子类任意使用父类的数据结构,有可能破坏封装,若只能通过发送消息来使用父类的域,又可能失去有效性,具体办法:
公有域:类可操作,实例也可操作。
私有域:只有类本身使用,用户不得访问。
保护域:子类可使用,继承使用,实例不能使用。
2、传播
传播与继承是一对。复杂对象的某些属性值不单独存于数据库中,而由子对象派生或提取,将子(成员)对象的属性信息强制地传播给综合复杂对象。成员对象的属性只存储一次,保证数据一致性和减少冗余。如武汉市总人口,由存储在各成员对象中的各区人口总和。
3、继承与传播(区别)
1)继承服务于概括,传播作用于联合和聚集;
2)继承是从上层到下层,应用于类,而传播是自下而上,直接作用于对象;
3)继承包括属性和操作,而传播一般仅涉及属性;
4)继承是一种信息隐含机制,只要说明子类与父类的关系,则父类的特征一般能自动传给它的子类,而传播是一种强制性工具,需要在复合对象中显式定义它的每个成员对象,并说明它需要传播哪些属性值。
四、GIS空间数据库类型
1、基于文件管理的方式
缺点:
1)程序依赖于数据文件的存储结构,数据文件修改时,应用程序也随之改变。
2)以文件形式共享,当多个程序共享一数据文件时,文件的修改,需得到所有应用的许可。不能达到真正的共享,即数据项、记录项的共享。
2、文件与关系数据库混合管理系统—双元模型
除oid作为连接关键字以外,几乎是两者独立地组织、管理和检索。

几何图形:  图形用户界面与图形文件处理是一体的,中间没有裂缝。
属性数据,则因系统和历史发展而异。

1)  图形与属性结合的各自分开处理模式--------早期系统:
   图形处理的用户界面和属性的用户界面是分开的,它们只是通过一个内部码连接。通常要同时启动两个系统,甚至两个系统来回切换,不方便。
2)图形与属性结合的混合处理模式
GIS 通过DBMS提供的高级编程语言C或Fortran等接口,在C语言的环境下,直接操纵属性数据,查询属性数据库,并在GIS的用户界面下,显示查询结果。
   在ODBC(Open DataBase Connectivity,开放式数据库互连)推出后,GIS软件商只需开发GIS与ODBC的接口软件,就可将属性数据与任何一个支持ODBC的RDBMS连接。这样用户可在一个界面下处理图形和属性数据。
采用文件与RDBMS的混合管理模式中文件管理系统的功能较弱,特别是在数据的安全性、一致性、完整性、并发控制以及数据损坏后的恢复方面缺少基本的功能。因而GIS软件商需要寻找能同时管理图形和属性数据的商用DBMS。
3、全关系型空间数据库管理系统—分层模型
GIS软件商在标准DBMS顶层开发一个能容纳、管理空间数据的系统功能。
用RDBMS管理图形数据有两种模式:
a、基于关系模型的方式,图形数据按关系数据模型组织。由于涉及一系列关系连接运算,费时。 例如
b、将图形数据的变长部分处理成Binary Block字段(多媒体或变长文本)。省去大量关系连接操作,但Binary Block的读写效率比定长的属性字段慢得多,特别涉及对象的嵌套时,更慢。
4、对象--关系数据库管理系统
DBMS软件商在RDBMS中进行扩展,使之能直接存储和管理非结构化的空间数据,如Informix 和Oracle等都推出了空间数据管理的专用模块,定义了操纵点、线、面、圆等空间对象的API函数。
        主要解决空间数据的变长记录的管理,效率比二进制块的管理高得多,但仍没有解决对象的嵌套问题,空间数据结构不能由用户定义,用户不能根据GIS要求再定义,使用上受一定限制。
5、面向对象空间数据库管理系统
1)面向对象数据模型的含义
       为了有效地描述复杂的事物或现象,需要在更高层次上综合利用和管理多种数据结构和数据模型,并用面向对象的方法进行统一的抽象。这就是面向对象数据模型的含义,其具体实现就是面向对象的数据结构。
面向对象模型最适合于空间数据的表达和管理,它不仅支持变长记录,且支持对象的嵌套,信息的继承和聚集。
     允许用户定义对象和对象的数据结构及它的操作。可以将空间对象根据GIS需要,定义合适的数据结构和一组操作。这种空间数据结构可以带和不带拓扑,当带拓扑时,涉及对象的嵌套、对象的连接和对象与信息聚集。
   面向对象的地理数据模型的核心是对复杂对象的模拟和操纵。
2)复杂对象及特点
指具有复杂结构和操作的对象。复杂对象可以由多种关系聚合抽象而成,或由不同类型的对象构成,或具有复杂的嵌套关系等。

复杂对象的特点可归结为:
a) 一个复杂对象由多个成员对象构成,每个成员对象又可参与其它对象的构成;
b) 具有多种数据结构,如矢量、栅格、关系表等;
c)一个复杂对象的不同部分可由不同的数据模型所支持,也就是说,可以分布于不同的数据库中。
3)面向对象的几何数据模型
从几何方面划分,GIS的各种地物对象为点、线、面状地物以及由它们混合组成的复杂地物。每一种几何地物又可能由一些更简单的几何图形元素构成。
一个面状地物是由边界弧段和中间面域组成,弧段又涉及到节点和中间点坐标。或者说,节点的坐标传播给弧段,弧段聚集成线状地物或面状地物,简单地物聚集或联合组成复杂地物。
4)拓扑关系与面向对象模型
将每条弧段的两个端点(通过它们与另外的弧段公用)抽象出来,建立单独的节点对象类型,而在弧段的数据文件中,设立两个节点子对象标识号,即用“传播”的工具提取节点文件的信息。
节点标识




        

这一模型既解决了数据共享问题,又建立了弧段与节点的拓扑关系。同样,面状地物对弧段的聚集方式与数据共享和几何拓扑关系的建立也达到一致。
5)面向对象的属性数据模型
面向对象数据模型是在包含RDBMS的功能基础上,增加面向对象数据模型的封装、继承和信息传播等功能。
6)  面向对象地理数据模型的特点
a)       具有可扩充性。由于对象是相对独立的,因此可以很自然和容易地增加新的对象,并且对不同类型的对象具有统一的管理机制。
b)      可充分利用现有数据模型的优点。

相关话题/地理信息系统