从CAD到GIS的数据转换研究_张丽娟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从CAD到GIS的数据转换研究
张丽娟 赵博 蒋党辉
(陕西天润科技有限责任公司 陕西西安 710054)
摘 要:由于CAD与GIS的数据在结构上存在较大的差别,这使得CAD数据不能很好地满足GIS用户的需求;而目前大多数城市的基础地理数据是以CAD的数据格式存在的,所以大批量的数据转换变得尤为必要。主要介绍了目前进行CAD到GIS数据转换的几种方法,并结合克拉玛依市国土资源局实际,采用FME和SuperMap Object二次开发方式相结合实现了克拉玛依市基础地形图的CAD到SuperMap的数据批量转换。
关键词:CAD GIS FME SuperMap Mapinfo 数据转换
1 引言
数据是地理信息系统分析和处理的对象,也是构成地理信息系统应用的基础。数据质量和数据共享是地理信息系统发展和应用的瓶颈问题。目前大多数城市的基础地理信息数据是以AutoCAD的数据格式存储的,虽然AutoCAD在图形处理上功能较强,但它在对空间数据信息的描述和分析上还需完善,而GIS在空间信息方面发挥着巨大的作用,能对空间数据进行建模、分析和管理。如果我们将已有的AutoCAD数字地形图作为GIS数据库建立数字化形式的基础数据源,充分利用现有的数字地形图,可以更高效地建立城市基础地理信息数据库。所以,CAD 数据向GIS的批量转换成了一个亟待解决的问题。本文在结合克拉玛依市国土资源局实际的情况下,深入探讨了CAD到SuperMap的数据转换实现过程。
2 CAD到GIS数据转换方法
数据转换包含两方面:一是数据是否可以从现有CAD格式数据转换到GIS格式数据,保证其几何空间要素一致性;二是数据是否可以从现有的标准和成图方式,包括数据的分层、编码、封闭、接边、符号显示等,无损地转换到新的分层结构标准和成图方式,并增加GIS数据要求的属性结构和内容。
目前,CAD到GIS的数据转换归纳起来主要有以下几种方法:
(1)采用第三方数据处理软件,如FME
FME是由加拿大Safe Software公司研发的一套完整的访问空间数据的解决方案,可以用于读、写、存储和转换各种空间数据。它有非常强大的功能,支持近百种GIS及CAD格式数据间的相互转换,并能够同时进行几何数据及其属性的无损转换,也可以实现自主扩展需要转换的数据格式,让用户添加自己定义的数据格式,与其他数据格式进行转换。采用FME转换有一般两种方式:一种是采用FME Universal Translator自动转换,它在数据的转换中不需要改变其结构和形状的情况下是非常有用的;另外一种是采用FME Workbench自定义数据转换,其转换过程比较复杂,需要创建工作区,解决工作区中的问题和创建自定义格式和各种参数。这种方法的优点是方便快捷、效率高,缺点是对CAD 原数据要求较高。
(2)利用软件的数据转换模块
现在大部分GIS软件都提供了数据格式转换功能,如ArcGIS的ArcTool中的Conversion Tools 模块可以将一幅CAD图转换成Geodatabase模型中的文件地理数据库(File Geodatabase);MapGIS可转入AutoCAD数据的交换格式*.dxf文件;SuperMap DeskPro支持导入AutoCAD的*.dwg格式、*.dxf格式数据。但是由于CAD软件在数据存储、图元定义、管理风格等方面同GIS软件的差别以及用户特定需求,格式转换的效果和操作的灵活性不尽如人意,往往不能一步到位,主要表现在数据组织、拓扑关系及属性、符号表达和坐标系统等方面。
(3)编程实现
若有大量的CAD图件需要转换成GIS数据时,每次都要重复大量的转换操作以及转换前后处理,较为繁琐且效率有限。因此,可利用编程的方式实现数据转换,达到操作简单化的目的,且用户可灵活定制。主要分两种实现方法:一是利用软件提供的数据转换的二次开发接口实现;二是采用某种编程语言首先读取CAD原数据文件,提取原数据文件中的图形信息与属性信息,然后写入到目标文件中。这种方法的优点是用户定制方便灵活,缺点是功能单一,程序开发量大。
3 基于FME和SuperMap Object的CAD到SuperMap 的数据转换
SuperMap提供的导入CAD数据方式有三种:一种是将CAD类型数据导入成复合数据集(以CAD数字线划图的形式表示),其结果就是将原数据格式的各图层上所有内容全部合并导入到一个复合数据集里;
另一种是将CAD 类型数据导入成的简单数据集(以点、线、面、注记的形式表示),其结果是将原数据格式文件中的各图层同类型的图形对象分别合并导入成一个相应类型的数据集;还有一种是将CAD 数据中指定的图层,按简单数据集的形式导入到GIS 中。
若要把CAD 数据转为SurperMap 格式的GIS 数据,原CAD 文件有多少个图层,就需要转换多少次,且转换过程还要进行图层的合并。以上转入方式对于普通工作人员大批量的数据转入来说过于复杂,工作量太大,而且容易出错。因此笔者考虑先将原CAD 数据转为某种GIS 数据作为中间格式,再导入中间格式GIS 数据。考虑到SuperMap 可直接导入Mapinfo 格式数据,且数据组织方式较接近,于是采用Mapinfo 格式数据作为中间格式数据。图1为从CAD 到SuperMap 数据转换的流程图,图2为转换中的数据分层组织结构图。
(1)利用FME 将CAD 数据转为Mapinfo 数据 ①根据CAD 数据属性编码表和SuperMap 属性编码表建立CAD 数据与Mapinfo 数据间的对照关系,可以Excel 表形式存储,如表1
所示。
图
1 转换流程图
图2 数据分层组织结构图
其中,“实体名称”、“实体编码”、“图层”、“颜色”、“线型/名称”表示CAD 数据对应的信息,“SuperMap 代码”、“SuperMap 图层”表示转换后对应的SuperMap 编码和所在图层信息。利用FME 进行
转换时主要是根据CAD 数据的实体编码进行识别区分的,因此必须保证原CAD 的每个要素都有编码信息,且编码信息与对照表相对应,可通过FME Universal Viewer 查看原CAD 图的属性信息,编码