公路CAD中的数据组织与管理.pdf_第1页
公路CAD中的数据组织与管理.pdf_第2页
公路CAD中的数据组织与管理.pdf_第3页
公路CAD中的数据组织与管理.pdf_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

第18卷 第3期 2002年9月 长 沙 交 通 学 院 学 报 JOURNAL OF CHANGSHA COMMUNICATIONS UNIVERSITY Vol 18 No 3 Sept 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 平面线形指标表结构 字段名称字段名数据类型 公路等级 一般最小半径 极限最小半径 平曲线最小长度 GradeId minR1 minR2 min Len 整 型 双精度型 双精度型 双精度型 表2 逐桩坐标表结构 字段名称字段名数据类型 测量桩号 连续桩号 坐标X 坐标Y 方位角 Stake2Survey Stake2Continues Cord2X Cord2Y Azimuth 文 本 双精度型 双精度型 双精度型 双精度型 建立连续桩号的索引 可方便地对逐桩坐标表进行排序 查询的操作 在所有牵涉到桩号的表中 都定义了测量桩号和连续桩号两个字段 其中测量桩号用于输入和显示 连续桩号用于运算 可方便地 处理断链的情况 其它表结构的建立与逐桩坐标表类似 在此不赘述 2 2 动态数据的存储与管理 公路CAD设计计算中会产生许多动态数据 这些动态数据的变化情况可以给设计人员修改设计提 供依据 通过数据库记录动态数据并通过图形交互界面可以实现对动态数据的实时显示 使设计计算 过程清晰明了 也便于CAD程序的调试与修改 2 2 1 平面数据 14第3期 桂 岚 龚德俊 公路CAD中的数据组织与管理 在平面数据的存储管理上 必须能满足交互时对数据的要求 同时便于其他模块对数据的共享 字 段结构可定义为 序号 交点号 交点坐标 曲线类型 曲线参数 Ls1 R Ls2等 方位角 交点间距 曲线长度 圆曲 线长 平曲线要素 T 1 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环 境下绘制出完整的图形文件 同时数据库内也将同时记录下这些图形文件的有关信息 以使这些图形 文件便于管理 对于数据量较大的图片和动画 如地形图 直接采用文件方式 在数据库中只存储文件路径 3 VB对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 OpenOptions Recordset Open Source ActiveConnection CursorType LockType Options 打开数据库表的代码如下 Dim adoConnection As New ADODB Connection Dim adoRecordset As New ADODB Recordset adoConnection Open Provider Microsoft Jet OLEDB 3 51 Persist Security Info False Data 34第3期 桂 岚 龚德俊 公路CAD中的数据组织与管理 Source 将坐标数据转换为二进制数据写入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 王能斌 数

温馨提示

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

评论

0/150

提交评论