收藏 分享(赏)

第2章 空间数据模型.ppt

上传人:j35w19 文档编号:6204056 上传时间:2019-04-02 格式:PPT 页数:70 大小:1.86MB
下载 相关 举报
第2章 空间数据模型.ppt_第1页
第1页 / 共70页
第2章 空间数据模型.ppt_第2页
第2页 / 共70页
第2章 空间数据模型.ppt_第3页
第3页 / 共70页
第2章 空间数据模型.ppt_第4页
第4页 / 共70页
第2章 空间数据模型.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

1、第二章 空间数据模型,第二章 空间数据模型,第一节 数据模型 第二节 空间数据模型,3,数据(data)是描述事物的符号记录。 模型(Model)是现实世界的抽象。 数据模型(Data Model)是数据特征的抽象,是数据库管理的数学形式框架。,第一节 数据模型,4,第一节 数据模型,数据模型建立的目的: 揭示空间实体的本质特征,并对其进行抽象化,使之转化为计算机能够接受和处理的数据形式。 能够对空间数据进行统一管理 帮助用户查询、检索、增加、删除和修改数据 保障空间数据的独立性、完整性和安全性,5,数据模型所描述的内容包括三个部分:,第一节 数据模型,数据结构 数据操作 数据约束,6,1)数

2、据结构:描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。,第一节 数据模型,7,2)数据操作:描述在相应的数据结构上的操作类型和操作方式。如关系数据模型中关系代数运算包括四类:集合运算、专门的关系运算、算术比较运算和逻辑运算。,第一节 数据模型,8,3)数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、相互制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。,第一节 数据模型,数据模型按不同的应用层次分成三种类型:分别是 概念数据模型 逻辑数据模型 物理数据模型

3、,9,第一节 数据模型,1、概念数据模型(Conceptual Data Model): 简称概念模型,是面向数据库用户的现实世界的模型,主要用来描述世界的概念化结构 它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据管理系统无关。 概念数据模型必须换成逻辑数据模型,才能在计算机中实现。,10,第一节 数据模型,11,2、逻辑数据模型(Logical Data Model): 简称数据模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的逻辑模型,如网状数据模型、层次数据模型等等。 此模型既要面向用户,又要面向系统,主

4、要用于数据库管理系统的实现。,第一节 数据模型,12,3、物理数据模型(Physical Data Model):简称物理模型,是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作由系统自动完成,而设计者只设计索引、聚集等特殊结构。,第一节 数据模型,第二节 空间数据模型,定义:对空间客体进行描述和表达的数学手段,使之能反应客观实体及其关系。,常用数据模型(逻辑数据模型):层次模型;网状模型;关系模型;面向对象模型

5、等。,它的特点是将数据组织成一对多关系的结构。层次结构采用关键字来访问其中每一层次的每一部分。层次数据库结构特别适用于文献目录、土壤分类、部门机构等分级数据的组织。,14,一、层次模型,层次模型的数据存储,层次数据库中不仅要存储数据本身,还要存储数据之间的层次关系,应将两者的存储结合在一起。存储方法:邻接法(树遍历法)通用选择法,一、层次模型,层次数据库及其实例,邻接法(树遍历法)按照层次树前序穿越的顺序,把所有记录值依次邻接存放,即通过物理空间的位置相邻来体现(或隐含)层次顺序。数据检索首先搜索双亲结点,然后搜索其子女结点。,通用选择法,通用选择法不依赖于客体在树状结构中的顺序,而是根据所确

6、定的选择条件,在结构中选择某特定的客体。,DRAW coordinates WHERE arcs=arc1,例如:从数据库中提取弧段arc1的坐标并显示,优点: 存取方便且速度快 结构清晰,容易理解 数据修改和数据库扩展容易实现 检索关键属性十分方便 缺陷: 结构呆板,缺乏灵活性 同一属性数据要存储多次,数据冗余大(如公共边) 不适合于拓扑空间数据的组织,18,一、层次模型,网络模型用连接指令或指针来确定数据间的显式连接关系,是具有多对多类型的数据组织方式 。,19,二、网络模型,网状模型的数据结构网状数据库的存储结构中关键是如何实现记录之间的联系。常用的方法是链接法,包括单向链接、双向链接、

