DWG文件

2024-09-09

DWG文件(精选3篇)

DWG文件 篇1

摘要:对设计院和设计部门积累的AutoCAD文件进行知识发现, 具有非常重要的意义。而单纯的图形文件并不能有效的进行知识挖掘, 因此如何将大量图纸中的信息提取出来是数据挖掘的基础和根本。给出一个基于数据库建模的体系结构模型, 利用ActiveX Automation技术提取图形文件中包含的海量信息并存储到数据库中, 将AutoCAD文件转换成为常用的数据库, 在此基础上便可使用数据库的各种挖掘工具进行知识挖掘, 从而为工程设计提供知识支持。

关键词:数据挖掘,数据库,ActiveX Automation,AutoCAD文件,数据转换

1 绪论

随着CAD系统在各设计院和设计部门的广泛使用, 这些设计院和部门都积累了大量的图纸。这些CAD工具中使用最为广泛的就是Auto CAD, 它的DWG、DXF文件已经成为事实上的业界标准, 由此生成了大量的DWG (DXF) 为后缀名的文件, 因此本文以DWG/DXF格式为例来阐述。这些图纸文件的积累其本身就是设计院、设计部门自身知识积累的过程。但由于它们的数量非常巨大, 如何在这些图纸上发现更多的知识, 如何更有效利用和使用这些图纸, 具有相当的研究价值。而图纸更多的信息还是隐含在图纸中, 采取有效的方式从这些图纸中获取更多的知识, 特别是图形相关的知识, 对设计院和设计部门来说, 可大大地提高使用和利用原有知识的能力, 有较高的实用价值。数据挖掘在图纸方面的研究应用, 会为研究这些海量的图纸提供一个新的途径, 并从中获得信息, 并将这些信息存放到数据库中, 进而利用数据库的挖掘工具进行知识挖掘就成为切实可行的途径, 因此, 本文将提出一个新的数据库模型来解决此问题。

2 系统的体系结构

根据数据挖掘的一般步骤:数据收集、数据整理、数据挖掘, 系统包括四层结构, 其结构如图1所示。各结构层说明如下:

(1) 原始图形数据层

大量全面丰富的数据是数据挖掘的前提, 没有数据, 数据挖掘也就无从作起。因此, 数据收集是数据挖掘的首要步骤。数据可以来自于现有事务处理系统, 也可以从数据仓库中得到。在本系统中数据是隐藏在图纸中的大量信息, 因此第一层为原始图形文件, 即Auto CAD图形文件, 最常用的格式为DWG的文件, 有些系统可能对其进行加密, 读取前需要对其进行解密。有些图形文件非常大, 达到上百兆, 为提高读取速度, 需要对其进行分割成多个较小文件。

(2) 数据提取与绘图层

主要的功能是完成从原始图形数据层读取数据, 并将其转换成数据库 (将信息存储到数据库中) , 实现矢量图形文件到数字化转换。

(3) 数据整理层

对生成后的数据库数据文件进行整理, 数据整理是数据挖掘必须的。

(4) 数据挖掘层

利用各种数据挖掘方法对数据进行分析。

现在对数据库的数据挖掘技术和方法已经很多, 如决策树 (Decision Tree) 、神经网络 (Neural Network) 、聚类算法、支持向量机方法、遗传算法、数据可视化 (Data Visualization) 、联机分析处理 (OLAM) , 可以灵活地对海量数据进行浏览分析等。

3 数据读取方法

3.1 常用读取方法

