基于VBA的AUTOCAD数据快速保密处理研究
2012-12-19河南省基础地理信息中心李小勇赵克洋
河南省基础地理信息中心 石 晶 李小勇 赵克洋
在生产中,需要对大量的DWG 数据进行保密处理工作,通常手工处理起来十分的烦琐,也容易产生一定的人为误差,因此有必要找到一种较为合理的方法处理。本文,笔者经过不断实验,发现在AUTOCAD中通过VBA编程可以实现,保密处理工作自动化处理。现将该处理方法发表出来和同志们探讨,希望最终可以实现测绘数据保密处理的更加优化地自动化处理过程。
一、VBA 简述
Microsoft VBA 是一个面向对象的编程环境,可提供类似Visual Basic(VB)的丰富开发功能。VBA 和VB 的主要差别是VBA 和AutoCAD 在同一进程空间中运行,提供的是具有AutoCAD智能的、非常快速的编程环境。
VBA 技术为这些程序员以及将来更多的学习Visual Basic的人员打开了自定义AutoCAD、ARCGIS 和开发AutoCAD、ARCGIS 应用程序的途径。AutoCAD VBA 工程是许多代码模块、类型模块和窗体的集合,它们一同运作,执行给定的功能。工程可以存储在AutoCAD 图形中,也可以作为独立的文件存储。内嵌工程存储在AutoCAD图形中。在AutoCAD中打开包含这类工程的图形时,会自动加载它们,这使工程分发变得非常简便。由于内嵌工程只能在所在的文档中运行,因此其使用受到一些限制,而且不能打开或关闭AutoCAD 图形。内嵌工程的用户不再需要在运行程序之前查找和加载工程文件。打开图形时触发的时间日志即是工程内嵌在图形中的一个例子。使用这个宏,用户可以登录并记录处理该图形的时间长度。用户不需要记着在打开图形之前加载工程,加载会自动完成。
二、数据处理流程
保密数据的处理必须严格按照《公开地图内容表示若干规定》(国测法字[2003]1 号)和《公开地图内容表示补充规定(试行)》(国测图字[2009]2号)进行。笔者在作业过程中,研究数据发现在DWG 数据中,每一个基础要素层在DWG 中放置在特定的层,见表1。
表1 基础要素分类
参照基础要素分类表,在VBA中可以打开需要删除的要素层,选择删除要素,即可以删除涉密的基础要素层。影像与矢量数据自动套合工作流程如图1所示。
图1 影像与矢量数据自动套合工作流程
三、AUTOCAD 中的VBA 编程代码
本文,笔者在AUTOCAD 中通过VB 遍历ARCGIS 中生成的txt,生成DOM 的范围矩形框,同时生成相应的DWG 数据,代码如下:
四、结论
实际生产表明,利用该方法进行数据的保密处理速度快、准确率高,是一种操作简单、行之有效的数据生产方法。同时,该方法还可以推广到其他数据的生产中。