FME转换器 要素合并(FeatureMerger)

FeatureMerger(要素合并)

  • 0 定义
  • 1 如何工作
    • 1.1 举个栗子
    • 1.2 工作流
  • 2 参数说明
    • 2.1 参数设置
    • 2.2 重要参数详解
      • 2.2.1. Group By(分组)
      • 2.2.2. Feature Merge Type(合并模式)
      • 2.2.3. Process Duplicate Suppliers(处理重复提供者)
      • 2.2.4. Attribute Accumulation(属性合并方式)
      • 2.2.5. Generate List(生成列表)
  • 3 我的博客

0 定义

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

1 如何工作

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

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

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

1.1 举个栗子

假设我们有2个的表格,名字是主键,我们将通过名字进行关联。
FME转换器 要素合并(FeatureMerger)_第1张图片
+
FME转换器 要素合并(FeatureMerger)_第2张图片
=
FME转换器 要素合并(FeatureMerger)_第3张图片

1.2 工作流

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

FME转换器 要素合并(FeatureMerger)_第4张图片

输出端口 说明
Merged Requestor匹配上Supplier的记录会合并在一起然后输出
UnmergedRequestor 输出没有匹配上的Requestor的记录
UsedSupplier 输出被使用的Supplier记录
UnusedSupplier 输出没有被使用的Supplier记录
Rejected 输出被拒绝的记录,例如重复的记录

2 参数说明

2.1 参数设置

在 Join On 栏中设置Requestor和Supplier用于匹配的属性字段,可以是属性或者是表达式。
FME转换器 要素合并(FeatureMerger)_第5张图片

2.2 重要参数详解

2.2.1. Group By(分组)

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

2.2.2. Feature Merge Type(合并模式)

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

2.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要素会继续运行。

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

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

2.2.5. Generate List(生成列表)

因为Merged端口只会输出Requestor端口输入的匹配记录,只会展示匹配到的第一条提供者信息,无法展示一对多的数据情况。如果存在一对多的对应关系,并且要将这种对应关系展示出来,那就需要生成列表。

勾选Generate List后需要指定列表名称,和生成列表的属性字段,可选All Attributes(全部字段)或Selected Attributes(选择字段)。

生成列表之后需要通过ListExploder(列表暴露)转换器将列表数据暴露出来。在ListExploder转换器中选择要暴露的列表名称,设置属性合并模式即可。

3 我的博客

想了解更多关于FME信息的可以关注一下我的个人博客:蓝线白框(https://www.luojunpeng.com)
打不开的话请戳这里:博客地址

你可能感兴趣的:(FME)