收藏 分销(赏)

公路CAD中的数据组织与管理.pdf

上传人:xrp****65 文档编号:6151244 上传时间:2024-11-28 格式:PDF 页数:5 大小:196.56KB
下载 相关 举报
公路CAD中的数据组织与管理.pdf_第1页
第1页 / 共5页
公路CAD中的数据组织与管理.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述
第18卷 第3期2002年9月长 沙 交 通 学 院 学 报JOURNAL OF CHANGSHA COMMUNICATIONS UNIVERSITYVol.18 No.3Sept.2002 文章编号:1000-9779(2002)03-0040-05公路CAD中的数据组织与管理桂 岚,龚德俊(长沙交通学院 公路CAD研究所,湖南 长沙 410076)摘 要:在对公路CAD数据特点的分析基础上,提出了基于关系数据库的公路CAD数据组织与管理模式,采用VB编程和ADO数据库访问技术,在高等级公路数模、路线设计与仿真系统(iRoad)中得到了实现。详细介绍了公路CAD数据库的建立和实现方式。关键词:公路CAD;数据管理;数据库;关系数据库;工程数据库中图分类号:U412.3 文献标识码:A 公路CAD系统在运行过程中,需要检索、使用、产生和储存大量的数据,主要包括设计数据、绘图数据、规范和标准等。这些数据内容广泛,既有静态数据,也有设计过程中产生的动态数据及最后的结果数据,其表现形式除了数据、文字信息外,还有大量的几何图形信息。如何准确、迅速、有效地利用这些数据,方便用户检索、增删和修改,并尽可能地节约储存空间,是公路CAD系统必须解决的关键问题之一。传统的公路CAD系统中一般采用文件的方式管理数据,文件仅负责数据的存储,数据的查询、数据之间的关系运算、数据的合法性检查等由CAD系统来完成。文件方式组织数据对于公路CAD系统而言,具有数据冗余大,数据的一致性、独立性、共享性差,操作效率低等固有缺点1,2。这些缺点在公路CAD软件中己逐渐突出,制约着软件性能的提高。随着数据库技术的发展,CAD系统中的数据管理逐步由数据库管理系统代替原来的文件管理系统。由于公路CAD系统结构复杂,设计过程具有反复性和试探性,输出的数据文档的形式也比较复杂,公路CAD系统的数据管理宜采用专用的工程数据库管理系统3。一些学者在这方面开展了一些研究,提出了面向对象数据库(OODB)模型,但还很不成熟4。鉴于此,我们在交通部“九五”攻关项目 高等级公路数模、路线设计与仿真系统(iRoad)的研究开发中,选择微软公司开发的Microsoft Access作为公路CAD系统的核心数据库,建立了基于关系数据库的公路数据库模型,满足了对数据的统一管理和运行速度这两个方面的要求。1 公路CAD数据的特点整个公路CAD系统中的数据由输入数据、中间数据和成果数据三部分组成。输入数据可分为原始数据和功能参数,其中原始数据为程序处理的专业数据或设计模型数据,如地面测量数据、地形图、路线平纵横设计数据、构造物尺寸数据、标准规范数据等。功能参数为功能定义数据及只与该功能有关的一些数据,如计算选项、绘图区间桩号、比例尺、图幅布置等数据。中间数据是程序运行期间,内部生成的临时数据或不同程序之间传递或交换的数据,如线形要素数据、设计模板资料和交互产生的图形数据等;成果数据包括各种设计表格和设计图。公路CAD中的数据具有以下特点3。1)数据类型多。公路CAD的数据既有数字、字符数据(如平纵横设计参数,设计指标等),还有大量的图形、图像数据。地形图和设计图等是以图形方式存在的,只有通过多种媒体信息,才能生动逼真地表现工程对象,加上工程对象本身的系统性和过程长的特点,使得数据庞大而复杂。收稿日期:2001-12-26基金项目:交通部“九五”科技攻关项目(95-05-01-07)作者简介:桂 岚(1970),女,长沙交通学院讲师,武汉大学博士生.公路CAD数据的诸多内容中不论是设计环境数据(设计规则、方法及标准等)还是设计对象数据,都存在普通管理信息和基本标准数据类型,同时又存在非结构化的变长数据,横断面地面线和设计线数据就是一个典型的例子。在设计中,横断面地面线和设计线是按照桩号来组织数据的,每个桩号分左右侧记录数据,数据点用坐标对(x,y)表示,数据形如(桩号,X(I),Y(I),I=1,n),由于每个桩的横断面地面线的点数(即n值)不相同,地形变化不大的地方可能记录两个点就可以了,而地形变化较大的地方,多的需要测10多个甚至20多个点,这样每个桩的横断面地面线的数据项不相等,给数据管理和处理带来一定困难。2)数据结构复杂。从数据性质看,工程数据可分为图形数据和非图形数据,因而造成设计过程中实体间关系是复杂多样的,并呈现网状结构,又有层次之分。分层设计不仅有层次结构,而且对不同对象的层次数目也不一样。3)既有静态数据,又有动态数据。静态数据是指在设计中数据间逻辑关系固定的数据;动态数据是指在设计过程中,随设计的深入存在一个数据结构动态构造的过程。公路设计本身就是一个不断进行构造的过程,而且是一个具有探索性、反复性和继承性的过程,这决定了公路CAD系统不能仅仅采用静态数据结构,还要采用动态数据结构。4)事务周期长。在公路CAD应用中,解决一个工程问题需花很长时间,涉及的数据量也很多,通常把这种解决工程问题的过程称为工程事务。因此,工程数据主要进行的是过程存取,其事务管理是面向长事务的。2 公路CAD数据库的建立Access是Microsoft公司优秀的桌面型数据库管理系统,Access的数据表除了传统数据库的Text、Single、Long、Data/Time等字段外,另外增加了一个Binary字段,用于存放二进制数据,如图像、声音、压缩数据等5。这样,可以实现基本类型信息数据、坐标数据以及多媒体数据等多种数据形式在Access数据库中的统一存储和管理。2.1 静态数据的存储与管理静态数据其数据间的关系相对固定,这些数据包括:标准规范数据;地形采集数据;逐桩坐标表、路基设计表等设计成果数据;水准点资料等设计原始资料;涵洞、挡土墙等结构物的设计数据6。这些数据为数值或字符型数据,多个实体和多个属性构成一个二维表,其关系模式即为二维表的框架,相当于记录格式。实体转化为关系模式较为方便。平面线形指标和逐桩坐标的表字段组成见表1和表2。表1 平面线形指标表结构字段名称字段名数据类型公路等级一般最小半径极限最小半径平曲线最小长度GradeIdminR1minR2min Len整 型双精度型双精度型双精度型表2 逐桩坐标表结构字段名称字段名数据类型测量桩号连续桩号坐标X坐标Y方位角Stake2SurveyStake2ContinuesCord2XCord2YAzimuth文 本双精度型双精度型双精度型双精度型 建立连续桩号的索引,可方便地对逐桩坐标表进行排序、查询的操作。在所有牵涉到桩号的表中,都定义了测量桩号和连续桩号两个字段,其中测量桩号用于输入和显示,连续桩号用于运算,可方便地处理断链的情况。其它表结构的建立与逐桩坐标表类似,在此不赘述。2.2 动态数据的存储与管理公路CAD设计计算中会产生许多动态数据,这些动态数据的变化情况可以给设计人员修改设计提供依据。通过数据库记录动态数据并通过图形交互界面可以实现对动态数据的实时显示,使设计计算过程清晰明了,也便于CAD程序的调试与修改。2.2.1 平面数据14第3期 桂 岚,龚德俊:公路CAD中的数据组织与管理 在平面数据的存储管理上,必须能满足交互时对数据的要求,同时便于其他模块对数据的共享。字段结构可定义为:序号,交点号,交点坐标,曲线类型,曲线参数(Ls1,R,Ls2等),方位角,交点间距,曲线长度,圆曲线长,平曲线要素(T1,T2,E,p1,p2,q1,q2等),主点桩号(ZH,HY,QZ,YH,HZ)。通过在数据表中添加序号字段索引,可以方便地管理交点数据,任意查询、增加或删除交点,修改交点参数等。2.2.2 纵断面数据表字段结构为:序号,变坡点桩号,变坡点高程,竖曲线半径,竖曲线类型,竖曲线要素(T,E,L等),竖曲线起点桩号,竖曲线终点桩号。通过在数据表中添加序号字段索引,可以方便地管理变坡点数据,任意查询、增加或删除变坡点,修改变坡点参数等。2.2.3 横断面数据横断面一般由不同形式的路幅、边沟、边坡和支挡结构物组合而成,类型多样,变化灵活。一个横断面形式的组合形式有多种,而每种形式中的路幅、边沟、边坡又分别有多种形式,可采用分别管理的办法解决。对横断面的每个组成部分(边沟、边坡、排水沟、路幅和挡土墙等)分别建立两个数据表:模板表和特征点表,在模板数据表中定义各组成部分的几何尺寸组成,在特征点表中定义其分段信息。根据横断表3 边沟模板表结构字段名称字段名数据类型模板标识Temp2ID整 型模板名Temp2Name文 本内沟深Height2in单精度型内沟坡Slope2in单精度型底 宽Wid单精度型外沟深Height2out单精度型外沟坡Slope2out单精度型浆砌厚度Thick单精度型外侧平台宽度Wid2flat单精度型外侧平台坡度Slope2flat单精度型表4 左/右边沟特征点表结构字段名称字段名数据类型测量分界桩Stake2Survey文 本连续分界桩Stake2Continues双精度型采用边沟模板标识Temp2ID整 型面设计线上各部分的特点,将横断面设计线划分为路幅模板、边沟模板、排水沟模板、边坡模板、挡土墙模板、护栏模板、视距台模板等,各类模板的不同组合,同类模板的不同尺寸数据构成不同的横断面设计线。特征点就是通常所指的横断面设计线上各种结构应用于公路上的分界桩,表示该桩点处路幅、边沟、边坡等的设置情况。不同的结构有不同的特征点桩,相同的结构在左侧或右侧有不同的特征点桩,均分别建立特征点。边沟模板表和特征点表的字段组成见表3和表4。特征点表和模板表通过模板标识“Temp-ID”字段建立联系。通过采用模板的方式,一方面可减少数据的输入量,避免数据多次输入的不一致;另一方面,模板数据作为系统数据保存,模板可以“积累”,一次输入后,可在一个项目、多个项目中通过在特征点表中引用模板名多次使用,而不需重新输入组成部分的几何数据。2.3 变长记录的存储与管理横断面地面线和设计线数据属典型的变长记录,不具备关系表固定列的特征,以往在用关系数据库存储这些数据时,需要建立下面3个表。中桩地面线:测量桩号,连续桩号,中桩高程左侧地面线:测量桩号,连续桩号,点号,平距,高差(程)右侧地面线:测量桩号,连续桩号,点号,平距,高差(程)左右侧的地面线通过“连续桩号”字段与中桩地面线关联,由于每个桩左右侧的地面线点数不固定,在数据表中,一条记录记录的是左(右)侧地面线的一点,一个桩的地面线由具有相同桩号的多条记录组成,数据库中的记录已经失去了意义,在表现数据方面缺乏完整的表达语义;对数据进行操作也是相当麻烦,要插入或删除一个桩的数据不是对一条记录操作,而是要对多条记录操作,因此不能直接利用数据库提供的操作,必须编制专门的程序处理读取数据和写入数据;而且横断面数据表中明显存在“测量24 长 沙 交 通 学 院 学 报 第18卷 桩号”和“连续桩号”两个字段的数据冗余。本文提出的结构见表5,“连续桩号”为数据表的主键,可方便对横断面地面线表进行排序、查询的操作。存储地面线坐标数据需要两个字段:“点数”和“坐标串”。“坐标串”是OLE对象类型,又称长二进制类型,这种字段可以存储坐标数据、图像和录像等等。表5 横断面地面线表结构字段名称字段名数据类型字段特征测量桩号Stake2Survey文 本连续桩号Stake2Continues双精度型中桩高程Elevation双精度型左侧地面线点数Cord2Num2Left整 型右侧地面线点数Cord2Num2Right整 型左侧地面线坐标串Cord2String2LeftOLE对象变长右侧地面线坐标串Cord2String2RightOLE对象变长通过采用Access数据库的长二进制字段类型,将中桩高程和横断面坐标数据全部存储在一条记录中。这样,数据记录具有物理意义上的完整性;对数据的操作非常方便,插入和删除操作就是实现记录的插入和删除;数据表也只需一个,大大减少了数据冗余。2.4 图形数据的存储与管理公路设计中有些设计图可以通过程序计算生成,程序通过向数据库提取图形参数数据在AutoCAD环境下绘制出图形。由设计计算模块产生的图形参数也通过数据库传递给绘图模块,在AutoCAD环境下绘制出完整的图形文件。同时数据库内也将同时记录下这些图形文件的有关信息,以使这些图形文件便于管理。对于数据量较大的图片和动画,如地形图,直接采用文件方式,在数据库中只存储文件路径。3VB对Access数据库的访问在通常情况下,有几种方法用于访问底层的数据存储操作,像ActiveX数据对象(ADO)、远程数据对象(Remote Data Objects,简称RDO)、数据访问对象(Data Access Objects,简称DAO)和开放数据库连接(Open Database Connectivity,简称ODBC)API这样的方法使开发人员能够利用Visual Basic访问关系数据库。OLE DB和ADO是Microsoft基于未来应用程序开发的数据访问机制。OLE DB是Microsoft具有代表性的数据访问方法,该方法能够对任何数据源进行访问,并具有很高的性能。ADO是一种应用程序编程接口,它能够实现对OLE DB的访问,ADO提供了对OLE Automation接口的简便的使用方法,通过该接口能够对OLE DB提供的数据访问基础结构进行访问。本文采用ADO技术访问数据库。3.1 数据库的访问ADO提供了多个对象,可以方便地操作数据库。数据记录的增加、删除、修改的实现大同小异,现仅以“打开”为例给出相应的程序段。ADO打开连接的主要方法是使用Connection.Open方法。另外,也可在同一个操作中调用快捷方法Recordset.Open打开连接并在该连接上发出命令。以下给出Visual Basic中用于两种方法的语法。Connection.Open ConnectionString,UserID,Password,OpenOptionsRecordset.Open Source,ActiveConnection,CursorType,LockType,Options打开数据库表的代码如下:Dim adoConnection As New ADODB.ConnectionDim adoRecordset As New ADODB.RecordsetadoConnection.Open”Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data34第3期 桂 岚,龚德俊:公路CAD中的数据组织与管理 Source=”&App.Path&”zxsj.mdb”adoRecordset.Open”SELECT3FROM hdmdmx”,aboConnection,adOpenKeyset,adLockOptimistic3.2 长二进制类型数据的读取对Access数据库Binary字段存储时,可分为以下3个步骤操作:先将要存储的坐标数据存入一个坐标数组中;将坐标数据转换为二进制数据写入ADODB.Stream对象adoStream中;使用ADO.Recordset.Fields的方法AppendChunk()将数据存入相应的字段:adoRecordset.Fields.Item(1).AppendChunk adoStream.Read从Access数据库Binary字段获得数据时,可按以下步骤操作。使用ADO.Recordset.Fields的方法GetChunk()将数据读入ADODB.Stream对象adoStream中:adoStream.Write adoRecordset.Fields.Item(1).GetChunk(adoRecordset.Fields.Item(1).ActualSize)把所需数据从adoStream中解析出来。4 结 论数据管理是公路CAD中重要的组成部分。在OODB技术不成熟的情况下,作者研究了基于关系数据库的公路CAD数据库模型,并在iRoad中实现了这一模型。综上所述,得出以下结论:1)用该数据模型,可实现对设计数据、图形数据和文本文件数据进行处理;2)较好地解决了公路CAD中变长数据的存储与管理;3)既可存储静态数据,又可存储动态数据;4)采用VB6.0作为开发工具,以ActiveX数据对象(ADO)为数据库编程的主要手段,结合数据控件和数据绑定控件,以及VB强大的图形界面技术,可在公路CAD系统中直接对数据库进行操作,数据管理灵活,操作方便。参考文献:1 王能斌.数据库系统M.北京:电子工业出版社,1995.2 刘云生,卢正鼎,卢炎生.数据库系统概论M.武汉:华中理工大学出版社,1992.3 符锌砂.公路计算机辅助设计M.北京:人民交通出版社,1998.4 王身高.道路CAD数据库研究J.中国公路学报,1999(增刊).5 林立域.Access 97使用手册M.北京:清华大学出版社,1998.6 杨宏志.集成化公路CAD系统数据结构J.西安公路交通大学学报,2001(2).Research of Data Management in Highway CADGUI L an,GON G De2jun(Highway CAD Institute,Changsha Comm.Univ.,Changsha 410076,China)Abstract:Through the analysis and study on the data characters of highway CAD,a kind of data manage2ment model for highway CAD based on relative database isput forward,which is implemented in iRoad us2ing VB and ADO technique.The establishment of highway CADs database and implementation method areintroduced.Key words:highway CAD;data management;database;relative database;engineering database44 长 沙 交 通 学 院 学 报 第18卷
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 环境建筑 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服