FME转换器用法介绍之(FeatureMerger)

目录

@(FeatureMerger(要素合并))

一、定义

通过相同的属性值或者表达式来合并两个数据源的属性或图形。

二、如何工作

1、通过两个接口接收数据源,一个是Requestor,一个是Supplier:

  • Requestor(请求者):请求者将会合并新的属性或图形。
  • Supplier(提供者):提供者用于提供新的属性或图形。

2、通过相同的属性连接匹配。
通过参数窗口的 Join on 参数栏设置匹配属性。

2.1 举个栗子

假设我们有2个的表格,名字是主键,我们将通过名字进行关联。
FME转换器用法介绍之(FeatureMerger)
+
FME转换器用法介绍之(FeatureMerger)
=
FME转换器用法介绍之(FeatureMerger)

2.2 工作流

将2个表格分别连接到Requetor和Supplier上,设置好输出表格(属性模式选择”自动“,会自动读取所有的属性字段),将输出表格连接到Merged输出端口。

FME转换器用法介绍之(FeatureMerger)
| 输出端口 | 说明 |
| --- | --- |
| Merged | Requestor匹配上Supplier的记录会合并在一起然后输出 |
| UnmergedRequestor | 输出没有匹配上的Requestor的记录 |
| UsedSupplier | 输出被使用的Supplier记录 |
| UnusedSupplier | 输出没有被使用的Supplier记录 |
| Rejected | 输出被拒绝的记录,例如重复的记录 |

三、参数说明

3.1 参数设置

在 Join On 栏中设置Requestor和Supplier用于匹配的属性字段,可以是属性或者是表达式。
FME转换器用法介绍之(FeatureMerger)

3.2 重要参数详解

3.2.1. Group By(分组)

选择一个字段,将数据分组,然后Requestor和Supplier将根据相同的分组进行匹配,不会匹配到不同组的记录。
将数据进行分组后匹配能够提高转换器运行效率。

3.2.2. Feature Merge Type(合并模式)

  • Attributes Only: 只合并属性(根据在Attribute Accumulation中设定的属性合并规则合并)
  • Geometry: 只合并图形(如果同一记录下Request和Supplier都有图形,将会被Supplier的图形替换)
  • Attribute and Geometry: 合并属性和图形(属性根据Attribute Accumulation设定的规则合并,图形以Supplier为准)

3.2.3. Process Duplicate Suppliers(处理重复提供者)

如果不勾选,Requestor只会匹配到第一个匹配上的Supplier,其余重复的Supplier将会被拒绝,从Rejected端口输出。
如果勾选,重复的Supplier将会一起合并到Requestor中,但是属性任然只会使用第一个提供者的;多个提供者的图形则会以聚合或者重构的形式出现,用于替换请求者的图形。
PS:FME默认设置为遇到Rejected要素会中断运行,可以在导航栏中的Workspace Parameters>Translation>Rejected Feature Handing选项中切换Terminate Translation为Continue Translation,让FME遇到Rejectid要素会继续运行。

3.2.4. Attribute Accumulation(属性合并方式)

  • Merge Supplier: 合并提供者,在该模式下可以选择Conflict Resolution(冲突解决模式)。Use Requestor或Use Supplier,即属性发生冲突时使用请求者或提供者的属性。
  • Prefix Supplier: 前缀提供者,设置前缀后的提供者属性将与请求者的属性并列。
  • Only Use Supplier: 只使用提供者,抛弃请求者的所有属性,只使用提供者的属性。

3.2.5. Generate List(生成列表)

因为Merged端口只会输出Requestor端口输入的匹配记录,只会展示匹配到的第一条提供者信息,无法展示一对多的数据情况。如果存在一对多的对应关系,并且要将这种对应关系展示出来,那就需要生成列表。
勾选Generate List后需要指定列表名称,和生成列表的属性字段,可选All Attributes(全部字段)或Selected Attributes(选择字段)。
生成列表之后需要通过ListExploder(列表暴露)转换器将列表数据暴露出来。在ListExploder转换器中选择要暴露的列表名称,设置属性合并模式即可。

四、我的博客

想了解更多关于FME信息的可以关注一下我的个人博客:蓝线白框

上一篇:PAT甲级——A1090 Highest Price in Supply Chain


下一篇:FME转换器之(FeatureMerger)