AutoCAD VS MapInfo
AutoCAD VS MapInfo
1 AutoCAD的DWG、DXF和MapInfo文件格式介绍
1.1 MapInfo的文件格式
MapInfo的数据库采用混合型的空间数据库结构, 分别使用不同的模块存储空间数据和属性数据。属性数据存储在关系数据库的若干属性表中, 而空间数据则以MapInfo 的自定义格式保存于若干文件之中, 两者之间通过一定的索引机制联系起来。MapInfo 采用层次结构对空间数据进行组织,即根据不同的专题将地图分层, 每个图层由5个文件组成:(1) 属性数据的表结构文件(.TAB); (2) 属性数据文件(.DAT); (3) 交叉索引文件(.ID); (4) 空间数据文件(.MAP); (5) 索引文件(.IND),索引文件并不是必须的, 只有当用户规定了数据库的索引字段后, MapInfo 系统才会自动地产生索引文件[1]。WMS文件是MapInfo的工程文件,是一种XML文本文件。存储的是对各种地图文件的索引。
1.2 DXF文件格式
DXF是Drawing Exchange Format的缩写,作为图形文件的交换标准,DXF文件是一种ASCII方式储存图形的文本文件,在表现图形的大小方面十分精确,包含了autoCAD图形文件的所有信息。
DXF 文件本质上由代码及关联值对组成。代码(通常称为组码)表明其后的值的类型。使用这些组码和值对,可以将 DXF 文件组织到由记录组成的区域中,这些记录由组码和数据项目组成。在 DXF 文件中,每个组码和值都各占一行。 每个段都以一个后跟字符串 SECTION 的组码 0 开始,其后是组码 2 和表示该段名称的字符串(例如,HEADER)。每个段都由定义其元素的组码和值组成。每个段都以一个后跟字符串 ENDSEC 的组码 0 结束。AutoCAD 2004 的DXF 文件完整的结构包括HEADER 段、CLASSES 段、TABLES 段、BLOCKS 段、ENTITIES段、OBJECTS 段。
1.3 DWG文件格式
DW G 文件为二进制格式文件, 共有5 种数据形式: 字符型、字节型、整型(双字节)、长整型(4 字节)、IEEE 标准的浮点数(即双精度浮点数)[3]。DWG文件的内部结构跟同一版本的DXF文件有相同的,对于Auto CAD2004,DWG文件也包含标题节、表头节、表节、块节、实体节等,但DWG文件比DXF文件多一个索引节。
2 普通AutoCAD文件转换为MapInfo格式的方法比较
2.1 MapInfo软件转换法
利用MapInfo Professional的通用转换器,启动MapInfo Professional,选择“工具-〉Universal Translator-〉Universal Translator”,在通用转换器中选取源文件、目标文件进行转换。这种方法操作简单,对用户来说这是一个黑箱操作,自动化程度高,用户参与少。通常转换的结果不尽人意。
2.2 购买第三方软件
很多的商业软件实现了Auto CAD文件向MapInfo文件格式的转换,但是这些软件价格昂贵,有时需要使用人员参加培训,并且随着软件的升级,需要在软件的使用上投入资金,所以使用这种方法并不可取。
2.3 利用MapInfo的MapBasic进行二次开发
MapBasic自身带了一些用于数据转换和传输的接口函数,使用MapBasic,可以设计、建立符合自己特点和要求的应用系统, 利用MapBasic 还可以将多媒体技术引入地理信息系统,使用这种方法用户有一定的自主性,但在数据提取和样式匹配上很难取得满意效果。
2.4自写程序读取AutoCAD文件,实现文件的转换
通过编写程序实现AutoCAD数据到MapInfo的转换过程如图1。
DXF文件是顺序的文本文件,作为图形数据交换的标准,其编码规则公开。只要根据ASCII DXF文件格式的编码规则,是能够完整地读取图形文件的内容。但是DXF文件编码复杂,随着版本的升级,其内容也在不断变化。DWG 文件为二进制格式文件,可以根据DWG的数据结构分别读取各组成块。直接读取DWG文件具有速度快、不依赖AutoCAD环境的特点。但是,AutoCAD公司没有公开DWG文件的数据结构,跟DXF文件一样,图形数据结构也随这AutoCAD的升级而不断变化。自行编写读写代码,必须分析各版本图形文件结构,针对不同版本编写读写代码,工作量很大,对开发人员的要求较高,短期内无法实现。