试谈基于CASS的DWG数据快速分层方法论文
1 前 言
AutoCAD 是一种以二维制图为主,具有部分三维功能的工程设计软件。友好的界面设置,鼠标与命令相结合的操作模式,强大的工程设计功能及丰富的二次开发接口,使其在工程测绘制图上应用广泛,成为地形图矢量制图与数据整理的首要软件之一。CASS 码是南方数码公司结合地理信息分类码编制的一套适用于AutoCAD 地形图制图的地类分类码,包括所有常见的地理要素。CASS 码依托于AutoCAD 的DWG 图形数据库,以扩展属性的方式为DWG 数据图元数据追加CASS 属性,用以区分各种不同地物要素,实现一个地物或图元对应一条数据记录。VBA 是AutoCAD 自带的一种二次开发环境,采用VB 语法,能够编程实现对AutoCAD 图元要素的各种复杂操作。
CAD 数据对象有个很大的不足之处,就是对象可以很容易的移动到其他图层,基本没有限制,方便数据编辑的同时,也因为误操作导致数据分层极易出错。本文尝试避开人工操作实体对象,通过编制分层文件和计算机程序,以CASS 码为检索目标,实现对测绘数据的快速分层,满足各种定制需求。
2 AutoCAD 扩展属性与CASS 码
AutoCAD 扩展属性(XDATA)是向AutoCAD 中的几何实体添加自定义数据,可以处理包括字符串、实数、整数和实体句柄等许多信息,但要求的数据量不超过16K。AutoCAD 可以与管理基本几何实体数据一样管理XDATA,但必须采用程序操作。扩展的对象数据是在对象数据记录中以标示码为前导的一个项。在一个图元中,可以加入扩展数据大小为: 16 383 字节。
南方CASS 是一种在地形图绘制中应用广泛的制图软件,其通过编制一整套的CASS 码,以扩展属性的方式添加到CAD 图形中,实现地形要素的编码与制图。每个图元由唯一CASS 码标示,在一个图形要素中,每一行扩展属性包括两部分内容。以一个建筑要素为例,其CASS 码包括三个部分:第一行是标示字符,表明这个是南方CASS 扩展属性,如“1001:SOUTH”;第二行标示要素类,也就是要素分类码,标示此要素的具体分类,如砖房屋“1000:141111”;第三行为补充性字段,如楼层数“1040:7”。本文通过检索CASS 码中的地类码,来实现对图形要素的快速分层
3 技术流程
为了能够重复利用已经编制好的数据分层规则,本文以数据库的形式存储基于CASS 码的数据分层规则。程序遍历图中所有图元,读取CASS 码,或者将已公开的CASS 码提前录入数据库中。然后按照分层要求,建立对应的图层,将所属的CASS 码归入对应的图层规则中,完成数据分层规则的`初步编制。分层规则编制完成后,由程序遍历所有图形要素,读取CASS码,检索分层规则确定其对应图层,将地形要素移入对应图层中。对未按照规则分层,遗漏的图形要素,检测CASS 码,确定是规则遗漏还是其他原因,修正分层规则,重新分层,以达到将所需要的地物要素完全按照需要进行分层定制,得到目标AutoCAD 文件,技术流程
4 程序实现
本文所述数据分层方法用数据库存储分层规则,以CAD 扩展工具栏的方式实现相关操作命令。数据库采用Access 的mdb 数据库, 包括存储CASS 码和分层规则两大部分,其中存储CASS 码的数据表在前期用Access 定制,存储分层规则的数据表用程序实现。
CAD 扩展工具栏通过在CAD 命令行数据“cui”命令,打开“自定义用户界面”,通过建立自定义的菜单栏和菜单项,实现本文所需工具栏的定制,并设置相应的程序入口。自定义lh. cui 为自定义菜单文件,其“图层管理”工具栏中的“分层设置”用来对分层规则的编制,“数据分层” 用来实现数据分层命令。选中单个菜单项,可对相关命令内容进行设置。上述分层规则数据表的创建及其他数据分层的实现,采用VBA 程序设计工具,编写相应的程序代码与工具栏命令相对应。首先,采用ADO 数据库方法,与存储数据库建立连接,实现数据表的建立,并将编制的分层规则存入对应的数据表中。然后采用CAD 二次开发中的GetXData 方法,读取地物要素的CASS 码,并按分层规则将要素归入对应图层中。
程序开发完成后,CAD 命令行输入“menuload”加载定制的工具栏文件(cui 文件),输入命令“appload”加载程序文件(DVB 文件),完成相关程序集的加载。设置好后,CAD 每次启动将自动加载cui 和dvb 程序文件。新奥燃气的分层规则如图4 所示,共5 个图层:道路、建筑、图框、植被和水系,每个图层包括制定的CASS 码。通过检索DWG 中实体对象CASS 码,快速完成分层规则的编制。项目覆盖面积约200 km2,从定制分层规则到分层完成,用时仅约30 min,且分层无错漏,并剔除了多余数据。
5 结 论
本文阐述的数据分层方法,通过在新奥燃气制图等多个项目中使用,相比人工分层明显提高了工作效率,且避免了人工分层时的要素遗漏与错层等常见错误。以数据库存储分层规则,实现了一次定制分层规则,多次应用,节省了前期所需时间。采用cui 文件与DVB 文件相结合的方式,既解决了DVB 文件无法编译,每次应用需加载的问题,又实现了菜单制作与程序分离,易于后续的修改与维护。本程序在实现分层的同时,亦可实现对特定地物要素的提取,只需将需要的地物要素按照图层设置好,就可将相关要素提取到对应图层中。但是在编制分层规则上,有些不足,效率上有待提高。
【试谈基于CASS的DWG数据快速分层方法论文】相关文章:
基于南方CASS5.1的基础空间数据整理07-07
下分层快速掘进的研究论文04-15
基于MODIS数据的积雪提取方法07-05
探析基于大数据环境下的数据安全论文01-13
基于ENVI的MODIS数据预处理方法07-10
.dwg文件怎么打开?_dwg文件打开方法集锦 -工程01-01
试谈滨水城的景观设计论文04-11
试谈课堂教学模式探究的论文05-29