7、向首链接等,此外还有其它实现方法,如引元阵列法、二进制阵列法、索引法等依据具体系统不同而不同。,网状数据库实例,21,优点: 能明确而方便地表示数据间的复杂关系 数据冗余小 缺陷: 网状结构的复杂,增加了用户查询和定位的困难。 需要存储数据间联系的指针,使得数据量增大 数据的修改不方便(指针必须修改),二、网络模型,22,关系数据库模型是以记录组或数据表的形式组织数据,以便于利用各种地理实体与属性之间的关系进行存储和变换,不分层也无指针,是建立空间数据和属性数据之间关系的一种非常有效的数据组织方法。,点,三、关系模型,23,点,三、关系模型,属性:每列起一个名字,如XTIC,关系是一个二维表,

8、表的每行对应一个元组,表的每列对应一个域。,三、关系模型,关系模型中,实体及实体间的联系都是用关系来描述的,那么在两个或两个以上的关系间就自然存在引用。,三、关系模型,优点: 结构特别灵活,满足所有布尔逻辑运算和数学运算规则形成的查询要求 能搜索、组合和比较不同类型的数据 增加和删除数据非常方便 缺陷: 数据库大时,查找满足特定关系的数据费时 对空间关系无法满足,26,三、关系模型,三种传统数据模型的比较,标准DBMS存储空间数据的局限性,空间数据记录是变长的(如点数的可变性),而一般的数据库都只允许把记录的长度设定为固定; 在存储和维护空间数据拓扑关系方面存在着严重缺陷; 一般难以实现对空间

9、数据的关联、连通、包含、叠加等基本操作,28,四、面向对象的模型,不能支持复杂的图形功能;如特征提取、影像分割等。 单个地理实体的表达需要多个文件、多条记录,一般的DBMS也难以支持; 难以保证具有高度内部联系的GIS数据记录需要的复杂的安全维护;,29,四、面向对象的模型,基本出发点就是以对象作为最基本的元素,尽可能按照人类认识世界的方法和思维方式来分析和解决问题。,30,四、面向对象的模型,基本概念,(1)对象:是对客观世界实体的抽象描述和模型化,与记录、元组等概念相似。由数据和对数据的操作组合而成。,31,四、面向对象的模型,对象的两个特征:状态性:通过域来描述,可称为私有存储单元。封装

10、性:表现为它的私有存储单元只能由它自己的功能进行处理。,32,四、面向对象的模型,(2)消息:是对象之间通信的唯一手段,用来指示对象的操作。分公有消息和私有消息。 公有消息:消息属于同一个对象,其中有些消息可由其它对象向它发送。私有消息:消息是由它自己向自身发送。,33,四、面向对象的模型,(3)类:是对一组对象共同特性的抽象描述。 (4)实例:是由一特定类描述的具体对象。实例的总和为类。 (5)方法:是对象接收到消息后应采取的动作序列的描述。,34,四、面向对象的模型,对象还涉及到分类、概括、聚集、联合、继承和传播等概念。,运用上述面向对象的概念和方法,就可以建立起地理信息系统中空间数据库的

11、对象数据模型。OpenGIS协会推荐了一种空间对象数据模型。,四、面向对象的模型,OGC定义的对象模型:,几何对象的中英文对照:,简单几何特征集关系,四、面向对象的模型,OGC定义的对象模型:,1.Geometry 是几何对象层次模型的根类,抽象类(不可实例化),几何对象说明:,Dimension ( ):IntegerThe inherent dimension of this Geometry object, which must be less than or equal to the coordinate dimension. This specification is restric

12、ted to geometries in two-dimensional coordinate space. GeometryType ( ):String Returns the name of the instantiable subtype of Geometry of which this Geometry instance is a member. The name of the instantiable subtype of Geometry is returned as a string. SRID ( ):IntegerReturns the Spatial Reference

