1、 目 录 摘 要 .I ABSTRACT .II 第一章 绪论 .1 1.1 论文的研究目的 .1 1.2 本文的结构安排 .1 第二章 数字地图质量管理系统 .2 2.1 数字地图的概念和应用 .2 2.2 数字地图质量管理系统 .3 2.2.1 数字地图数据的检查验收 .3 2.2.2 数字地图质量检查的主要内容 .4 2.2.3 系统设计目标 .5 2.2.4 系统设计原则 .5 第三章 VBA FOR AUTOCAD 开发技术 .7 3.1 CAD 的二次开发环境 .7 3.2 VBA FOR AUTOCAD 的主要特点和 VB的主要区别 .8 3.3 VBA 的基础知识及编程基础 .
2、9 3.3.1 用 VBA 开发 AutoCAD 所涉及的一些概念 .9 3.3.2 VBA 编程基础 .11 第四章 基于 VBA FOR AUTOCAD 开发技术的面交叉检查功能开发 .13 4.1 算法实现 .13 4.2 程序流程图 .14 4.3 程序原代码 .14 4.4 程序运行界面 .18 第五章 小结 .20 致 谢 .21 参考文献 .22 附录 .23 附 录一 .模块一 (加载菜单程序原代码 ).23 附录二 .模块二 (窗体显示程序原代码 ).24 I 摘 要 本 文在 对数字地图质量管理系统的主要内容 、设计原则和设计目的进行讨论 的基础上 ,采取利用 VBA 对
3、AUTO CAD 进行二次开发 的方法进行 数字地图质量管理 。文章分析了 AUTO CAD 的二次开发环境 , VBA FOR AUTOCAD 的主要特点和 VB 的主要区别 ; 重点研究了 数字地图质量管理的一个模块即 面交叉问题的检查 的 实现 ,并 通过 例子 验证利用 该 模块能够 检查出在同一层中是否有交叉区域,并且在图上的相应位置以圆的形式显示出来,以便进行修改。 关键字:数字地图质量管理 面交叉 VBA II Abstract This article to the digital map quality control systems primary coverage, th
4、e principle of design and the design goal carries on discussions foundation, adopts carries on the re-development using VBA to AUTO CAD the methods to carry on the digital map quality control. The article has analyzed the AUTO CAD re-development environment, the VBA FOR AUTOCAD main feature and the
5、VB main difference; Studied a digital map quality control module namely to deliver in person the fork question with emphasis inspection realization, and used this module through the example confirmation to be able to inspect in the identical level whether to have the overlapping region, and on the c
6、hart relevant position by the circle form demonstrated that with the aim of making the revision. Key words Digital map quality control Delivers in person the fork VBA1 第一章 绪论 1.1 论文 的 研究目的 随着 AUTO CAD和 GIS 在各行各业的广泛应用 ,目前,数字地 图已成为测绘保障部门的主要测绘产品,规模、体制都在不断扩大。各测绘单位在大量生产数字地图产品的同时,出现了大量生产数字产品和数字产品质量控制这对矛盾。
7、数字地图看不见、摸不着,这就给模拟地图查图的老办法造成了很大困难,如 :单一从绘图输出的样图上查不出要素的属性,也看不见拓扑数据是否形成等。所以,如何针对这一对矛盾,促进数字地图生产的发展,生产出高质量、高精度的数字产品是我们亟待解决的问题。 我们感到要解决这一问题,就必须立足现有设备,研制开发能够有一定自动化程度的数字地图质量检查软件,用计算机代替人工查图 . 本文从这一目的出发,分析了数字地图质量管理的研究现状,讨论了数字地图质量管理的要求、内容等,并开发了面交叉检查的模块。 1.2 本文 的结构 安排 考虑到目前数字地图的迅速发展和数字地图质量管理问题层出不穷的情况,论文对数字地图质量管
8、理系统进行了比较全面的分析和讨论。 论文的第二章着重讨论了数字地图质量管理系统的主要内容、设计目标和设计原则。第三章则详细分析了 VBA:分析了 CAD 的二次开发环境,并重点陈述了 VBA 的基础知识及编程基础。第四章是文章的核心部分,部分理论上的构思在这一部分得以实现,这一部分详细的从程 序算法,程序流程,原代码和运行结果四个方面展示了程序实现的理论基础和实际的运行效果。 2 第二章 数字地图质量管理系统 2.1 数字地图的概念和应用 长期以来 ,地图作为了解客观地理环境的手段 ,一直是纸质地图的形式广泛应用着 .它清晰直观 ,易读易懂 ,在国民经济建设中发挥着重要的作用。随着科学技术的发
9、展 ,出现了一种新型的地图 ,数字地图。 数字地图是用数字形式表示地图信息 ,独立于固定的符号系统 ,以数据和数据结构为信息传递语言 ,不强调信息的符号化 ,注重计算机对信息的理解和识别 ,主要在计算机环境中使用 ,在计算机中 的表示和存储形式主要是一组数据 ,由坐标位置 ,属性编码和一定的数据值所组成 ,在计算机屏幕上和输出设备上表现为色彩鲜艳 ,符号化的地图 (如图 1) 。 图 1 数字地图 目前 ,数字地图广泛应用与国民建设的各个方面 ,在测绘行业 ,数字地图提供了基础资料,主要体现在城市基础地理信息系统建设上,数字化测绘技术的迅速发展,使得城市规划的测绘部门获得了整个城市的大部分基础
10、数字地图 1。相对于纸质地图这些地图更加易于保存,并且也更具实效性。 3 2.2 数字地图质量管理系统 系统的 作用 是为了使数字地图质量合理性、完备性、可靠性、简 便性、自动性,同时也使数据在精度上得到提高。 它的主要功能有 : 1)分层与编码检查 检查各层编码是否正确、有无漏层;各层间是否重复要素 公共 边是否拷贝到各层中。 2) 图形质量检查 检查线划的光滑、粗细、清晰情况是否满足需要;要素间的关系是 否合理,有无地理性矛盾;符号配置、图面整饰、注记是否正确无误。 3) 属性及拓扑关系检查 逐层检查每一个属性表,检查属性项的名称、类型、长度、 顺序是否符合规定要求,有无遗漏:检查属性值是
11、否正确。检查每个层是否建立了相应的拓 朴关系。 4) 方向问题检查 检查有向点、有向线的方向是否正确。 5) 面状要素检查 2.2.1 数字地图数据的检查验收 数字地图检查验收的内容有形式检查和内容检查 10; 1、形式检查 :就是对作业用图、检查绘图、数字化数据以及各种文档是否完整、齐全,其格式是否正确等的检查。 2、内容检查 :就是对数据进行深层的检查。对于一幅全要素数字地图来讲要对以下十三个要素层进行检查,测量控制点、独立地物、居民地、交通、管线与垣栅、境界与政区、水系、地貌、等高线、土质、植被、地名、图外信息等,具体内容分以下五个方面。 (1)位置精度 数字化的图廓点、测量控制点与其相
12、应的理论值或实测值的符合程度。 数字化地图各要素的几何位置与数字化底图上相应要素的符合程度。 ( 2)属性精度 属性数据是否正确表达了数字化底图要素的分类、分级等质量及数量特征。 (3)数据的完整性 数字化地图的内容是否完整、有无遗漏、有无重复。 (4)数据逻辑的一致性 同一要素层或不同要素层之间、数字化目标的相关位置关系是否正确 ;重叠要素几何位置是否一致其属性描述是否正确 ;相邻图幅的接边目标,几何上是否自然连接,属性描述是否一致。 (5)拓扑关系正确性 4 拓 扑关系中的同名结点是否匹配,弧段无不必要的假结点 ;面域是否闭合,有无内部唯一标识 ;拓扑数据是否正确表达目标之间的邻接连通、包
13、含关系。 2.2.2 数字地图质量检查的主要内容 (1)各要素层的交互接边 在实际生产中出现问题最多的就是相邻图幅的接边问题,只能利用检查绘图互相接边来检查,如存在没接边的问题时,就只能用采集软件打开一幅图数据,在屏幕上大致地编辑,而实际接边差的数值,还需要再接边,编辑、绘图输出,对照接边反复多次,既费时又费力,同时也白白消耗了不少纸张。 基于此,我们在研制软件时,应重点解决要素接边问题 ,并应设法对交通、水系、境界与政区、植被、等高线、管线与垣栅、居民地、土质、地貌等九个要素层的接边工作,利用各要素层的地理坐标经纬度直接在屏幕上进行上、下、左、右四个方向的自动接边,对几何位置不准、属性错误的
14、数据利用交互式修改或在文件上标注出来。该系统是对数据进行直接操作,并提供了方便快捷的检查和编辑修改功能,对点误差为零,避免了过去利用检查绘图进行接边误差较大的现象发生。 (2)拓扑结构化检查 数字地图的优点只有按拓扑结构组织起来,才能有效地予以利用。作为地图各要素的抽象代表的点、线、面具备拓扑性质,所以 拓扑关系就是点、线,面元素之间的关系。地图上主要的拓扑关系有关联关系,临接关系和包含关系 关联关系 :指存在于空间图形的不同类元素之间的关系 邻接关系 :指存在于空间图形的同类元素之间的关系。 包含关系 :指存在于空间图形的同类但不同级的元素之间的关系。分为简单包含、多层包含和等价包含。 数据
15、拓扑结构的检查工作是比较复杂的,本系统对拓扑结构化检查主要包括面拓扑和线拓扑的检查,我们对居民地、交通、水系、境界与政区、地貌、土质、植被等七个要素层中的面、线拓扑进行编程检查。重点在同名结点是否匹配,是否有不必要的假结点, 面域是否有唯一的标识,是否闭合等几个方面进行检查 4。 (3)要素属性的检查 对要素属性的检查是针对任一要素层的主码、识别码、描述码和参数码等的检查。同时对那些主码、识别码、描述码之间具有唯一推导关系的要素,参数码和领码等进行自动检查,如果出现其它码即认为非法,在错误记录文件中标出。比如 :在数字地图数据中有四种参数码,宽度参数、相对高参数、长度参数、其它参数。领码依次为
16、工 00, 200, 300, 400,如果在其它参数中输入高程值后会自动形成 400领码,如将其输在相对高参数中形成的领码为300,这就说明 高程值的输入项不正确,应在其它参数中输入,形成领码为 400的才正确。 (4)要素坐标位置值域的检查 5 值域的检查主要是对作业员在采集数据时,一是在定位精度不符合要求时,强行进入采集软件中进行采集数据,这时形成的数据不仅位置精度不够,同时有数据超出范围之外。二是作业员在采集数据时将点采在图幅范围外。三是在数据编辑过程中,将数据点位移动,超出范围。 可以采用入库的地理坐标数据与图幅范围的地理坐标值作比较,对超出范围的数据自动修改,并将错误记录在文件中。
17、如 1: 25万数字地图的图幅范围 :纵坐标 Ymin=O,Ymax=14400,横坐 Xmin=O,Xmax=21600,以秒为单位,图幅数据和其比较, XXmax和 YYmax的数值即为超限 9。 (5)等高线要素层的检查 作业员在作业过程中重点是高程值的检查,出现错误最多的也是高程值赋错。而且利用绘图检查也存在弊病,等高线稀疏的图幅还可以,如果山势比较陡,等高线稠密,绘出图后的等高线几乎分不清楚,所以也无法套片查图。 编程解决的办法可以是将编辑赋值后的等高线图形文件叠加在原始扫描图像文件上,检查是否有变形、移位、丢漏等错误。 2.2.3 系统设计目标 主 要目标是通过该系统使数字地图的数
18、据更具独立性、合理性、完备性、可靠性、简便性、自动性,同时也在数据精度上得到提高,从以下几个方面进行: 1)交通、水系、境界与政区、植被、等高线、管线与垣栅、居民地、土质、地貌等九个要素层的接边情况检查及交互式修改。 2)交通、水系、境界与政区、植被、居民地、土质、地貌、图外信息等要素层的拓扑结构化检查及修改。 3)测量控制点、独立地物、居民地、交通、水系、境界与政区、管线与垣栅、地貌、土质、植被、等高线、地名等要素层的坐标数据值域检查及修改。 4)所有要素层要素属性的检查及 修改。 5)等高线要素层的高程值检查及修改。 最终达到数字地图质量管理的要求,从而大大提高了效率和 减轻了以往繁杂的工
19、作 量 。 2.2.4 系统设计原则 1)独立性 系统各模块相互独立,各自具备一套完整齐备的检查功能、处理功能。而且功能相互独立,针对不同的要素层或要素进行不同项目的检查和处理,重复度小。 2)合理性 系统的功能模块的划分要以系统的总体设计目标相符,以系统的设计思想为指导,合理地进行集成和区分,功能特点清楚逻辑清晰,设计合理。 6 3)完备性 根据系统的应用目的要求,功能齐全,适用各种应用目的和范围。 4)可靠性 各功能模块的稳定性好,在检查操作过程中可靠实用,数据处理方法简便、科学、实用。 5)简便性 各功能模块的操作方便、简单、明了、宜于学习和使用,容易掌握。 6)自动性 各功能模块在检查数据过程中,自动化程度较高,部分要素在检查出错后自动修改,数据修改后自动回存更新。 7)高精度性 检查修改后的数据精度高,符合数字地图数据采集规范和标准的要求。