Auto CAD文件有多种格式, 如DWT、DWG、DXF, 最主要是DWG格式的文件, 所有的图纸信息都是存储在DWG文件中。但由于商业利益Autodesk公司并没有公开DWG的格式, 且随着版本的不同, 其数据格式也不断的变化, 要对其进行数据挖掘, 只能采用相应的技术将DWG文件中的信息读取出来。读取DWG文件的方法有多种, 最常用的有以下几种方法: (1) 通过Autodesk公司提供的Object ARX/ADS、VBA或Visual Lisp等二次开发工具。这种方法可靠, 但是开发难度大、程序调试复杂, 并且不能脱离Auto CAD环境。 (2) 直接读写二进制加密格式的DWG文件。Auto CAD系列产品版本不断升级, 图形数据结构也随之不断变化。自行编写读写代码, 必须分析各版本图形文件结构, 针对不同版本编写读写代码, 工作量很大, 短期内无法实现; (3) 购买第三方应用程序接口软件 (如Open DWG和Dr DWG等) , 其功能强、性能可靠, 但是短期内很难熟练使用, 并且需要较大的资金投入。

3.2 Auto CAD Active X Automation技术

Active X Automation是Auto CAD提供的新一代开发接口技术, 通过常用的编程语言如Visual Basic、Visual C++等不需要分析其内部格式, 可非常简便快捷地实现Auto CAD图形文件信息提取, 并可与Auto CAD进行图形数据交换, 实现无缝连接, 支持所有版本、所有格式的Auto CAD图形文件, 不需要对版本进行检查。

在Auto CAD Active X中提供了各种封装有Auto CAD功能的对象, 这些对象可供应用程序通过编程来引用。Auto CAD中提供了100多个对象的自动化接口, 通过这些接口函数, 几乎可以完成它的所有功能。经常用到的接口类见表1。

4 数据的整理

数据整理是数据挖掘的必要环节。由数据收集阶段得到的数据可能有一定的“污染”, 表现在数据可能存在自身的不一致性, 或者有缺失数据的存在等, 因此数据的整理是必须的。可根据影响“污染”数据存在的因数和指标, 建立整理规则, 由计算机自动对原始数据进行整理, 去除“污染”数据, 进而便于下一步数据挖掘的顺利进行。前面生成的数据库文件只有经过进一步的整理来改进数据质量, 才能够提高以后数据挖掘过程中的精度和性能。数据整理准备的好坏, 直接关系数据挖掘的成功与否。图纸数据的整理主要有如下几个方面:

(1) 数据清理:数据中经常会存在着一些空缺值和孤立点。造成这些情况的原因有多种, 如图纸本身的错误, 绘图者的风格习惯等。 (2) 数据集成:同样一些数据, 可能在数据库中多处重复表示。这在图纸数据中尤为明显。对这些数据采取一定的步骤, 减少冗余。 (3) 数据的简化:Auto CAD中的对象繁多, 其中有不少对象在绘图的时候使用, 用来提供绘图效率和图纸的表现能力, 如多义线 (Pline) 、样条曲线 (SPline) , 就可以将它们转换为多条直线的连接。

5 数据库建模的实现

一幅Auto CAD图形中包含着多个对象, 在数据库中建立层表, 来存储层信息, 建立各实体对象表, 来存储各实体信息。在读取各实体对象时, 可直接得到线型、符号等信息, 而视图表、视口表则只与图形显示有关, 并不包含有用的信息, 因而可不建立这些表。根据实际的需要, 可以设计数据库表如表2所示。

Auto CAD提供了它所支持的所有图形元素的对象模型, 支持面向对象的编程技术, 利用Active X Automation技术, 通过Active Document对象访问当前Drawing;通过Model Space对象得到当前Drawing的模型空间的实体数目;然后根据各实体的类型或名称, 把各实体的属性提取出来, 存储到相应的数据库表中。这样, 就能非常方便地提取出点、线、圆、文本, 多义线等图形元素各实体的各项参数。流程图如图2所示。

建模的主要程序代码如下:

(1) 定义各实体所对应数据类型

(3) 将信息存到Oracle数据库中 (以样条曲线为例) , 如图3示。

(4) 读取完毕输出图形工程实例, 如图4所示。

6 结束语

