09主题8:要素之间的关系

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

开放地理信息联盟抽象规范主题8:要素之间的关系1内容列表1.简介1.1.通用规范1.2.要素之间的关系介绍1.2.1.举例1.2.1.1.情形11.2.1.2.情形21.2.1.3.情形31.2.2.基本原理1.3.第一部分的参考资料2.要素间关系的基本模型2.1.关系类型2.2.度2.3.角色2.4.角色类型2.4.1.角色类型和要素类型2.4.2.角色类型和基数2.4.3.角色类型和排序2.5.方向性2.6.只读关系2.7.限定和集成维护2.8.轻关系和重关系2.9.要素引用2.10.伪造重关系2.11.编写通用软件2.12.轮廓2.13.第二节的参考资料3.要素间关系的通用模型3.1.FR_RelationshipType3.2.FR_RoleType3.3.FR_RelationshipAttributeType3.4.FR_Role3.5.FR_Relationship3.6.FR_RelationshipAttribute4.附录A.附加背景资料4.1.二元关系分析和集成维护4.1.1.主要的基数类型4.1.2.基数类型的删除独立性24.1.2.1.操作列表独立性列表4.2.非删除独立性4.2.1.模式限定4.3.参考1.简介1.1.通用规范3通用规范的目的是为了能有效顾及到执行规范的创建而创建并提供评注的一种概念模型。通用规范由两个分别从顺对称重复分析与设计方法学中分解出来的模型构成[1]。第一个且较为简单些的模型称为本质模型,其目的是建立针对现实世界的软件和系统设计概念联接。本质模型是用来描述世界如何运作的(或可能如何运作)。第二个模型是通用规范的要旨,称为通用模型,它定义了一种中立风格实现形式的最终软件体系。通用模型是描述软件可能如何运行的。通用模型体现了预期目标实现环境的范例间的一种折衷。为了管理内容主题的复杂性,并通过不同的OGC技术委员会工作组来辅助工作项目的并列发展,通用规范被组织分成相互分离的主题册。事实上,这些主题是相互依赖的——每一个都期望被首先填写。每一个主题必须在整个通用规范的上下文中读取。主题册并非都编写为相同等级的详细程度。一些已经成型,它们是提议请求(RequestsForProposal,RFP)的基础。另一些尚未成型,在RFPs出现前需要附加的规范。成型等级反映了理解和讨论在技术委员会中的事件的水平。参阅OGC技术委员会方针和规程[2]以及技术发展进程文件,已得到有关OGCOpenGIS标准进展情况。参考主题册0:通用规范纵览[4]了所有主题册对通用规范折衷思想和对编辑指导的介绍,以及OGC规范的作者(和读者)章程和准则。1.2.要素之间的关系的介绍概要说明的主题5介绍了要素,真实世界的实体的抽象。真实世界的实体不是孤立地存在的。有代表性的是真实世界的一个实体以多种不同的方式与其它真实世界的实体联系着。这个主题介绍了真实世界中的实体之间的关系的抽象。这种抽象是主题5中介绍的要素之间的关系的模型。1.2.1举例1.2.1.1.情形1考虑一下两个真实实体之间的关系,比如公路和河流。公路可能通过桥梁跨过河流,或者通过隧道从河底穿过,甚至在河流的浅水处穿过河流。这两个真实世界实体的数字表示就是两个要素类型,一个要素类型是”公路”,一个是”河流”。“公路”和“河流”要素类型可以定义要素类型的实例,它们有真实世界的位置,这些位置可以用线性几何学来描绘并通过一个二维空间参考系统来量度。通过这种数字描绘我们能够推断真实世界的公路和河流在某些位置相交,但是却不能判断谁在下方。(我们简单的假定,在多数情况下,当公路和河流要素相交时,它们在相交点断开)这个问题可以在不求助于关系的情况下解决。例如,我们可以让“公路”和“河流”要素类型包含一个整形属性(叫做“Z-order”)。Z-order的值越高,就表示它在其它要素的上方通过。然而这种方法依赖于属性的阐释而不能自动从图解中得到。现在考虑一下这个信息如何用一个关系来明确的模拟。可以定义一个新的关系类型。我们称之为“公路-穿过-河流”关系类型。这个关系类型的实例联系两个要素,一个要素类型是“公路”,另一个是“河流”。这个关系类型定义两个角色类型,一4个称作“公路”,一个称作“河流”。因为只有两个角色,因此这是一个二元要素关系。“公路”要素类型的定义包括“公路”角色类型。这样要素类型“公路”的特征就能够扮演这个关系中的“公路”角色。公路如何穿过河流的信息可以作为关系本身的属性,因为它不是孤立地描述其中任何一个要素的信息的。作为另外一种可供选择的方法,考虑到“公路”和“河流”要素类型都可以用要素类型“线性要素”(参阅主题5中的可替换的要素类型的解释)来替换。一个新的二元关系定义成两个角色类型“穿过”和“被穿过”。穿过的要素在上,被穿过的要素在下。两个角色类型在要素类型“线性要素”或者任何可替换的要素类型中定义。这样这个关系类型就可以用来模拟公路穿过河流,河流穿过公路,以及公路穿过公路,还有可能(不常见的情况)河流穿过河流。这个关系中没有定义一个属性,因此它不能描述公路与河流在相同的高度相交的情况。1.2.1.2.情形2第二个情形考虑的是一套房子和卖房的代理商的办事处之间的关系。这可以用要素类型“房屋”和“办事处”的实例来表示。“房屋”和“办事处”要素类型可以用点几何来定义相关实体的真实世界的位置。这颗问题可以不求助于关系来加以解决。例如我们可以让“办事处”要素类型中包含一个字符串属性“办事处名称”,“房屋”要素类型中包含一个字符串属性“销售办事处名称”。如果办事处要数的“办事处名称”与房屋的“销售办事处名称”相匹配,那么该办事处就是相关的办事处。但是,同样,这依赖于属性的阐释而不能直接从图解上推断。另外一种方法是明确的模拟这种关系。这可以再次通过一个二元关系来模拟,两个角色为“房屋”和“办事处”。但是这个例子一个关系的实例可能包括多于两个要素。这个关系的一个实例通常包括一个办事处,但可以包括任意多的房屋。这是一个一对多的关系类型。对照而言,在情形1中描述的关系类型是一对一的。考虑另一个要素类型“棚舍”。它可以用来替换“房屋”。那么上面定义的关系类型就可以用来联系一个办事处和一个房屋和棚舍的集合。定义一个新的关系类型就隐式地定义了要素类型之间的某些关系。“公路-穿过-河流”关系类型定义了“公路”和“河流”角色类型。角色类型在特定的要素类型中定义并且限制了要素在关系中的类型。这样,“公路-穿过-河流”关系类型就隐式地联系了“公路”和“河流”要素类型。这个主题正是讲述那些隐式地从关系类型定义中派生出来的要素类型之间的关系的。另外,要强调的是这个主题描述的关系并不是模拟真实世界中的关系的唯一方法。很多关系能够用其他方法很好的建模。考虑下面一种情形,一个要素集用来表示一个真实世界的实体集,它们在“英国国家网”空间参考系中有一个坐标几何属性。如果要素A的坐标的最大y值比要素B的坐标的最小y值小,我们可以说要素A在要素B的南面。比显式地建立一些关系来表达好的方式是,我们可以在要素类型中定义一个函数。这个函数可以命名为“isSouthOf”并且返回一个布尔值用来表示这个要素是否是在另一个要素的南面(作为这种方法的根据)。这可以计算在一对要素中是否“isSouthOf”为真。1.2.1.3.情形3一个有三个角色的关系的例子是一个桥允许一条路通过一个河流。如果他们满足这个约束,我们可能希望将“公路”,“河流”和“桥”显式地联系起来。5一个典型的非地理世界的例子是一个人从图书馆借一本书。一个三重的关系用来联系“书”,“人”和“图书馆”要素。这个例子有助于进一步深入。这个关系可能包括一个属性“借出日期”用来表示书被借出的日期。它本质上表示了书被借出这一事件。这种安排允许同一个人多次在同一个图书馆借出相同的书。“借出日期”属性不属于任意的单个要素。我们能够在书要素本身中包含一系列借出日期(现实中多数是这样做的)但是这不能让我们保留谁将书借出了这样的信息。地理中很难找到相似的例子。例如有人可能认为,在公路/河流/桥关系中,提供桥上交通通过河流时日期的属性可能有益。但是由于其静态特性,这可以合理地作为桥要素的一个属性。当相同的关系类型定义的多重关系用来在不同的情况下联系相同的要素集时,在关系中包含属性在多数情况下是有意义的。比如一个关系联系“浮桥”,“公路”和“河流”。这个关系是用来描述一个浮桥在一条河上连接一条道路的。由于浮桥能够在一个地方用过之后移到另一个地方使用,一个浮桥能够参与很多这种关系。甚至他能够多次在同一个河流上连接相同的公路。在这种情况下,在关系中加入表示桥在何时使用的属性是有用的。1.2.2.基本原理在试图模拟真实世界的时候,是有必要模拟真实世界中实体之间的关系的。如果没有相应的机制,这些关系只能通过要素的属性的一致来模拟。没有附加的信息,是不可能自动阐释和操纵它们的。通过形成关系这个概念,这个主题将提供一个基础,说明书能在此之上提出具体的意见。根据概要说明的安排,主题5介绍了要素和要素类型的概念,但没有去定义特定的要素类型,更不用说特定的要素了。类似的,这个主题介绍了关系和关系类型,但并没有讲述特定的关系类型。在后面的部分,要素引用的概念将被介绍,但已经被废弃了。实质上一个要素引用类似于一些程序设计语言的指针。一个要素引用允许一个对象指向另一个对象。为什么将这些废弃更有利于关系的讨论将推迟到我们能够通过关系完全理解其意义的时候。1.3.第一部分的参考资料[1]Cook,Steve,JohnDaniels对象系统的设计:通过顺对称重复进行面向对象建模PrenticeHall,纽约,1994年,389页[2]OpenGis协会,1997年。OGC技术委员会原则和过程Wayland,Massachusetts.万维网可用资源:。[3]OpenGis协会,1997年.OGC技术委员会技术发展进程,Wayland,Massachusetts.万维网可用资源:。[4]OpenGis协会,1999年.主题0,通用规范概论,Wayland,Massachusetts.万维网可用资源:。[5]OpenGIS™通用规范,OpenGIS™项目文档99-100经由99-116,万维网可用资源:。2.要素间关系的基本模型2.1.关系类型6每个类型都是一个特定关系类型的实例。关系类型确定了一下描述的关系的各个方面。2.2.度关系类型定义了关系的度。度是指在一个关系中不同角色(如下)的数目。关系的必须为2或者更多。度为2的关系也称为二元关系。2.3.角色一个关系联系一些要素。关系中的要素可能履行不同或完全不同的功能或角色。关系类型用n个角色类型来定义,其中n是关系的度。这样一个二元关系类型就是由两个角色类型定义的。比如要想用一个新的、二元关系类型“河流-流动”来模拟河流流动。很明显有必要区分这个例子中的两个角色,因为河流A流入河流B与河流B流入河流A是不相同的。虽然定义一个要素关系类型需要多种角色类型,但并不一定要角色类型不同。这样,像“邻近”这样的对称的、二元要素关系能够由相同角色类型的两种运用来定义。2.4.角色类型角色类型是用来表示一个要素有哪些角色并且关系如何与那些角色相联系的说明。一个角色类型仅在特定的要素类型中定义,这样限制了能有那种角色的要素。角色类型也限制了从一个角色能延伸出多少关系以及那些关系的排序是否重要。这个主题列举了当定义一个角色类型时要考虑到的特性的最小集合:要素类型、基数、排序。2.4.1.角色类型和要素类型要素类型定义为有0个或更多角色类型,这样定义了一个要素能参与哪些关系。再以“河流-流动”为例,“流自

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功