13、 System ID for this Geometry. Envelope( ):GeometryThe minimum bounding box for this Geometry, returned as a Geometry. The polygon is defined by the corner points of the bounding box (MINX, MINY), (MAXX, MINY), (MAXX, MAXY), (MINX, MAXY), (MINX, MINY). AsText( ):String Exports this Geometry to a spec

14、ific well-known text representation of Geometry.,Methods:,AsBinary( ):BinaryExports this Geometry to a specific well-known binary representation of Geometry. IsEmpty( ):Integer Returns 1 (TRUE) if this Geometry is the empty geometry . If true, then this Geometry represents the empty point set, , for

15、 the coordinate space. IsSimple( ):Integer Returns 1 (TRUE) if this Geometry has no anomalous geometric points, such as self intersection or self tangency. The description of each instantiable geometric class will include the specific conditions that cause an instance of that class to be classified

16、as not simple. Boundary( ):Geometry Returns the closure of the combinatorial boundary of this Geometry.,Methods:,2.Geometry Collection 一个或多个Geometry对象的集合NumGeometries( ):IntegerReturns the number of geometries in this GeometryCollection. GeometryN(N:integer):GeometryReturns the Nth geometry in this

17、GeometryCollection.,Methods:,3.Point 0维几何对象,表示空间中的一个单个的位置信息 由X,Y坐标组成 边界是空集X( ):Double The x-coordinate value for this Point. Y( ):Double The y-coordinate value for this Point.,Methods:,4.MultiPoint 0维几何对象的集合 其元素必须为Point 边界是空集 如果没有任何的两个点等同,则MultiPoint是简单的,Methods:,NumPoints( ):IntegerThe number of po

18、ints in MultiPoint. PointN(N:Integer):PointReturns the specified point N in this MultiPoint.,5.Curve 1维几何对象 有序点的集合 如果没有经过同一点两次,则Curve是简单的 如果起点和终点等同,则Curve是闭合的 如果Curve是简单并且闭合的,则它是一个环(Ring) 一个没有闭合的LineString的边界是它的两个端点,Length( ):DoubleThe length of this Curve in its associated spatial reference. StartP