在Auto CAD图纸中发现知识, 特别是数据挖掘的应用, 大大地提高了在海量的图纸中发现知识的能力。而如何将海量图纸中的信息提取出来是数据挖掘的基础和根本, 本文提出利用Active X Automation技术来提取海量信息, 存储到数据库中, 建立数据库模型, 从而得以利用数据库的各种数据挖掘工具进行数据挖掘, 使数据挖掘这样一种工具应用到工程勘察设计领域。此外对存储到数据库中的图形文件, 还可以被其它系统使用和对图形文件处理 (如图形拼接、图形分割等)

DWG文件 篇2

随着计算机技术和GIS技术发展, 许多领域对地形分析提出了越来越高的要求[1,2,3,4,5,6], 二维数据在地形分析方面显得无能为力, DEM已成为目前地学地形分析的主要手段。DEM表示区域D上地形三维向量有限序列{Vi= (Xi, Yi, Zi) , i=1, 2, 3, …, n}, 其中 (Xi, Yi) ∈D是平面坐标, Zi是 (Xi, Yi) 对应的高程[2]。20世纪80年代美国麻省理工学院C.L.Miller首次提出DEM的概念[7]。此后广泛应用于工程计算、地图制图[8,9,10]、3D分析及虚拟现实搭建等[11,12,13]。

DEM数据可以通过地面测量、空间传感器采集、数字摄影测量及地图数字化等方法获取[3]。AutoCAD是测绘部门应用最多的绘图软件, DWG地形图分布广泛, 目前一般以此建立DEM。由于应用AutoCAD的目的和软件功能限制, DWG地形图中一个层可以放置地物的所有数据, 包括空间数据和属性数据[14], 高程点只提供平面坐标, 其高程属性以文本注记方式表现出来, 图形和属性之间的联系仅体现在平面位置上的靠近[15], 这种图形和属性间的割裂造成了DWG数据难以用GIS软件直接应用生成DEM。目前从DWG数据中提取高程点常采用先提取高程点和高程注记, 然后利用距离关系使其匹配的方法。马文祥等在AutoCAD中利用VBA技术通过设置距离上限实现高程信息提取匹配[15], 解云琳等在MapInfo中编写MapBasic程序采用阈值进行了高程信息匹配[16]。本文在研究过程中, 利用分割、过滤、剔除与GIS等技术快速地进行了高程信息的提取与匹配, 在匹配时不仅采用阈值原理, 还提出了与最小距离原则和人工辅助配合的手段来提高匹配效率和准确率。在VC#.NET中开发了提取匹配高程信息并建立DEM与3D分析系统 (WzjGIS) , 以长春市鹿乡镇为例, 实现了基于DWG地形图的DEM建立及3D分析。

1 DEM建立

1.1 高程信息提取

在DWG数据中进行高程信息提取包括高程点和高程注记的提取, 首先选择实体到选择集中, 此时采用图层过滤手段, 只将要提取的实体层中实体加入到集合中, 可以减少搜索实体的时间。不同实体获取平面坐标的函数不尽相同, 如果高程点是单一类型或多种明确类型, 就可根据类型分类提取。由于DWG数据中高程点可能是点、块、块参考或其它不明确类型, 利用GIS数据转换工具把多类型高程点统一转换成点类型, 即可按单一类型提取。高程注记提取高程值属性的同时, 还要提取平面坐标以便和高程点匹配。

1.2 高程信息匹配

提取的高程注记平面坐标是不准确的, 但拥有准确的高程值属性, 关键在于将高程值与根据高程点提取的准确平面坐标相匹配, 组成高程点数据。依据阈值+最小距离原则可以有效解决高程点坐标与注记匹配的效率和准确率问题, 设置阈值 (也是最小距离初值) 的同时采用最小距离来匹配高程信息, 使得在找到多个满足阈值情况下仍能按最小距离原则自动匹配。从坐标集合第一条记录开始循环遍历注记集合, 寻找满足阈值且距离最小的高程注记, 提取该注记高程值与高程点坐标并删除该注记记录, 直到完成所有高程点匹配。

