(从化市测绘队 广东从化 510900)
数字化测绘产品的出现,替代了以往常规的测绘产品。从数据的输入、处理、输出等方面,都有着传统测绘无法比拟的优越性。数字化测绘产品相比常规的测绘产品,具有数据量大、数据精度高、数据具有特定的结构和隐含的属性等特点。在数字化测绘产品的检查过程中,检查数据的结构、属性、平面和高程精度是一项非常重要的内容。这些检查工作如果完全依赖人工,效率就非常低下。因此利用程序进行数据检查就成了数据质量检查的重要手段。本文介绍通过利用AutoCAD VBA 语言编程开发的程序,进行数字化地形图平面精度自动快速检查的方法。
数字化地形图平面精度检查,一般是利用全站仪或者GPS 在野外实测地物点的平面坐标记录下来,展绘到电子图来进行比对检查。如果用人工的方法进行检查,不仅费时费力,而且也容易疏漏。利用AutoCAD VBA 语言编程,进行检查,在软件中直接调入外业记录的检查数据,程序读取检查数据,自动在AutoCAD 图形上寻找相匹配的点位进行计算和检查。自动进行精度计算,并输出美观的检查表格,快速、准确和美观,大大节省了人力物力,提高了劳动效率。利用AutoCAD VBA 编程检查数字化地形图平面精度的流程,参见图1。
图1 数字化地形图平面精度自动检查流程图
AutoCAD VBA工程是由内嵌的程序模块、类模块和窗体组成的集合,运行它们即可完成设计的功能。VBA 工程保存于AutoCAD 图形文件内部,称为内嵌VBA 工程;也可保存为为全局VBA 工程,是以*.dvb 文件格式保存。在AutoCAD中实现VBA 有四大优点:
(1)Visual Basic 编程环境易学易用。
(2)VBA 与AutoCAD 在同一进程空间中运行,使程序执行得很快。
(3)对话框的构造快速而有效。这使开发人员可以构造原型应用程序并迅速收到设计的反馈。
(4)工程可以是独立的,也可以嵌入到图形中,用户可以实现图形与程序的交互使用。开发人员可以灵活的方式来发布他们的应用程序。新工程会被创建为未保存的全局工程。创建完成后,可以将它嵌入到图形中或保存到工程文件中。
地形图平面精度自动检查程序是利用地物点的属性,提取地物点的坐标值,在设定范围内按条件建立选择集并进行过滤,提取出与检查点相匹配的点的坐标值。与野外采集的检查点坐标自动进行比较,自动计算检查点与被检查点之间的点位误差,自动完成检查精度计算并输出美观的检查统计表格。程序编程的主要思路及主要检查过程如下:
(1)设定过滤条件,为程序搜索和匹配检查点设定范围和条件。
(2)读入野外采集的碎部数据。后期绑定。
(3)利用选择集过滤器,按设定的条件进行选择。
(4)取出被选中的点的坐标值,并计算点位精度。
(5)输出精度检查数据。
程序软件采用Auto CAD VBA 语言编程开发,由于可以实现大批量的外业测量数据自动处理和检查,既减少人工干预作业的过程、降低劳动强度、缩短工作时间,又避免了人工错误、确保数据精度,从而大大的提高了效率。程序运行步骤如下。
①加载并程序,显示程序主界面如下图。
②双击“打开打点文件”调入野外采集的碎部数据。程序会自动生成保存目录,并在界面框内输入相应的限差和搜索范围,按需要选择“地籍/地形/高程”按钮。如下图。
③点击“匹配”按钮,程序开始自动搜索并进行点位匹配。
③click on the "match" button,the program to automatically search and point matching.
Automatic pick up point inspection process diagram.
自动取点检查过程图
取点结束在窗口显示检查点的坐标和点位误差,如上图。
检查完毕,可以用鼠标点击程序视窗内的数据,在Auto CAD 图形界面内交互查看检查点的情况,既方便有快速。
④生成美观的精度检查统计表格,并对超限的数据做了标示,非常直观。如下截图所示。
利用Auto CAD VBA 语言编程,通过Auto CAD 图形的图层、属性等特点,用VBA 语言实现程序的自动选择和过滤。作为该程序开发的基本思路,本程序经过周密测试,已成功应用于测区数字化地形图的平面精度检查,软件效率高,运行速度快,差错率小,使用简便明了。由此可以解决数字化地形图生产检查中的一些问题,缩短了检查时间,提高生产效率。
[1]高春燕,李俊民,刘彬彬.Visual Basic 程序开发范例宝典[M].北京:人民邮电出版社,2006-07.
[2]赛奎春,李俊民.Visual Basic 函数参考大全[M].北京:人民邮电出版社,2006-12.
[3]秦永乐.Visual Basic 测绘程序设计[M].郑州:黄河水利出版社,2005-08.
[4]张凡.AutoCAD VBA 二次开发教程[M].北京:清华大学出版社,2006-01.
[5]曾洪飞,张凡,卢择临.AutoCAD VBA &VB.NET 开发基础与实例教程[M].北京:中国电力出版社,2008-02.
[6]李士雨.工程数学基础-数据处理与数值计算[M].北京:化学工业出版社,2005-05.
[7]佟彪.VB 语言与测量程序设计[M].北京:中国电力出版社,2007.
[8]孔祥元,郭际明.控制测量学[M].武汉:武汉大学出版社,2006-10.