利用FME实现CAD数据向Shape数据的无损转换
CAD数据与Shape数据在格式转换方面的一些显著特点,我在前面一篇文章中已经写过,在此就不再赘述。下面是CAD数据向Shape数据转换得注意几个问题及其解决方法:
1、Shape数据只有点、线、面三种要素层,没有注记图层,CAD数据的注记如何处理?
解决方案:在Shape中用点要素来存放CAD的注记内容,然后在ArcGIS中以“标注要素”的形式显示出来。符号可能不太美观,编辑符号颜色为无色,符号大小尽可能小,让它肉眼看不见,这样就美观了。
2、由于Shape数据都是以“骨架线”形式存在,不能附带地物符号,因此CAD数据的一些线型、颜色、线宽等信息会丢失?
解决方案:在Shape数据中,建立相应的字段来保存数据原来的符号信息,到ArcGIS中,再根据这些附带信息进行配图,即可达到目的。
3、CAD数据中的圆弧要素如何处理?
解决方案:转换时,将圆弧作为线要素进行转换。
以上三个问题都已解决,就可以搭建转换模板了。根据实际工作的需要,来决定转换的具体精度。本次转换的数据以某市城市利用图中的一个图层为例,需要将CAD数据带拓展属性、注记内容一起转换。
在CAD中查看其状态,如图1;查看其拓展属性,如图2;右键单击其中一个要素还可以查看其特性信息:
图1 在CAD编辑区查看
图2 查看其拓展属性
在FME Workbench中创建转换模板如下:
图3 搭建转换模板
模板说明:
1、在读模块中添加源CAD数据带注记的线图层;写模块为两部分,线要素写模块用来转换CAD数据的线要素,点图层用来存放CAD数据的注记内容。
2、用GeometryFilter转换器来进行数据分类,根据需要暴露相应的属性。如注记颜色、字体、字号等属性,如下图4所示:
图4 暴露注记相关属性字段
3、根据图2显示的拓展属性列表,在AttributeExposer转换器中暴露这些属性,如图5所示:
图5 暴露拓展属性字段
同时在写模块的“用户属性”中,建立对应的属性字段,来接收数据。设置好相关路径,开始转换。转换的结果在ArcGIS中查看效果如下图6所示:
图6 在ArcGIS中查看转换结果
可以看到要求转换的属性、符号信息都已经转换过来。