多个注记满足阈值条件时按最小距离进行高程匹配时, 有些情况匹配是不正确的, 如图1所示, 1点将与距其最近的204.4匹配, 2点没有注记与之匹配, 3点和4点将互相匹配错误。如果满足阈值注记个数为0, 则可能是阈值过小、存在孤立点或相邻点匹配错误引起的, 如果有剩余注记记录可能存在孤立注记。所以在提取高程信息的同时还应提取相应满足阈值条件注记个数, 只要个数不为1, 就需人工辅助检查。

如果在数据准备阶段对DWG数据进行了适当分割, 匹配过程中适时删除匹配完成注记记录, 将会大大提高匹配速度。点数为T的地形图数据在匹配过程如果不适时剔除注记记录, 要循环T×T次, 若分割地形图为n幅且适时剔除匹配注记记录, 最坏循环次数就减为T/n×T/n×1/2×n=T×T/ (2n) , 为原来的1/ (2n) 。图2是在同一台PC机上对不同地形图测试的匹配时间, 横坐标为分割后单幅图点数, 以1/2比例递减, 纵坐标为匹配时间, 完成总匹配时间也应以1/2比例递减。图中单幅匹配时间不断减小, 而点数在2900-730时的总匹配时间与1/2比例稳合, 且在点数为365时达到最小80秒, 考虑分割耗时, 最终分割图形单幅点数宜为1000左右。

1.3 DEM建立

DEM的主要表示模型有离散点模型、等高线模型、断面线模型、层次地形模型 (LOD) [17,18]、规则格网模型和TIN模型[19,20,21]。利用离散高程点, 选择反距离内插模型构建规则格网DEM, 高程点在XOY平面上投影为Di (xi, yi) , 各自高程zi (i=1, 2, …, n) , P (x, y) 为任一格网点, d (P, Di) 为PDi之间的距离, z值是Di (xi, yi) 的z值加权平均结果, Wi是权函数, 影响程度与距离成反比, 则有下面建立DEM模型:

经过高程信息提取与匹配后得到高程点表格数据, 将其转换成为shp格式后即可建立DEM, 流程如图3所示。

2 WzjGIS系统实现

为了使利用DWG数据建立DEM的过程具有快速、方便、易操作性, 基于AutoCAD ActiveX Automation与ArcObjects二次开发技术, 在Visual C#.NET中研发了WzjGIS系统, 不仅实现了从DWG数据提取并匹配高程点数据与建立DEM的一体化, 还设计了3D浏览、场景设置与3D分析等五大功能模块, 如图4所示。数据输入负责加载DEM源数据和纹理影像, DEM生成完成从DWG中提取高程信息并生成DEM, 场景设置主要设置DEM及相关图层的显示, 浏览显示提供三维地图基本浏览和查询功能, 3D分析可基于DEM进行坡度分析、通视分析和等高线生成。图5为进行坡度分析的系统主界面。

3 应用实例

以吉林省鹿乡镇为例, 基于1:1万DWG地形图建立DEM, 并进行坡度分析。首先把地形图分割成7幅处理图, 利用提取高程点工具提取并匹配高程信息 (如图6所示) , 图6中 (a) 为高程点提取界面, 处理完全部图幅后, 再将各幅数据合并到一个数据表格中, 如图6中 (b) 所示。

经人工检查无误后就可以利用生成高程点工具生成Shape格式数据, 如图7所示。图8是基于Shape高程点数据生成的DEM。

图8中 (a) 为未加载纹理影像的DEM, (b) 是叠加地表纹理后效果。基于DEM进行坡度分析结果, 从绿色到红色坡度递增, 可以看出北部坡度较小, 大坡度集中在鹿乡镇西南, 结合植被覆盖率等数据可以进行水土流失等分析。

4 结束语