19、oint( ):PointThe start point of this Curve. EndPoint( ):PointThe end point of this Curve. IsClosed( ):IntegerReturns 1 (TRUE) if this Curve is closed (StartPoint ( ) = EndPoint ( ). IsRing( ):IntegerReturns 1 (TRUE) if this Curve is closed (StartPoint ( ) = EndPoint ( ) and this Curve is simple (doe

20、s not pass through the same point more than once).,Methods:,6.LineString,Line,LinearRing LineString是Curve的子类,在两个端点之间采用了线性插值(即每一对连续的点都是直线) Line是只有两个点的LineString LinearRing是一个闭合的,简单的LineSting,NumPoints( ):IntegerThe number of points in this LineString. PointN(N:Integer):PointReturns the specified poin

21、t N in this Linestring.,Methods:,7.MultiCurve 1维几何对象的集合,其元素都是Curve 是不可实例化的类 如果其所有元素都是简单的,并且任何两个元素的交集仅在两个元素的边界上,则MultiCurve是简单的。 边界由元素的边界的序号为奇数的点组成 如果所有元素都是闭合的,则MultiCurve也是闭合的,边界为空集。,IsClosed( ):IntegerReturns 1 (TRUE) if this MultiCurve is closed (StartPoint ( ) = EndPoint ( ) for each curve in thi

22、s MultiCurve) Length( ):DoubleThe Length of this MultiCurve which is equal to the sum of the lengths of the element Curves.,Methods:,8.MultiLineString 所有的元素都是LineString,9.Surface 2维几何对象 简单Surface:由Patch组成,一个外圈,0或多个内圈 简单Surface的边界由相关它的外圈和内圈的闭合Curve组成。,Area( ):DoubleThe area of this Surface, as measur

23、ed in the spatial reference system of this Surface. Centroid( ):PointThe mathematical centroid for this Surface as a Point. The result is not guaranteed tobe on this Surface. PointOnSurface( ):PointA point guaranteed to be on this Surface.,Methods:,10.Polygon 平面的Surface 有一个外圈和0或多个内圈 Polygon是拓扑闭合的 Po

24、lygon的边界是由一组形成外边界和内边界的LinearRing组成 在Polygon的边界中,任意的两个LinearRing都不是相互穿越的 Ploygon不能由切线、峰值和穿孔 每个Ploygon的内部是连续的点集 有一个和多个“岛”的Ploygon的外部是不连通的,每个岛定义一个Polygon的外部的连通分量 Polygon是一个规则的、闭合的点集,是简单的几何对象,ExteriorRing( ):LineStringReturns the exterior ring of this Polygon. NumInteriorRing( ):IntegerReturns the numbe

25、r of interior rings in this Polygon. InteriorRingN(N:Integer):LineStringReturns the Nth interior ring for this Polygon as a LineString.,Methods:,11.MultiSurface 2维几何对象的几何,其元素都是Surface 任意两个Surface内部都不可以相交 任何两个元素的边界可以相交与有限的点 不可实例化,其可实例化的子类是MultiPolygon,Area( ):DoubleThe area of this MultiSurface, as m

26、easured in the spatial reference system of this MultiSurface. Centroid( ):PointThe mathematical centroid for this MultiSurface. The result is not guaranteed to be on this MultiSurface. PointOnSurface( ):PointA Point guaranteed to be on this MultiSurface.,Methods:,12.MultiPloygon 2维对象的集合,所有元素都是Ploygo

27、n 任何两个元素的内部是不能相交的 任何两个Polygon的边界不能相互穿越但可以相交于有限的点 是拓扑闭合的 不可以由cutlines(切线),spikes(峰值)和punctures(穿孔),是规则的、闭合的点集 有多于一个的Ploygon的MultiPolygon的内部不连通, MultiPolygon内部的连通分量的编号等于MultiPolygon中Polygon元素的编号,面向对象数据库系统的实现方式:,面向对象的数据模型从概念上将人们对GIS的理解提高到了一个新的高度。一方面,它巧妙地容纳了GIS中拓扑数据结构的思想,能有效地表达空间数据的拓扑关系。 另一方面,面向对象数据模型在表

28、达和处理属性数据时,又具有许多独特的优越性。,62,面向对象数据库系统的实现方式:,目前,采用面向对象数据模型,建立面向对象数据库系统,主要有三种实现方式: 扩充面向对象程序设计语言(OOPL),在OOPL中增加DBMS的特性 扩充RDBMS,在RDBMS中增加面向对象的特性 建立全新的支持面向对象数据模型的OODBMS,63,GIS中的地物可根据国家分类标准或实际情况划分类型。如一个大学GIS的对象可分为建筑物、道路、绿化、管线等几大类,地物类型的每一大类又可以进一步分类,如建筑物可再分成教学楼、科研实验楼、行政办公楼、教工住宅、学生宿舍、后勤服务建筑、体育楼等子类,管线可再分为给水管道、污

29、水管道、电信管道、供热管道、供气管道等,另一方面,几种具有相同属性和操作的类型可综合成一个超类。,64,65,GIS中的各种地物,在几何性质方面不外乎表现为四种类型,即点状地物、线状处物、面状地物以及由它们混合组成的复杂地物,因而这四种类型可以作为GIS中各种地物类型的超类。,五、MAPGIS中的数据模型,区 域 文 件 弧 段 文 件 结 点 文 件,拓扑关系与面向对象模型 :,关系数据模型和关系数据库管理系统基本上适应于GIS中属性数据的表达与管理。若采用面向对象数据模型,语义将更加丰富,层次关系也更明了。可以说,面向对象数据模型是在包含关系数据库管理系统的功能基础上,增加面向对象数据模型的封装、继承、信息传播等功能。,面向对象的属性数据模型,面向对象的属性数据模型,六、吉奥之星 中的空间对象模型,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报