(计算机系统结构专业论文)空间关系的研究和实现.pdf_第1页
(计算机系统结构专业论文)空间关系的研究和实现.pdf_第2页
(计算机系统结构专业论文)空间关系的研究和实现.pdf_第3页
(计算机系统结构专业论文)空间关系的研究和实现.pdf_第4页
(计算机系统结构专业论文)空间关系的研究和实现.pdf_第5页
已阅读5页,还剩93页未读 继续免费阅读

(计算机系统结构专业论文)空间关系的研究和实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

捕爱 摘要 随着地理信息系统( g 鸸) 的发展和普及,作为g i s 基础的空间数据库已经得到人 们足够的重视和发展。空间关系是空间数据库和g i s 分析的一个重要的方面,为此,很 多学者对其进行了大量的研究,产生了关于空间关系的一个相对完备的数学基础一维度 扩展的9 交矩阵:d e - 9 i m 。o p e n g i s 协会( o g c ) 根据这个数学基础,定义了空间关 系在简单地理几何要素中的抽象规范和实现规范。 本文在d e - 9 1 m 模型和o p c n g i s 规范的基础上以扩展的b m n 交点算法为支撑, 利用模板元编程的特性,具体面微的设计并实现了空自j 关系的的系统架构,以及适用于 所有空间关系函数的统一算法流程在此基础上,本文实现了o g c 规定的所有空间关 系的函数接口。 本文通过把空间关系函数划分为空间关系判断函数和空间关系获取函数,设计并实 现了空日j 关系判断函数的模式串匹配算法,使得这类函数的实现更加的直接、简便和高 效。利用b m n 交点扫描算法本身的特点,本文设计并实现了点线在多边形内外侧判定 的算法,极大的降低了算法的时间复杂度。 本文关于空间关系实现的架构和算法已经在实际的v e g a g i s 系统中成功运用,并取 得了良好的效果。 关键词:地理信息系统,空问关系,b o 算法,b m n 算法,维度扩展的9 交矩阵,空 自j 关系判断函数、空间关系获取获取函数,空间关系的模式串匹配算法、织女星地理信 息系统 捕荽 r e s e a r c ha n di m p l e m e n t a t i o no ns p a t i a lr e l a t i o n z h a oh o n g c h a o ( c o m p u t e r a r c h i t e c t u r e ) d i r e c t e db yt a n gz h i m i n w i t hm ed e v e l o p m e n ta n dp o p u l a r i t yo f g e o g r a p h i ci n f o r m a t i o ns y s t e m ( g i s ) , g e o d a t a b a s e , a st h eb a s eo f g i s ,h a sb e e ns t u d i e da n dd e v e l o p e dd , * p l y 。s p a t i a lr e l a t i o ni so n e o ft h em o s ti m p o r m ta s p e c t sf o rg i sa n dg e o d a t a b s e ,a n d8 0m a n ys c h o l a r sd oal o tr e s e a r c h 0 1 1i tt h es i g n i f i c a n tr e s u l to f s u c hr e s e a r c hi st h em a t h e m a t i c a lf o u n d a t i o nf o rs p a t i a lr e l a l t i o n d i m e n s i o ne x t e n d e d9 - i n t e r s e c t i o nm a t r i x , t h a ti sd e - 9 1 m b a s e do i lt l i 斌o p e n g i s c o m o r t i u md e f i n e st h ea b s t r a c ts p e c i f i c a t i o na n di m p l e m e n t a t i o ns p e c i f i c a t i o n 妇s p a t i a l t e l a t i o i l b a s e do nd e 一9 1 ma n do p e n g i ss p e c i f i c a t i o n , u s i n gi m p r o v e db m n a l g o r i t h ma n d t e m p l a t em e t a p r o g r a m m i n g , w ed e s i g na n di m p l e m e n tt h es y s t e ma r c h i t e c t u r ea n dat m i v e r s a l a l g o r i t h mf l o ww h i c hc a na p p l yt oa l ls p a t i a lr e l a t i o nf u n c t i o n s a n db yt h i s , w ei m p l e m e n ta l l s p a t i a lr e l a t i o nf u n c t i o n ss p 础e db yo g c w ec l a s i f yt h es p a t i a lf u n c t i o n si n t op a t i a lr e l a t i o np r e d i c a t ef u n c t i o n sm a ds p a t i a l r e l a t i o ng e t t i n gf u n c t i o n s ,a n dd e s i n ga n di m p l e m e n tt h ep a t t e r n m a t c ha l g o r i t h m , w h i c h c a nm a k et h er e l a t i o np r e d i c a t ef u n c t i o n sm o r ed i r e c t l y , m o r es i m p l e xa n dm o r ee f t e c t i v e u s i n gt h ef e a t u r e so fb m na l g o r i t h m , w ed e s i g na n di m p l e m e n ta l g o r i t m sw h i c hc a n d e t e r m i n et h ep o i m0 1 l i n es e g m e n tl i ei n s i d eo ro u t s i d et h ep o l y g o n , w h i c hl a r g e l yr e d u c et h e t i m ec o m p l e x i t y t h ea r c h i t e c t u r ea n da l g o r i t h m sw h i c hw ed e s i g na n di m p l e m e n ta 阳a p p l i e di no u r v e g a g i ss y s t e ms u c c e s s f u l l y k e y w o r d s :g i s ,s p a t i a lr e l a t i o n , b ea l g o r i t h m ,b m na l g o r i t h m , d i m e n t i o ne x t e n d e d 9 - i n t e r s e c t i o nm a t r i x ,s p a t i a lr e l a t i o np r e d i c a t ef u n c t i o n s , s p a t i a lr e l a t i o ng e t t i n gf u n c t i o n s , s p a t i a lr e l a t i o np a t t e r n - m a t c h a l g o r i t h m ,v e g a g i s i i l l 0 幽目录 图表1 1 图表1 2 图目录 几何体a ,b 的9 交矩阵 面型几何体之间的8 种基本的拓扑关系 图表1 3 几何体a ,b 的维度扩展9 交矩阵 图表1 4 抽象规范的1 6 种主题之间的依赖关系图 图表1 5o p e n g i s 地理数据类层次 图表1 6 简单要素的类继承层次 图表1 78 种空间关系的之间的联系 图表1 8 相离关系 图表1 9 相切关系 图表1 1 0 交迭关系 图表1 1 1 被包含关系 图表1 1 2 相交关系 图表1 1 3 空自j 关系实现的层次图 图表2 1b o 线段的三种状态 图表2 2 扫描线遇到线段的左端点。 图表2 3 扫描线遇到线段的右端点 1 l 1 2 图表2 4 扫描线遇到线段的交点2 l 图表2 5b o 算法不能处理的五种特殊情况2 2 图表2 6 特殊情况的交迭:重叠边和多线相交 图表2 7i n u r e 的各种形式。 图表2 8i n u m 结论不适用的特殊情况一2 9 图表2 9 出局部关系得到整体关系2 9 j x 瑚目录 图衷2 1 0 局部关系和整体关系的对应 图表2 i i 空自j 关系实现的统一流程图3 l 图表2 1 2 输入线段的优化3 2 图表2 1 3 从局部关系得到整体关系e q u a l 模工弋串4 0 图表3 1 点点的局部关系4 3 图表3 2 点线局部关系 图表3 3 点和多边形关系的各种情况4 5 图表3 4 点面局部关系 图表3 5 决策树的选择过程 图表4 1 线边界的各种情况 图表4 2 线线局部关系 图衷4 3 图表4 4 图表4 5 图表4 6 线线关系g e l r c l a t i o n 的流程图5 5 线面的局部关系5 7 线段在多边形内外侧的确定5 8 多边形内外环对线段在多边形内外侧判定的影响5 9 图表5 i 面面的局部关系 图表5 2 面面关系实现的流程图 x , 表目最 表目录 表格1 1o g c 的g e o m e t r y 接1 :3 定义 表格2 1 面型几何体r m 到r g 之间的映射表 表格2 2 面型几何体r g 到r m 之间的映射表 表格2 3 二次分派的表格说明 表格2 4 基础设施使用的类及其成员函数 表格2 5 空间关系的具体类型接口定义 。l o 3 4 表格2 6d e 9 i m 中各种要素类型空间关系的个数 表格3 1点点关系的实现。 表格3 2 点线关系的实现4 9 表格3 3 点面关系的实现4 9 表格4 ,l 线线局部关系的区分。 表格4 2 线面局部关系的区分 表格4 3 线线关系的实现。 表格4 4 线面关系的实现 表格5 1 面面局部关系的区分 表格5 2 面面关系的实现 x l 5 3 6 1 6 3 6 4 7 0 、l峰 声明 我声明本论文是我本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,本论文中不包含 其缝人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示了谢意。 作者签名盘;趁吼掰肛t 肜 论文版权使用授权书 本人授权中国科学院计算技术研究所可以保留并向国家有关部门或机 构送交本论文的复印件和电子文档,允许本论文被查阅和借阅,可以将本 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编本论文。 ( 保密论文在解密后适用本授权书。) 懒名:当2 ) 垒翩潞弘w 期:协川 第l 章哆i 击 第1 章引言 近年来,随着人们对空间数据需求和兴趣的与同俱增,地理信息系统( g e o g c r a p h c i n f o r m a t i o ns y s t e m ) 已经超越了学术界,在商业开发和政府投入上越来越大。g i s 已经 成为一个蕴藏巨大商机、会对社会产生重大影响的产业方向。空间数据库作为g i s 应用 的基础设施,已经得到人们足够的重视和研究。空间数据库对传统数据库( d b m s ) 提 出了很多的扩展来支持空间数据模型,其中一个很重要的方面是对s q l 的扩展,使之不 仅支持非空间数据的查询,而且也能够支持空间数据的查询。对空间数据的查询,最主 要的一个方面就是对空间数据的空间关系的查询。从技术上说,必须建立空问关系的数 学模型并确定它的实现逻辑,并把这个模型和d b m s 结合起来。经过一些学者的努力, 二维空日j 要素的空间关系在数学基础上已经比较成熟,建立了二维空间关系的数学模型 雌度扩展的9 交矩阵。o p e n g i s 协会( o c t ) 根据此数学模型,提出了简单地理要 素的抽象规范和实现规范,这个规范包括了关于空| b 】关系的接口。结合具体的算法实现 这些接口,是一个g i s 软件系统必须满足的功能。 1 1 地理信息系统 地理信息系统就是获取、存储,检验、集成、操纵、分析、显示和地球表面某一个 地理位置相关数据的计算机系统 a g i 。一个典型的地理信息系统( g e o g r a p h i c s i n f o r m a t i o ns y s t e m 或者s p a t i a li n f o r m a t i o ns y s t e m ) 是处理一种或者多种类型的地图,一 般束说,一个地图被分成若干的数据层,每个层的数据都是一种特定类型的要素数据, 这些数据都关联于地球上某个特定的地理位置【a g l 】。 有些学者从不同的角度看待地理信息系统,得出了对地理信息系统定义的三种观点 m a g u i r e 9 1 :地图的观点,侧重于地图制图,认为g i s 是一个地图制图、分析和处理的 系统:数据库的观点,侧重于空间数据库的设计和实现,一个功能强大的空间数据库是 g i s 应用的基础;模型的观点,侧重于分析和建模,认为g i s 是空间数据集和作用于数 据集上的操作符( 或者工具) ,这样g i s 被认为足- 1 7 空间信息科学。 地理信息系统区别于其他的信息系统的一个1 i 要特征是g i s 要处理的数据是空间数 据,所谓的空i h j 数据主要包括: 1 位置信息。 所谓的位置是在某个特定的坐标系下的空白j 位置,例如经纬度、大地投影坐标、极 坐标位胃等等。位置信息是基本的空间信息。 2 。实体之问的窄问关系信息。 、;、 第1 帝j i 矗 实体之日j 的空白j 关系通常划分为三种 e g e n h o f e r 9 1 a :度量关系,实体之自j 关联于度 量单位的关系,例如实体之日j 的距离,实体之i 丑】的方位角的大小;顺序关系( 全序 或著偏序) ,定义了实体之间的方位,例如前后、左右、上下关系等等:拓扑关系, 定义了实体在拓扑变换下( 旋转、缩放、移动等等) 保持不变的关系其中拓扑关 系是g i s 分析中最基本的关系 3 非空间的属性信息。 非空间的属性信息可以看成是传统数据库管理的信息,一般这些信息要和存储的空 间信息关联起来,用以表明这些空间信息的地理意义,一个地理实体总是要和非空 间的属性信息联系起来。非空间的属性信息是非常重要的,因为g i s 分析、检索地 理数据一般总是通过非空间的属性信息进行的。 t 2 空间关系 1 2 1 空间查询语言( s p a t i a ls q l ) 在一个传统的信息管理系统中,s q l 语句是用户操纵数据库系统中数据信息的主 要手段。对于空间数据库,用户也希望通过类似于s q l 的语句来显示和分折空间数据, 这通常是通过对空间数据施加一些空自j 关系的限制来控制要操纵的地理实体集合的范 围。例如客户可能有如下的需求:检索长江经过的所有省份;检索和河北省紧邻的所有 省份:检索距离北京市中关村大街1 0 0 0 米内所有的饭店,等等。显然,这些需求所包含 的空间关系是传统的s q l 所不能表达的内容。 传统s q l 语句的查询只是关注数据的语义信息,而没有关注数据的空每j 属性和窄间 关系,因而不能满足空间数据库的要求。为此,需要研究新的查洎j 语言机制支持空m 数 据。人们对新的查询语言机制的研究,一般是从传统s q l 的扩展开始,而不是重新设计 一种全新的查询语言。这是因为传统s q l 已经被标准化了,有成熟的理论体系和丰富的 实践经验;另一方面,对空白j 数据的查询还包含很多的非空间数据查询,这属于传统s q l 的功能范畴。 扩展s q l 使之支持空间数据的查询,人们对此进行了大量的实践,例如g e o q u e l 【g 0 7 5 ,b e r m a n 7 7 ,是一种对q u e l 的扩展;g r a p h i c a lr e p r e s e n t a t i o nl a n g u a g e ( g p l ) 【e g e n h o f e r 9 1 b ,不仅在s q l 的基础上增加了对空间关系查询的支持,而且对查询的结 果的图形化显示样式也提供了支持。文献【e g e n h o f e r 9 4 对空间查询语占进行了充分的论 述。我们使用一个g p l 的实例t 兑明如下: s e tm o d en e w ; s e l e c tr o a d g e o m e t r y f r o mm a d t o w n , ; , : 、 第1 帝l 吉 w h e r et o w nn a m e = ”o r o n o ”a n d t o a d n 越i l e = ”g l o v es t r e e t a n d r o a d g e o m e t r yi n s i d et o w n g e o m e t r y ;【e g e n h o f e r 9 4 可以看到,g p l 仍然保留了传统s q l 的s e l e c t - f r o m w h e r e 的样式,但增加了对 地理几何实体要素类型的支持,同时还增加了空l 日j 关系操作符i n s i d e 。 1 2 2 拓扑关系 空间关系中最基本的是拓扑关系( 以后我们所说的空间关系,如果不加特殊的说明, 就是指拓扑关系) 。“拓扑”一词来自于希腊文,意思是“形状的研究拓扑学是几何学 的一个分支,研究的是在拓扑变换下保持不变的属性,也就是拓扑属性,或者说是拓扑 关系。 例如位于多边形内部的一个点,无论这个多边形如何的被压缩、拉伸、移动,点位 于多边形内部这个属性不会改变,所以点位于多边形内部这个属性就是拓扑属性,点和 多边形的这个关系就是两者之间的拓扑关系。在拓扑变换过程中,多边形的面积是有可 能变化的,这个属性就不是拓扑属性。 下面给出拓扑的相关定义。我们使用它们束定义空间关系数学描述,更多的内容参 见 e g e n h o f e r 9 3 】、【邬伦0 1 】。 定义l :拓扑和拓扑空间 如果x 为非空的集合,a 为x 的子集族,如果满足下面的条件: ( 1 ) x 和空集m 属于a ; ( 2 ) 如果a i 和a 2 属于a ,则a l 和a 2 的交集仍然属于a ; ( 3 ) 如果a l 和a 2 属于a ,则a 1 和a 2 的并集仍然属于a ; 则称a 是x 的拓扑,对偶( x a ) 为拓扑空间。 定义2 :开集 如果u 是一个集合,对于u 的每一个点x u ,存在 o ,使得集合a = f y id ( x ,y ) , 则称u 是一个开集。 定义3 :邻域 如果u 是一个开集,x e u ,则称u 是x 的邻域 定义4 :内点和集合的内部 对于集合a 和点x ,如果存在丌集u ,使得x 【,并且u 是a 的子集,那么称x 是 集合a 的内点a 的所有内点构成的集合,称为a 的内部。a 的内部是包含在a 内部的一 个最大的开集。 定义5 :边界点和边界 、 对于集合a 和点x ,如果在x 的任何个邻域l 内,既存在属于a 的点,也存在属 籀l 章i 言 于a 的补集的点,即:u a a :( b ,u n a m ,则称x 是a 的边界点,所有边界点构成的集 合称为a 的边界。 定义6 :集合的外部 a 是拓扑空白j x 的一个集合,a 的内部和a 的边界相对于的x 的补集称为a 的外 部。 1 2 3 符号化表示 几何体空f b j 关系的数学基础经过一些学者( c l e m e n t i n i ,1 9 9 31 9 9 4 1 9 9 51 9 9 6 e g e n h o f e r1 9 9 01 9 9 11 9 9 3 ) 的努力,已经比较成熟。为了形式化描述,我们在这里定义 一套符号体系 e g e n h o f e r 9 1 a : a ,b: 地理几何实体 d i n l ( a ) = p:p t ,f ,誊,l ,o ,1 ,2 ,一l 表示几何体a 是空集;0 ,l ,2 分 别表示几何体a 是0 维( 点) 的,l 维( 线) 的,2 维( 亟) 的;t 表示p ( 0 ,l ,2 ,即几何体a 存在;f 表示p = - i ,即几何体a 是 空集不存在; 表示p 卜l ,0 ,l ,2 ,即几何体a 可以是空集, 也可以是非空集,即不关心 a o b o : 几何体a ,b 的内部 a a ,孤:几何体a ,b 的边界 a 一,b 一:几何体a ,b 的外部 p :0 维的几何体( 点) l :一维的几何体( 线) a : 二维的几何体( 面) p r e d i c a t e : 先决条件,表示可以应用于空间关系的两个几何体的类型 有些空间关系不能应用在特定的几何体的类型上,例如相切( t o u c h ) 关系就不能应 用在两个点类型的几何体上。这可以表示为t o u c h ,p r e d i c a t e :不能应用于p p 。我们把 空间关系可以应用的两个几何体类型符号化表示如下: p p :点点类型 p l : 点线类型 p a : 点面类型 l l : 线线类型 l a : 线面类型 a a : 面面类型 4 旃i 帝0j 言 1 2 49 交矩阵( 9 1 m ) 几何体a ,b 的空h j 关系根据二者的内部、边界、外部三者的两两相交,生成一个3 3 的矩阵 c l e m e n t i n i 9 5 : a o b a n a ba n b 一、1 ll m ( 曲) = id a t l b a a n a bc 3 a n b j ii l a 。n b 。a - n o b a - n b - j 图表1 1 几何体a b 的9 交矩阵 矩阵m 每个要素的值,根据相交的结果所生成的几何体是否空设定值为0 ( 空) 或者1 ( 非空) 。从这个意义上说,两个几何体a ,b 的空问关系总共有2 9 = 5 1 2 种。但是实际 上有意义的空间关系没有这样多,这是因为有些特定的矩阵在实际中没有意义。经过总 结后真正有意义的空间关系5 6 种 c l e m e n t i n i 9 5 。 但是对于直接使用的用户来说,5 6 种关系仍然太多,而且有些也不方便使用文字描 述。经过精心的选择,人们对不同的几何体类型总结出相互排斥的、完备的、易于文字 表达的空间关系集合。例如对于面型几何体来说,人们总结出8 种相互排斥的、完备的 的空间关系:相等,相离,相接,包含,被包含,覆盖,被覆盖,交迭 c l e m e n t i n i 9 5 。 图形化的表示如下: 阶离黔( 蓍 被包含艚 - 氏 , 咿 阶切盼盖 i i ; 糯交迭 图表1 2 面型几何体之间的8 种基本的拓扑关系 鸽i 帝弓i 南 这8 种空间关系不仅是完备的,而且是相互排斥的:也就是说。任何两个面型几何 体之间的空间关系一定是这8 种关系的一种。所以对于其中的一种关系来i 兑,对于它的 9 1 m ,可以不必把矩阵的9 个具体的数值都计算出来,只要能够找到一个最小的子集能 够把它和另外的7 个矩阵区分开来 c l e m e n t i n i 9 4 1 。 例如对于面型几何体来说,如果它们之间的空间关系是相切,那么它的最小子集是 。 m = ( o “+ l ”一 ( 矩阵是行优先的) 。也就是晚,如果要判断两个几何体之间是否是 相切的关系,那么只要确定它们是否满足“内部没肓交点,边界存在交点”即可。我们 , 把m = o ”l ”+ ”) 称为面型几何体相切关系的模式矩阵,得到空问关系的模式矩阵 的算法在文献 c l e m e n t i n i 9 4 中有过论述。 1 2 5 维度扩展的9 交矩阵( d e - 9 i m ) 在9 m 中,矩阵中每个要素的值域是: 0 ,1 ,即根据相交生成的几何体是否为空 ( 0 ) 还是非空( 1 ) 设定。有时候这样的描述是不够的,还需要相交生成的几何体的维 度信息来确定其空间关系。经过这样修币的关系矩阵被称为维度扩展的9 交矩阵 f c l e m e n t i n i 9 5 ,其表现形式是: fd i m ( a 。n b 。) d i m ( a 。na b ) d i m ( a 。n b 一) 1 l 。 i m ( 曲) = id i m ( a n b 。) d i m ( d a f 3a b ) d i m ( o a n b 一) l l 曲h m 。、m 仃n 孙、拥甜m j 图表1 3 几何体a ,b 的维度扩展9 交矩阵 d i m ( x ) 的值域空间是 1 ,0 ,l ,2 ) ,所以对于维度扩展的9 交矩阵,理论上有4 9 ;2 6 2 1 4 4 种关系类型。但正如9 i m ,实际上有意义的类型远远没有这洋多,经过选择排除,实际 上有意义的类型有8 1 种 c l e m e n t i n i 9 5 。 d e 一9 1 m 还存在一些不足 c l e m e n t i n i 9 3 1 ,其中最芒要的就是不能够用d e - 9 i m 来描述 自相交几何体的空问关系。但是一般实际中的数据部满足d e - 9 i m 的要求,所以这个理 论在实践中获得了极大的应用,并被o g c 规范采纳使用。维度扩展的9 交矩阵已经成 f 为人们分析,设计,实现空间关系的理论基础。 1 3o p e n g i s 规范 1 3 1o g c 计铮技术和通汛技术的迅猛发展计诈机处删速度,存取能力的大幅度提高,计铭 第l 章l j l ; 机网络技术的普及,使得更多的计算移植到网络环境下在这样的环境下,地理信息系 统也经历了从单机版g i s 、网络版g i s 再到分布式g i s 的发展过程在这个过程中,大 量的g i s 软件系统和硬件系统出现了 这些g i s 软硬件的开发使用了大量的开发方法,这些方法之间有很多是相互独立的。 数据存取格式的差异、数据结构的不同、软件体系结构的千差万别使得不同的g i s 软硬 件之问难以通讯,互操作问题越发凸现。所谓g i s 的互操作指的是在地理数据、地理数 据处理、地理计算的不同层面上能够分析和综合,从而达到能够在地理数据、应用层面 和系统层面上的复用 f e i 2 0 0 1 为了解决互操作问题,并且消除工业界、政府和学术界的分歧,o p e n g i s 协会( o p e n g o a s p a t i a lc o n s o r t i u m ,i n eo c , c 旌1 9 9 4 年成立。这个协会是一个非盈利的组织,致力于 为地理数据的互操作提供新技术和商业方法。它的目标是:使得全世界都从使用空问数 据中受益,并且为此提供支撑技术。它的使命是:领导全球范围内关于把空间数据和服 务集成到用户应用的公开标准和体系结构的开发、提高和一致化,并且促成相关市场和 商业机会的生成。为此,地理处理软件商、数据库厂商、可视化软件商、系统集成商、 计算机厂商、通讯公司、大学、信息提供商、联邦机构都加入这个组织,提供统一的软 件规范和新的商业战略 o g c 0 5 。 1 3 2o p e n g l s 规范 人们对地理数据的操作有很多的方式:数据的获取、集成,合并、空间分析和显示 ( 不同的数据格式和数据模式,使用语义分析器) :不同数据源( 在w e b 的不同地方) 的数据可以方便的注册、叠加和渲染显示;为了不同目的的空间数据的可视化;企业或 者用户对地理数据处理的集成。o p e n g i s 通过提供公开的接口使得这些活动易于进行, 这些接1 3 的集合就是o p e n g i s 规范。 o p e n g i s 规范分成两类,抽象规范和实现规范。抽象规范使用格式化的文档描述一 致的公共接口,同时为实现规范提供基本的体系结构和通用的类型定义。经过一个规格 化的需求提交和裁决过程,抽象规范提升为实现规范,这是一个工程化的规范,为g i s 软件开发者实现一致的接口提供了指导方向 c a r d e l s 9 7 o g c 定义了1 6 种抽象规范,分成1 6 个主题 o c , c 0 4 : 7 编i 帝0 l 者 图表1 4 抽象规范的1 6 种主题之间的依赖关系图 o g c 的主题标准町以分成两类:共享地理空间信息和提供地理空间服务。它们之间关系 【o o c 0 4 1 :主题1 2 描述了一组地理空间服务,主题1 3 ,1 5 ,1 6 更加详细的描述了不同 种类的服务,还会有更多的服务标准要发布出来。主题5 ,6 ,7 集中在共享地理空间信 息上,主题6 c o v e r a g e t y p e 是主题5 0 p e n g i s 要素一个特例,主题7 地球图像是主题6 的一个特例。主题l ,2 ,3 ,8 ,1 1 直接的支持主题5 ,6 ,7 。主题l 为要素提供了地理 结构,主题2 ,3 是关于地理坐标系的,主题8 关于地理要素之间的关系,主题1 1 是关 于地理空间元数据的,主题4 是关于存储过程的,支持主题6 。另外还有一些杂项的主 题,主题l o 关于转换技术,主题9 关于数据质量,主题1 4 关于语义和信息社区,它们 并不直接的和地理窄间相关,但是它们对于理解地理空间信息是有关的。其中主题5 是 一个核心的规范。 主题5 所规定的地理要素的分成三部分:元数据、空间组件和语义组件,如图 c a r d e l s 9 7 】: 8 第l 章0 i 宣 i 蛩表1 5o p e n g i s 地理数据类层次 其中元数据是其他的组织( 例如l s o ) 工作的内容,语义组件从目前看来太过复杂,o g c 的重点是空闻组件在o g c 发布的实现规范当中,关于简单要素( 空间组件) 模型的 最为完备,这包括c o r b a 的简单要素实现规范,o l e c o m 的简单要素实现规范,s q l 的简单要素实现规范 o g c 0 4 。 在简单要素规范中,o g c 定义的空日j 组件分成四类。点、线、面和集合,如图 o g c 9 9 : 图表1 6 简单要素的类继承层次 可以看到,g e o m e t r y 是类体系的报,也是类体系的核心,g e o m e t r y 定义的操作接口涵盖 了绝大部分几何体的之问操作接口。 g e o m e t b 所定义的几何体的操作分成三类:基本的擦作,空白j 关系的操作和空日j 分 析的操作,具体如下【o g c 9 9 】: 、 9 镣l 曩咛i 言 类别名称意义 基 d i m e n s i o n ( ) 得到几俺体维度,小于等于2 太 g e o m e t r y t y p e 0得到具体几何体的子类型 操 s r d o得到关联坐标系的d 作 e n v e l o p e ( )得到最小的外包矩形 接 a s t e x t ( )得到众所周知的文本描述 l 】 a s b i n a r y o得到众所周知的二迸制描述 i s e m p t y o 测试是否为空 i s s i m p l e o 测试是否简单 b o u n d a r y o得到边界 空 e q u a l s ( a n o t h e g g e o m e t r y ) :测试两个几何体是否相等 l 日j d i s j o i n t ( a n o t h e r :g e o m e t r y )测试两个几何体是否相离 关 i n t e r s e c t s ( a n o t h e r :g e o m e t r y )测试两个几何体是否相交 系 t o u c h e s ( a n o t h e r :g e o m e w y )测试两个几何体是否相切 操 c r o s s e s ( a n o t h e r :g e o m e t r y )测试两个几何体是否交叉 作 w i t h i n ( a n o t h e r :g e o m e t r y )测试当前几何体是否包含在另一个内部 接 c o n t a i n s ( a n o t h e r :g e o m e t r y )测试当前几何体是否包含一个几何体 f o v e r l a p s ( a n o t h e r :g e o m e t r y )测试两个几何体是否交叠 r e l a t e ( a n o t h e r :g e o m e t r y ) 得到两个几何体的关系 空d i s t a n c e ( a n o t h e r :g e o m e t r y ) 得到和另一个几何体的距离 日j b u f f e r ( d i s t a n c e :d o u b l e )缓冲几何体 分 c o n v e x h u l l 0得到几何体的凸包 析 i n t e r s e c t i o n ( a n o t h e r :g e o m e t r y ) 得到两个几何体的交 操 u n i o n ( a n o t h e r :g e o m e t r y )得到阿个几何体的并 作 d i f f e r e n c e ( a n o t h e r :g e o m e t r y )得到两个几何体的差 接 s y m d i f f e r e n c “a n o t h e r :得到两个几何体的对称差 口 g e o m e t r y ) 表格1 1 o g c 的g e o m e t r y 接口定义 g e o m e t r y 关f 窀州关系接口定义的数学轼础足| :面论述的d e 一9 i m 。下面使用数学 符号,我们精确的、形式化的把这些关系描述出来, 1 3 3 空问关系的形式化描述 从表格l l 中看到,o g c 定义了8 种特定的审问关系接口和一个总的接口r e l a t e , 这8 种宅州父系之删存在的一定的联系有转化芰系和包含关系,我们可以用一张阳描 述f := 卜j : i i l 鹅i 帝l 者 图表1 78 种空间关系的之间的联系 这些转换关系和包含关系的含义如下: 乱w i t h i n ( b ) = h c o n t a i n ( a ) ; f l e q u a l ( b ) 2 & w i t h i n c o ) a b w i t h i n ( a ) a d i s j o i n t c o ) = ! & i n t e r s e c t ( b ) ; m n t e r s e c t ( b ) = 乱t o u c h ( b ) va o v e r l a p ( b ) vz c r o s s ( b ) v 乱e q _ i l a i va w i d t h i n ( b ) v a c o n t a i n ( b ) 由于这8 种关系之间一定的联系,所以可以确定一个最小的覆盖集,这个最小的覆盖集 有5 种:d i s j o i n t 、t o u c h 、c r o s s 、o v e r l a p 和w i t h i n 。这5 种关系是基本的,相互排斥的、 并且是所有空间关系的一个完全覆盖 c l e m e n t i n i 9 5 。 在具体的实现这些空问关系的时候,可以利用上面的联系进行简化。例如实现了 晰t t h i n 关系的判断,那么在实现c o n t a i n 时就可以简单的转化为调用w i t h i n 的实现。 下面使用精确的形式化表达式来定义并表现这8 种关系,我们采用下面的统一形式: 英文表达式中文说明;p r e d i c a t e :( 先决条件) :数学表达式;d e 9 i m 表达式:图例。 在图例中,蓝色的几何体表示函数的第一个参数,红色表示第二个参数( 因为有的空白j 关系和参数的顺序相关) ;如果相互之间存在转化的关系,我们只是说明一个 o c 3 c 9 9 。 1 a d i s j o i n t ( b )a ,b 没有交点 p r e d i c a t e :所有类型 数学表达式:f t d i s j o i n t ( b ) 口anb = 口 d e 一9 i m 表达式:a d i s j o i n t ( b ) 口( a f i b = 口) ( a n o b = 口) ( a a n b = 口) ( a a n o b = 口) 口a r e l a t e ( b , 下p f f + ) 图例: 第1 章弓l 高 。j。1- 1 l 二氅一曼芝r :坠! 一土! :。t :二二:土:! i il l 1 i 图表1 8 相离关系 2 a i n t e r s e c t ( b ) a ,b 存在交点 a i n t e r s e c t ( b ) 口! a d i s j o i n t ( b 1 3 a t o u c h ( b ) a ,b | 呔有边界存在交点 p r e d i c a t e :除了p 伊的所有类型 数学表达式:a t o u c h ( b ) 口( a f i b = 口) 八( anb ) 口 :p p j : d e - 9 i m 表达式:& t o u c h ( b ) 口( a 。f 3 b 。= 口) a ( ( a a i q b 。口) v ( a 。n a b # 1 - 1 ) v ( a a nab 口) ) 口a r e l a t e ( b ,f t + + + + + + ) va r e l a t e ( b ,f + t + + + + ) v a r e l a t e ( b ,p + t + ”+ 1 图例: j。j- 。j。二i 。一一 k 曩l a j沁p a !i ! 一唑一j i 一毫ji t 一ji t : ii k v l - l 图表19 相切关系 4 a o v e r l a p ( b )a ,b 内部存在交点,但不是完全包含 p r e d i c a t e :p p ,u l ,舢 数学表达式:a o v e r l a p ( b ) 口( d i m ( a ) = d i m ( b 。) = d i m ( a 。n b4 ) ) a ( a nb a ) 八( a i 1b b ) d e 一9 i m 表达式:如果a p ,b p 或肯a a ,b a :a o v e r l a p ( b ) 口( a 。 n b 。口) 八( a n b 。口) ( a f 3 b 。# r - 1 ) 口a r e l a t e ( b , t + t + ”t ”) :如果a l ,b l :a o v e r l a p ( b ) 口( d i m ( a 。i q b = 1 ) a ( a 。n b 一口) a ( a n b 口) 口a r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论