《AutoCAD和MAPGIS间的数据转换.pdf》由会员分享,可在线阅读,更多相关《AutoCAD和MAPGIS间的数据转换.pdf(3页珍藏版)》请在三一文库上搜索。
1、AutoCAD和MAPGIS间的数据转换 钟世彬,郑贵洲 (中国地质大学信息工程学院,武汉430074) 【摘 要】本文简要介绍了AutoCAD和MAPGIS的基本特点,详细分析了两者数据特点和数据转换过程中要注意 的问题,重点阐述了AutoCAD的DXF和DWG两种数据格式与MAPGIS的MPJ数据格式之间转换的实现过程与 方法,最后总结了对AutoCAD数据和其他GIS软件间的数据转换的参考意义,从而达到数据资源的共享。 【关键词】AutoCAD; MAPGIS;数据转换; DWG; DXF 【中图分类号】P208 【文献标识码】A 【文章编号】1009 - 2307 (2005) 03
2、- 0097 - 02 收稿日期: 2004 - 09 - 14 1 引 言 AutoCAD是目前世界上应用最广的CAD软件,市场占 有率位居世界第一。AutoCAD软件具有完善的图形绘制功 能,强大的图形编辑功能 1 可以采用多种方式进行二次开 发或用户定制,可以进行多种图形格式的转换,具有较强 的数据交换能力,支持多种硬件设备,支持多种操作平台, 具有通用性、易用性,适用于各类用户。 此外,从AutoCAD 2000开始,该系统又增添了许多强 大的功能,如AutoCAD设计中心(ADC)、多文档设计环境 (MDE)、Internet驱动、新的对象捕捉功能、增强的标注功 能以及局部打开和局部
3、加载的功能,从而使AutoCAD系统 更加完善。 由于AutoCAD的初始开发立足于机械和建筑等方面的 制图,将其应用于地图制作和地理信息的管理,便有着诸 多的不便。目前,随着GIS技术的兴起及发展,地图的制 作和地理信息的管理有了更好的工具 GIS软件(如 ArcInfo、MapInfo、MAPGIS等)。如何将已有的AutoCAD 格式的数据送入GIS ,如何充分利用AutoCAD的采集和编 辑功能为GIS准备数据,这都涉及AutoCAD和GIS间的数 据转换问题。 MAPGIS是武汉中地信息工程有限公司研制的具有自 主版权的大型基础地理信息系统平台。它是一个集当代最 先进的图形、图像、地
4、质、地理、遥感、测绘、人工智能、 计算机科学于一体的大型智能软件系统,是集数字制图、 数据库管理及空间分析为一体的空间信息系统,是进行现 代化管理和决策的先进工具。MAPGIS在全国GIS多次测 评中一直名列前茅。并成为唯一连续多年获得国家科技部 向社会推荐的国产GIS软件平台1。它具有鲜明特色并广 泛占有我国市场的GIS软件,产生了巨大的经济效益和社 会效益。本文结合笔者的实践,主要讨论AutoCAD和 MAPGIS间的数据转换。 2 两者数据特点及转换中注意问题 1) 图形信息,属性信息 MAPGIS与AutoCAD系统的共同特点是两者都有空间 坐标,都能把目标和参考系统联系起来,都能描述
5、图形数 据的拓扑关系,也都能处理非图形属性数据。它们的主要 区别是: AutoCAD处理的多为规则几何图形及其组合,它 的图形功能尤其是三维图形功能极强,属性库功能相对要 弱,采用的一般是几何坐标系。而MAPGIS处理的多为自 然目标,有分维特征(海岸线、地形等高线等 ) , 因而图形 处理的难度大, MAPGIS的属性库内容结构复杂,功能强 大,图形属性的相互作用十分频繁,且多具有专业化特征, MAPGIS采用的多是大地坐标,必须有较强的多层次空间 叠置分析功能, MAPGIS的数据量大,数据输入方式多样 化,所用的数据分析方法具有专业化特征。因此一个功能 较全的AutoCAD ,并不完全适
6、合于完成GIS任务2。所以 在数据转换过程中,从AutoCAD到MAPGIS的转换,不容 易造成数据的丢失;而从MAPGIS到AutoCAD的转换,容 易造成属性信息的丢失。 2) 图层、块和点符号库 在AutoCAD中,层(layer)是一个非常重要的概念,每 层一般对应于地形中的一个专题(如铁路、河流、线界、电 力线等)。每一层都代表了一种不同的地物,用以区别其他 地物; AutoCAD中一个层可以放置该地物的所有数据,包 括空间数据和属性数据,如点、线、面、文本等,但 MAPGIS的图层只能是点、线、面、文本之中的一种,或 是复合类型。在转换过程中,对于多个图层放到一个图层 就很容易。
7、在AutoCAD环境中,一个块就是图形文件中的一个实 体(由多个简单实体组成的复杂实体 ) , 可以充分使用。实 际大多数情况下用“块”来建立点状符号库。在MAPGIS 环境中,没有“块”的概念,但是它有丰富点状符号库。 所以在从AutoCAD和MAPGIS间数据转换时,要注意 AutoCAD块与MAPGIS点状符号间的对应。 区在MAPGIS的WP文件中,而在AutoCAD中没有。 区一般有两种表示方法,一种是用规则排列的点符号来填 充面域,这类区的转换实际上就变成了点状符号的转换, 如稻田、草地等;另一种情况是连续填充的面域,如街区 等,这时应只转换面域的边界线到AutoCAD ,再匹配相
8、应 的面状符号。 3) 线型和颜色 对于不同的线状专题,采用不同的线型来表达。在 AutoCAD中,一般是不同的专题放在不同图层,所在层的 信息也就隐含着它所使用线型的信息,而MAPGIS有线型 库。 所以在AutoCAD和MAPGIS间数据转换时,要注意 AutoCAD线型图层与MAPGIS线型库间的对应。 在AutoCAD和MAPGIS中都用颜色来表示各种专题, 但对于同一种颜色,两者的颜色码是不一样,所以在转换 过程中,要做颜色的对应。 4) 文件类型 第30卷第3期 2005年6月 测绘科学 Science of Surveying and Mapping Vol130 No13 Ju
9、n AutoCAD有两种常用的数据格式,即DWG和DXF。 MAPGIS的数据文件类型很多,例如: WT(Windows点文 件)、WL ( Windows线文件)、WP(Windows区文件)、MPJ (工程文件)和RBM(内部栅格数据文件)等一共三十多种文 件。根据AutoCAD和MAPGIS文件的特点,一般AutoCAD 数据格式和MAPGIS中MPJ进行转换。 了解两种的数据格式特点,是进行数据转换前必须搞 清楚的。根据两者的数据特点,在转转换过程中,要注意 块与符号的对照、线型对照、颜色对照和图层对照。 3 AutoCAD与MAPGIS间数据转换的实现 要实现AutoCAD与MAPG
10、IS间不同图形文件格式的转 换,即:能够往两种不同的文件格式中读出和写入,从而 实现了数据交互。要想转换数据格式,首先要获得实体数 据,获得AutoCAD实体数据的方法有多种,如将 3 1dwg 文件转化为dxf文件用以提取数据、利用VisualC + +编程 的ObjectARX技术、AutoCAD2000的VBA技术、Lisp语言 编程技术等3。MAPGIS提供了丰富的二次开发库,利用 它可以很方便的读出和写入数据,从而获得实体数据。 1) DXF与MPJ间的转换 AutoCAD把图形输出成DXF格式文件,以便其他程序 读取、分析、加工和处理;其他程序也可以按照规定的格 式生成DXF文件,
11、 AutoCAD可以接受该DXF文件并转换 成图形。 笔者在DXF与MPJ间的数据转换思路(如图 1) 是:在 DXF向MPJ转换时,从DXF文件中读出数据,往MPJ文 件中写入数据。反之,从MPJ文件中读出数据,往DXF文 件中写入数据。笔者利用开发工具是VC + +。 图1 DXF与MPJ间的文件转换 要对DXF文件操作,首先要弄清楚DXF4。DXF是一 种文本格式的文件,它用文本的格式描述了AutoCAD的图形 文件5。因为国际标准化图形文件的数据格式是公开的。以 ASCII形式存放的实现接口部分实践上等于用VC+ +对一个 已知格式的ASCII文件的读写操作。例如:对于线,笔者仅 提起
12、它两个端点坐标;对圆,仅提起它的圆心坐标和半径; 对于弧,仅提起圆心坐标、半径、起始角和终止角。 为了方便的实现对MPJ进行读写操作,笔者充分利用 它的二次开发库。 2) DWG与MPJ间的转换 笔者在DWG与MPJ间的数据转换思路(如图 2) 是:利 用VisualC + +编程的ObjectARX技术对DWG进行读写操 作,利用MAPGIS的二次开发库对MPJ进行读写操作。 图2 DWG与MPJ间的文件转换 ObjectARX是AutoDesk公司针对AutoCAD平台上的二 次开发而推出的一个开发软件包,它提供了以C + +为基 础的面向对象的开发环境及应用程序接口,能真正快速的 访问A
13、utoCAD图形数据库。 与以往的AutoCAD二次开发工具AutoLISP和ADS不 同, ObjectARX应用程序是一个DLL (动态链接库 ) , 共享 AutoCAD的地址空间,对AutoCAD进行直接函数调用6。 所以,使用ARX编程的函数的执行速度得以大大提高。 ARX类库采用了标准的C + +类库的封装形式,这也大大 提高了程序员编程的可靠度和效率。 实践证明,利用两个开发库开发有以下特点: 实现方便 由于进行读写操作的函数,实际上是由两个开发库提 供的。 实现效率高 由于利用两个系统的开发库,利用各自的函数对数据 直接操作。因此,转换的数据效率很高。 对开发者的要求高 由于这
14、种转换涉及了两个系统的开发库,开发者必须 了解两个不同的开发库,因此开发者的水平,直接影响数 据转换的质量。 4 结 论 通过对AutoCAD和MAPGIS间的数据转换,体会如下: 对于两个不同数据格式的转换,首先要了解两种数 据的特点、联系和区别。因为只有了解了两者间的特点、 联系和区别,才知道两种数据的对照关系。 数据转换的思路都是对数据文件的读写操作。从要 转换的数据格式中读出数据,写入到需要的数据格式。 开发方式的选择很重要。它影响了开发的难易程度, 以及数据转换的效率和质量。 根据以上的转换思路和方法,编制了相应的程序模块, 较好地实现了将AutoCAD数据送入MAPGIS进行制图和
15、建 库,同时,将MAPGIS数据转换成AutoCAD数据,以实现 数据共享。通过笔者的实践证明,这些思路和方法是可行 的。笔者使用的数据转换方法对于实现AutoCAD数据和其 他GIS软件间的数据转换具有参考意义,从而达到数据资 源的共享。 参考文献 1 MAPGIS地理信息系统开发手册M.武汉:武汉 中地信息工程有限公司, 2000. 2 吴信才.地理信息系统原理与方法M.北京:电 子工业出版社, 1998. 3 宋延行,王川,李永宣CObjectARX实用指南 AutoCAD二次开发M.北京:人民邮电出版社, 1999. 4 李于剑. Visual C + +实践与提高-图形图像编程篇 M.北京:中国铁道出版社, 2001. 5 Autodesk. AutoCAD DXF 1410文件格式 EB/ OL . http : / / www. gischina. com/ . 6 孙江,宏丁,立伟,米洁. AutoCAD ObjectARX开发 工具及应用M.北京:清华大学出版社, 1999. zhong 1261com 89 测绘科学第30卷
链接地址:https://www.31doc.com/p-3730613.html