在DWG数据中进行了高程点和高程注记的提取, 为了加快在大量DWG数据中提取实体信息速率, 提出了图形分割、图层过滤、注记记录剔除与GIS等关键技术, 在高程信息匹配中采用阈值+最小距离原则和人工辅助方法, 提高了匹配的效率和准确率。基于提取后的离散高程点数据, 建立了DEM并实现了坡度分析、通视分析及等高线绘制。基于AutoCAD和ArcGIS二次开发技术在VC#.NET开发了WzjGIS系统, 实现了上述功能的一体化。并通过WzjGIS系统, 以长春市鹿乡镇为例, 由1:1万DWG地形图数据建立了DEM, 并进行了坡度分析、通视分析和等高线绘制等3D分析。

DWG文件 篇3

1 数据源准备

首先准备一幅DWG格式数据。这里收集到了滁州市城市规划电子地图。该图为dwg格式,被分成了3百多个图层,采用UTM投影方式(见图1)。主要包括建筑物、道路、水系等基础信息,部分建筑物有楼层数信息。

由于该数据源内包含了许多不需要的图层信息,因此首先需要将有用的图层从其中分离出来。分离工作在Auto CAD中进行,这里使用的是AUTOCAD2004软件平台。一般情况下,可以通过该软件的图层管理器,对不需要的图层进行删除即可保留需要的信息。然而,在实际的操作中,发现AUTOCAD并不能直接分离该DWG文件中的图层,原因是这些图层引入了外部参照。解决该问题首先通过图层管理器将不需要的图层关闭不显示,然后选择“文件”菜单下的"文件输入/输出"中DXF输出选项,在弹出的对话框中填写好输出文件的名称,文件类型选择DXF。注意,此时要选择“工具”菜单下的“选项”项,在弹出的对话框中选择“DXF选项”选项卡,勾选“选择对象”,点击确定后,点击“保存”按钮,此时在地图显示区的鼠标形状改变为实心方块状,拉框选择所有显示的地图要素,框选后按鼠标右键即可。此时需要的图层信息被保存为DXF格式,可以直接使用该格式作为原始数据转换成SHAPE格式,也可以将其重新保存为DWG格式。

2 数据格式转换

从DWG格式转换成SHAPE格式的方法有很多种。这里我们使用ESRI公司的ARCGIS9.2平台提供的格式转换工具来进行转换。具体操作:

打开ARCGIS9.2 Desktop,选择“tools”菜单下的“extensions”选项,勾选Data Interoperability扩展模块,点击“close”.再点击ArcToolbox按钮,此时将出现Arc Toolbox窗口。右击该窗口中Arc Toolbox,选择“new Toolbox”,给该Toolbox随便取一个名字,然后再右击刚刚创建的Toolbox

在弹出的菜单中选择“new”-“Spatial ETL Tool”(见图2),此时格式转换工具被调用。

在接下来的选择框中指定需要转换格式的数据格式,点击右边的按钮可以进行选择数据格式,此处我们选择Atuo CAD DWG/DXF(见图3)。

点击“next”,此时要求指定数据源位置,点击右边的按钮选择需要转换的文件,此处应注意,要点击“Settings...”按钮进行一些设置(见图4)。

由于这里地图是按层组织的,因此在Group Entities BY下选择Layer Name,同时勾选Expand Into Entities和Expand Into Text Entities和选择Stroke选项。点击“next"选择目标数据格式,按右边按钮选择“ESRI Shape"格式,点击“next"一直到“finish”结束。此时会弹出新的窗口(见图5)。

此时点击运行按钮,将弹出对话框让用户选择数据保存路径,选好路径后,系统将进行数据格式转换。至此所有的转换工作全部结束。

3 总结

利用ARCGIS软件平台实现DWG格式数据转换为SHAPE格式过程并不复杂,但是很多情况下用户并不知道完整的步骤,该文从最基本的DWG格式数据准备开始,详细介绍了转换每一步设置,为今后类似工作提供了参考。

参考文献

[1]王晓烨,陈立桢,王新来,等.用FME实现DWG数据到SHP数据的转换[J].科技信息,2011(16):357-358.

[2]何宗宜,谭芬,魏秀琴.地图矢量数据处理研究[J].测绘科学,2006(6):74-76.

上一篇:国内管乐团现状下一篇:热膨胀系数