原文发布时间:2013-09-16
作者:琴之音
作为初来乍到的我,对FME的了解还不是很深入,于是我仅把FME各个模块的功能及应用做一些简单介绍,以及对读模块参数的理解做一个总结吧。
FME是可以对空间和非空间数据进行相互转换的、支持海量数据的、可批量处理的、集合ArcGIS数据分析功能的,是一款强大的数据转换软件,解决各个行业之间的数据衔接问题,应用领域非常广泛,常应用于国土、资源、建筑、规划、机械、信息等行业部门。
对于FME来说,读模块的使用是最频繁也是最多的,因为我们首先要将数据进行读取和查看才能够知道数据的结构、格式特点和图形内容,然后才会选择应用FME的400多个转换器进行数据结构和内容的转换。然而,Autodesk AutoCAD DWG/DXF格式数据时公认广泛应用的数据,所以对数据参数的理解是很有必要的。通过在FME Universal Viewer中打开dwg数据,然后点击Parameters设置各个参数来理解。
在读模块的参数设置里对dwg格式数据的读取方式进行控制,以上设置表示我仅通过数据的几何类型读取个数据图层,将块类型数据打散,并融合数据颜色,这是比较常用的几个选项。下面是对每个参数的理解概要:
1. Group entity by框
Layer name表示对dwg文件的图层进行分组读取;
Geometry表示通过几何类型进行读取;
Attribute Schema表示按源数据集定义的图层模式生成. 图层将用于创建以图层名称分组的FME要素类; 但是, 所有实体的属性将属于一个图层将被累计和添加到该层FME要素类中.
2. Expand Block into Entities框表示打散实体,并返回一些块的组成部分, 将输出每个组成 AutoCAD 块实体定义的组成部分. 原始插入不会输出. 块参照的全图形通过FME的表现结果, 会遗失块的精确插入点.每个块要素都会给定一个属性 autocad_block_number ,其设置相同的值保证每个块要素的组成部分.允许任意块的相互嵌套, 但是,autocad_block_number 属性只会更新每个块的最外层部分. 默认情况下所有块成员都会与原始块在同一图层.
Use block feature type for component表示当读模块解析块时,它会为每个定义块的AutoCAD实体输出一个要素。当选择时,该参数表明所有的块记忆将在原始块中的相同层的要素类上如果没有选择,块记忆将出现在它们各自的要素类层上。
Use block layer information for component表示当读模块解析块时,它会为每个定义块的AutoCAD实体输出一个要素。当选择时,该指令表明所有的块记忆将在原始块中的相同层的要素类上,如果不选择,块记忆将带有与之相关的层信息。
Store insert Location on component表示当解析(或打散)插入实体时,读模块会将插入点位置增加到块组件实体的属性中。
3. Entity options框下
Resolve Entity Color是将融合实体的颜色为一种,或者直接融合为图层的颜色。
Read Visible Attributes as Text Entity表示将所有可见的属性转化为文本型的要素。
Explode MText Entities指会将MText 实体爆炸为单个的Text 实体。
Read Polylines as 2.5D指将等高线的高程值作为Z坐标,进行2.5维度的显示。
Preserve Complex Hatches and MPolygones是指保护这两个复杂的属性,选择后将会把这些实体绑定在一起,作为套装的环。
Read Groups是指将读取AutoCAD的组数据。
Evaluation Multi_Line Entity Geometry决定是否评估Multi_Line 实体几何类型的数据。
4. Paper Space框下的Read Paper Space表示FME将在PaperSpace下读取实体,默认的还是在Modle Space下读取实体。
5. User Coordinator System框下的Ignore UCS 表示读数据文件时不考虑他们的坐标系统。
6. Apply World File是针对ESRI World file(*.wld),要在数据集指定文件下决定要素的坐标系统。
7. Schema Attributes框下的Additional Attribute to Expose是指将数据的格式属性作为动态的属性显示在工作空间当中。
8. Use Search Envelope表示你定义一个范围来限定读取实体,符合的才读取,不符合的就舍去,
9. Clip to Search Envelope表示将指定范围的部分切割掉。
10. Store Layer Properties On Feature就是指将层属性赋给要素,如autocad_layer_linetype, autocad_layer_color, and autocad_layer_lineweight等格式属性。
General Parameters是描述要素类的名称,允许的几何类型,数据集,和数据用户名,也可以通过属性值进行要素合并操作。
User Attribute是要素类的主要属性,即在原格式下用户对要素实体自定义的属性值。
Format Attributes包括源数据格式属性,fme格式属性。
通过以上属性和参数我们可以了解数据在转换过程中的变化以便我们更好的控制和管理各种转换过程和结果。
这里我门将看到dwg数据包含的所有几何类型,在不知道数据到底是由哪些几何类型决定的情况下,我们先全选中,然后再工作空间里面去检查数据。但是最好还是先在FME Universal Viewer直接打开数据集查看它的几何类型到底有哪些,然后再在FME WorkBench中打开进行转换。
运行第一个几何类型的数据模块之后我们可以看到结果是没有一个要素,再检查下一个,
表示输出了5410个弧段到shape文件里。然后我们看一下原始图层数据:
我尝试了一下将cad数据转换成shape格式,使用通用模板创建工作空间,可以发现一个cad文件下有多个图层,属于文件型数据,且一个图层可包含多种几何类型,如点、线、面、块、文本、立方体、椭圆等,所以需要用geometryfilter转换器将各图层根据各种要素类型分在shape格式下的不同类型要素类里面,点、线、面及空间属性表,即可完成转换。