版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象的三维矢量GIS数据模型及拓扑关系的建立孙敏唐小明赵仁亮(中南工业大学资环建院410083(中国林业科学院资源信息所100091【摘要】本文针对三维GIS拓扑空间关系的复杂性,提出了以表为基本单元的面向对象的数据模型,这种数据模型能表达网状的空间拓扑关系,较直观地反映了三维GIS中复杂的空间拓扑关系。文中还对这种结构的拓扑关系和空间数据库的动态建立作了说明。一、引言到目前为止,三维GIS一直处于理论研究阶段,虽然有三维GIS系统问世,但其功能远远不能满足人们分析问题的需要,原因主要是三维GIS理论不成熟,其拓扑关系模型一直没有解决,另外三维基础上的数据量十分大,很难建立一个有效的,易于
2、编程实现的三维模型。采用什么样的数据模型对GIS空间拓扑关系的建立以及空间分析与操作至关重要。随着在许多行业诸如煤炭、地质、石油、矿山、城市地下管网、城市空间规划等对三维GIS的需求日益迫切,三维GIS数据模型理论近来受到许多学者的关注,在八叉树与三维边界表示法基础上提出了如基于八叉树与TIN的混合结构1、八叉树与TEN的混合结构2、面向对象的矢量与栅格一体化结构3以及其他结构4,尽管这些结构在理论上有很大的进展,但实现较困难,也难以与已有的二维GIS兼容。基于八叉树结构的缺点在于指针占用存贮空间大,重编码费时长且精度低,不宜于表示线面对象。而三维GIS 中的矢量与栅格一体化在目前实现有相当的
3、困难,且目前所提出的模型的可行性有待检验。三维GIS要比二维GIS复杂得多,如果GIS中拓扑空间基本元素分为点、线、面,那么在二维空间的GIS中,GIS的主要元素点、线、面同处于一个平面上,点的第三维坐标(高程作为一个属性值输入,且一个面的描述只用其周边即可确定。而在三维GIS中,面元素不再只是平面,而可能是极不规则的空间曲面。描述一个面元素不能再只用其边线。面的生成与描述要用较复杂的方法,如用TIN、TEN或分块Bezier曲面、分块B样条曲面合成的方法(后两种算法适合于大面积较规则的曲面。因而一个能直观、全面、清晰地表达三维GIS中复杂的拓扑关系,并能简捷地完成三维GIS空间数据分析和操作
4、的数据模型成了人们研究探讨的核心。这里笔者针对三维GIS 拓扑空间的复杂性,提出一种面向对象的三维GIS空间矢量网状数据模型,它以链表作为基本结构,把点、线、面、体看作是三维GIS的基本元素,以每个元素为对象设计数据结构。这种结构由面向对象的二维GIS发展而来,符合人们处理GIS基本元素对象的习惯,能较直观自然地表达三维GIS中各个对象间的拓扑关系,由面向对象的二维GIS系统向面向对象的三维GIS过渡也较易实现。二、面向对象三维矢量GIS数据结构按面向对象程序设计的风格,对每一个基本元素定义一个类,拓扑关系包含在类的成员变量及成员函数中。这样程序设计中只针对每个元素,运用其成员变量,编写其成员
5、函数,程序通过调用其成员函数即可实现拓扑关系的自动建立。用Visual C+可写出三维矢量GIS数据模型如下:class CBasePoint/定义A基础点元素类struct pointfloat x;/X坐标浮点型32位float y;/Y坐标浮点型32位float z;/Z坐标浮点型32位point-element;/定义点类的坐标结构其他成员变量及成员函数。;class CorPoint:CBasePoint/定义坐标点元素类,由基础点元素派生Cpoly m-poly;/定义一个面元素变量标识该点的归属,用来在输入点后生成面其他成员变量及成员函数。;class CnodPoint:CBa
6、sePoint/定义结点元素类,由基础点元素派生L IN EL IST m-lines;/定义一个线表用来管理以该点为结点的线元素其他成员变量及成员函数。;class CBaseLine/定义基础线元素类POIN TL ISTm-points;/定义一个表结构用来管理构成线元素的所有点元素。POIN TL ISTm-nodPoints;/定义一个表结构用来管理该线元素的结点;其他成员变量及成员函数。;class CnodLine:CBaseLine/定义结线元素类,由基础线类派生POL Y L ISTm-poly;/定义一个表结构用来管理以该线作为邻边的面元素。其他成员变量及成员函数。;cla
7、ss Cpoly/定义面元素类L IN EL IST m-lineList;/定义一个表结构用来管理构成该面元素的所有线元素。L IN EL IST m-lineList2;/定义一个表结构用来管理该面元素的所有边线元素。L IN EL IST m-nodLineList;/定义一个表结构用来管理该面元素的所有结线。POIN TL IST m-pointList;/定义一个表结构管理用来生成该面元素的所有点元素。FORML IST m-forms;/定义一个表结构用来管理以该面元素为邻面的体。其他成员变量及成员函数。;class Cform/定义体元素类POL Y L IST m-polyLi
8、st;/定义一个表结构用来管理构成该形体的所有面元素。POL Y L IST m-nodPolyList;/定义一个表结构用来管理该形体的所有公用面元素。TREEL IST m-Weight Point;/定义一个树形结构用来管理不均匀体中的插值点;其他成员变量及成员函数。;以上表结构用来保存指针,通过表结构中的这种指针来表达空间拓扑关系。从上面的定义可以看出,每个基本元素类中包含了构成它的基本元素,也包含了由它构成的更高一级的元素。很显然上面所描述的是一个具有网状关系的数据模型,如图1所示 。图1“构成”是指上一级元素由下一级元素组成,“结线”是指多个面以此线为公共交线,“公共面”是指相邻两
9、个体元素以此面作为公用面。“按算法生成”是指在许多情况下,一个曲面由输入的线生成比较困难,而由点如用TEN(四面体格网进行构造生成一个曲面。“插值”是对不均匀体按已有点进行插值用来表达不均匀体的空间特性,这些点按相邻关系连接组成一个空间树形。三、拓扑关系的构造及生成原理上面所给出的数据结构中,反映出的基本拓扑关系如下:点线关系(点为线结点,线由点构成;点面关系(面由点通过算法生成,面包含点;线面关系(面由线拟合生成,线为面的结线;面体关系(体由面构成,面为多体公用面。隐含的关系有:线与线关系(多线共用结点相交;面与面关系(多面共用结线相交;体与体关系(多体相邻或包含。这些关系基本上能全面反映已
10、有的空间拓扑关系,由于以点、线、面、体基本对象构建,故适合于面向对象的空间操作与分析。按上面数据模型有如下拓扑关系自动构建过程,(以输入数据为例,基本元素通过指针操作而非普通变量:到目前为止按矢量的方式,人们输图时是以点为基本元素输入的,因而在建立拓扑关系之前,已有的基本元素只有点,所以拓扑关系的自动建立由点元素开始(在这里仍然沿用图层的概念,同一类元素看作一层,并以层来管理同一类元素。1.点的输入每输入一个点,如属于某个面,按坐标点类处理并在其关系表中加入特征值或编码值,也可以是预先给定的面的编号,如属于某条线则进行线的生成。2.线的生成加入一个新点,将此点加入到线的点表中,起点和终点作为结
11、点加入到线的结点表中。3.线线关系的建立每生成一个新线,与已有的所有可能相交的线进行求交计算:交点作为结点加入到有关线的结点表中,新线也加入到有关结点类元素的线表中。4.面的生成对于规则的面(如平面按二维处理。对于不规则的面,由一系列点按一定算法生成(用分块B 样条曲面合成法或分块Bezier 曲面合成法,也可以用多曲线拟合法(适于直接由二维GIS 中已有的等值线构造曲面,生成后的曲面再进行填充、光照效果等处理后即可用来较真实地反映三维GIS 中曲面实体。5.线面关系的建立显然通过面的生成,如果线在一个面内,线面关系已经存在;当一条线不属于某一个面时则要进行线面关系的处理。经过复杂的计算可以确
12、立如相交、相离等关系。对这种复杂关系使用相应的成员函数动态地建立相应的关系表(对已有的拓扑关系进行进一步完善。6.面面关系的建立确立面面关系,主要是进行面面求交计算,得到新面与结线。在结线的面表中加入有关面元,在面元的结线表中加入有关线,这样进一步确立了线面关系,也得到了面面关系。7.体的生成类似于二维中面的生成,按算法搜索闭合空间即构成一个体元。体元生成后体与面的关系也已经存在。这时可以进行体与体之间的拓扑关系(如包含关系的生成。这里体的搜索按空体进行,对于实体用填充方法由空体得到。四、空间数据库的建立上面给出的结构似乎存在大量数据冗余,但实际上数据的存贮几乎不存在冗余。这是由图2所给出的存
13、贮过程决定的(以一个体元的存贮过程为例说明。很明显,这里建立的是一个网络数据库,一般网络数据库模型是用连接指令或指针来确定数据间的显式连接关系的,因而数据间关系复杂时指针部分会占大量存贮空间。这是网状数据库的最大缺点。在本结构中在数据量不大时将32位指针以16位整数编号代替,可得到改善。事实上在关系数据库中,关系表中都要建立 图2 记录号,许多时候还要人为地加以编号,同样占用大量的存贮空间,另外关系表本身难以表达完整的拓扑空间关系。在进行空间查询时,在网状数据库中可以不进行操作运算,其存贮结构可以使查找从任一元素节点开始,存在唯一路径,并以另一元素节点结束。图3为调查某林地地下水测得的含水层位
14、置图,由三个体元构成。按本文提出模型有表1、表2所示的存贮关系(限于篇幅不列出线元素及点元素 。图3表1体元素地表体(1含水体(2岩层体(3组成面公用面组成面公用面组成面公用面14567222891011323312131415163表2面元素不规则面编号或指针组成线组成点邻体结线规则面编号或指针组成线组成点邻体结线规则面编号或指针组成线组成点邻体结线ABCD 1ABxs 4skpt 11BCmx 5tp FE 12sxmk212DCmk 6Pn GF 13ADks 7yn G 14tynp 323sxty 8tyE 15xmny 9EFG16kmnp1017五、结束语本文提出的数据模型可以清
15、楚地描述三维GIS 复杂的空间拓扑关系,该模型不再对三维GIS 中的元素进行维数划分,而以其类型划分。在拓扑关系建立中均匀实体看作空体处理,不均匀实体看作是空体的填充,并以一个点树来表达其不均匀性,这一点沿用二维GIS 中多边形填充的思想。这样在以此数据模型构建的系统中GIS 的基本元素就有点、线、面、体四种,数据的空间操作与分析以这些基本元素为单元进行,易于编程实现,且能较好地与已有面向对象的二维GIS 兼容。在空(下转第29页图2站于O点,以A、C点为后视基点,令=0,Offset= Offset,Line=D Line(D为A、B点间的距离,放样B 点,结果吻合很好,小于规范规定的限差要
16、求。2.界址确定如图3所示,东北角是一座已建成工厂的围墙,由于历史的原因,围墙两边并不互相垂直。围墙的南边有一条小河。现要求放样一小区的界址点A、B、C、D,要求AB、A D边分别平行于围墙边且距围墙40m、50m,其中,40m间距将用于在原土路的基础上扩建柏油路。此时,若用几何法定点,则操作步骤将较多,从而增加了误差源。此时,应用参考线方法,在O点设站,测量并求出围墙点M1、M3及围墙角点M2的坐标,然后,根据图示的几何关系,求出A、B、C、D点的坐标(如可求出直线AB、A D等直线的方程,联立求解各点的坐标或求出围墙夹角,再用坐标增量推求各点的坐标,最后求出此四点的极坐标放样元素,在实地标
17、定此四点的位置。 然图3后,我们再用几何法进行了检查,结果表明吻合较好。参考线方法的实质是解析法,随着全站仪内置应用程序的不断更新及计算工具的改善,相信这种步骤简单、误差源较少、方便灵活的放样方法将会被越来越多的测量人员所接受。参考文献zerland Leica A G,19961992(上接第14页间数据的存贮中也以这些基本元素为对象进行存贮,避免了数据的大量冗余。构建的网络数据库结构,很直观地保存了空间拓扑关系,便于查询与空间分析等操作。另外以面向对象的模型构建的系统本身具有良好的可持续发展性。参考文献1Wenming Shi,Chikin Fung.A Hybrid Data Model
18、 forThree2dimensional GIS.In:Proceedings of G eoinformatics96WuhanInternational Sympo2 sium on the Occasion of the40th Anniversary ofWuhan Technical University of Surveying and Map2 ping,19962Qingquan Li,Deren Li.Study on Data Structure in3D GIS.In:Proceedings ofG eoinformatics96 WuhanInternational Symposium on the Occasion of the40th Anniversary of Wuhan Technical University of Surveying and Mapping,19963Jianya G ong,Z ongguo Xia.An Intergrated Data Mod2el in Three2dimensio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省清远市2022-2023学年高三上学期期末教学质量检测英语试题
- 旅行社后勤管理工作概述
- 健身行业教练技能提升总结
- 餐饮行业市场推广总结
- 服装行业设计师工作经验分享
- 皮革行业助理的工作概括
- 儿童用品行业营业员工作总结
- 证券公司前台工作总结
- 银行业务培训总结
- 《漫话探险》课件
- “三排查三清零”回头看问题整改台账
- 大连市小升初手册
- 《自然辩证法》课后习题答案自然辩证法课后题答案
- 造价咨询结算审核服务方案
- 中国人民财产保险股份有限公司机动车综合商业保险条款
- 燃气工程监理实施细则(通用版)
- E车E拍行车记录仪说明书 - 图文-
- 人才梯队-继任计划-建设方案(珍贵)
- 《健身气功》(选修)教学大纲
- 王家岩隧道工程地质勘察报告(总结)
- 《昆明的雨》优质课一等奖(课堂PPT)
评论
0/150
提交评论