FeatureMerger
从一个特性(或多个特性)复制和合并属性/几何图形到另一个特性(或多个特性)。包含所需属性/几何形状的特性通过供应商端口和将接收属性/几何图形的特性通过请求者端口。
当请求者发现供应商时,供应商的属性与请求者合并。如果请求者已经有了一个与供应商相同的属性,则可以保留或覆盖请求者该属性的原始值,具体取决于参数设置。一个供应商可能被许多请求者使用。许多供应商可以合并到一个请求者。
任何合并的几何图形都保留弧、椭圆和文本。
属性名冲突时,您可以选择使用解决冲突参数,以及空值是否遵循相同的行为忽略null参数。
注意:版本说明:在2013年和之前的FME中,当合并请求者属性时,请求者属性总是比供应商属性更占主导地位,除了null属性值(由缺失的属性值表示)之外,其他属性值总是不那么占主导地位。
注意:在FME 2014中,当合并请求者属性时,请求者属性总是比供应商属性占主导地位,包括null属性值(在FME 2014中添加了null支持)。要使空值不那么占主导地位,建议使用NullAttributeMapper。
注意:在2015年及以后的FME中,用户现在可以通过参数选择请求者属性还是供应商属性更重要解决冲突。用户现在还可以通过参数选择空值是否与其他属性值一样占主导地位忽略null。
属性中指定的每对密钥(支持表达式)匹配供应商特性加入在对于请求者和提供者特性,表具有相同的值。
输入端口
从连接到的特性中接收新属性/几何图形供应商端口。
属性输入的新属性/几何图形的来源请求者端口。
注意,通过设置过程重复的供应商来是的,每个要求者可与多个供应商合并。这些供应商可能来自不同的来源(例如不同的数据库表)。看到乔伊纳的关系在本文件结尾部分。
输出端口
请求者匹配一个供应商(或者可能多个供应商,如果过程重复的供应商被设置为是的)。
请求者,不匹配任何供应商。如果一个加入在请求者特性上的键值为空或缺失,该特性将输出到此端口。
至少被一个请求者发现的供应商。
注意:一个供应商仍然可以通过这个端口输出,即使它的属性没有被合并。之所以会出现这种情况,是因为所有的属性都已经出现在请求者中,或者是由以前的供应商提供的。
供应商做的不匹配任何请求者。如果一个加入在在供应商特性上的键值为空或缺失,该特性将输出到此端口。
供应商的特点与之相同加入在表达式值作为较早的供应商特性。请注意,只有在以下情况下才会输出重复的供应商过程重复的供应商被设置为没有。如果过程重复的供应商被设置为是的,然后重复的供应商将输出通过引用端口。
参数
变压器
输入特性可以通过集团参数。如果你选择集团属性,则只有当特性之间的引用共享所选属性的公共值时,才会解析特性之间的引用。
如果你不选择任何集团属性,所有特性一起处理。
如果您有多个阅读器,典型的用法是按reader_id进行分组,以确保在正确的特性集中解析引用。
当启用此选项时,转换器将假定所有供应商将先于任何请求者进入转换器。一旦第一个请求者到达,它将处理并输出请求者。处理完所有请求后,将输出供应商。
注意:确保所有供应商在请求者之前到达是用户的责任。当启用此选项时,transformer将在收到第一个请求者后停止接受供应商。
加入在
从请求者特性指定与供应商特性表达式匹配的表达式。表达式可以是常量、属性值、函数或混合。从求值表达式中裁剪前导和尾随空格字符。当所有请求者表达式的修剪值等于它们对应的供应商表达式的修剪值时,将进行匹配。
通常,供应商都有导致与请求者的唯一匹配的表达式,任何重复的供应商都被转换器忽略。然而,如果过程重复的供应商参数设置为是的,则所有其表达式与相应的请求者表达式匹配的供应商将被组合到该请求者上。
的比较模式列指定如何执行请求者和供应商属性值之间的比较。如果自动或数字如果指定,则将尝试在比较属性值之前将其转换为数字。
合并参数
此参数指定要合并到已完成的功能部件上的内容。的选择是:
- 当合并类型参数是属性只,则供应商属性将被连接到请求者特性的属性。
- 当合并类型参数是几何,则供应商是包含几何图形的特性。请注意,请求者将丢失它以前的几何图形。
- 当合并类型参数是属性和几何,然后来自供应商的几何图形和属性都被连接到请求者特性。请求者上的任何几何图形都将被覆盖。
如果为给定的请求者找到多个供应商,并且过程重复的供应商是没有,则第一个供应商之后的每个供应商都是通过DuplicateSupplier端口,只有第一个供应商将与一个请求者匹配。
如果设置为是的,则重复的供应商都与相应的请求者匹配,请求者合并基于的属性属性积累模式,并可选地作为请求者的属性列表输出,使用指定的列表名称。使用指定的工具合并供应商几何图形几何合并类型。
如果将此参数设置为是的,任何包含null或丢失连接键的请求者特性将立即输出到NotMerged端口。同样,包含空或缺少任何供应商的功能连接键将立即输出到未引用端口。
如果将此参数设置为没有,空,丢失的钥匙被当作空字符串。
指定如何重复的供应商合并到请求者。它仅适用功能合并类型指定要合并的几何形状。的选择是:
- 构建多边形:如果供应商只包含多边形和甜甜圈多边形特征,任何共同的边界段将被删除。如果供应商包含至少一个非甜甜圈或非多边形特征,则转换器将从供应商处形成多边形和甜甜圈,并在设置请求者特征的几何形状之前连接供应商特征的连接线段。在这种情况下,如果创建了多个不相交的几何图形,则几何图形可能是一个聚合。
- 构建总量:transformer将创建供应商特性的几何图形的聚合。(如果只有一个供应商特性,那么请求者的几何形状将是一个包含一个元素的聚合。)
- 从点构建线:变压器将供应商的特征点连接成线。注意,在构建行时,所引用的任何非点特性都将被忽略。
当在2D(忽略Z)观察时,(其可以定义多边形的边界)的路径可能似乎被封闭,示于下面的左图。此相同的路径,在三维观看时,可能会出现如下面右图是打开的。
指定如何(和如果)路径应在三维被关闭,选择所列出的模式中的一个。
模式 | 描述 | 例子 |
---|---|---|
扩展 | 对曲线进行扩展,使所有顶点都保留在其原始位置。 | |
平均 | 没有连接但共享x和y值的后续顶点合并为一个顶点,其Z值为原始两个顶点的平均值。 | |
第一次赢了 | 没有连接但共享x和y值的后续顶点合并为一个顶点,其Z值取自第一个遇到的顶点。 | |
最后赢了 | 没有连接但共享x和y值的后续顶点合并为一个顶点,其Z值取自最后遇到的顶点。 | |
忽略 | Z值被忽略。没有对节点连接的方式进行任何更改。 |
定义将存储匹配到请求供应商数量的属性。
属性积累
如果供应商和请求者特性上的属性共享相同的名称,但不是以几何属性开头的fme_,那么他们就被认为是矛盾的。
合并供应商:请求者功能将保留自己所有的未发生冲突的属性,而将另外获得任何未冲突的属性,该供应商的功能了。这种模式将处理基础上的冲突属性解决冲突参数。
前缀供应商:请求者功能将保留自己所有的属性。此外,请求将收购反映了供应商要素的属性的属性,与前面带名字首参数。
只使用供应商:请求者功能将其所有属性去掉,除了几何属性与启动fme_。然后,所有从一个(任意的)的供应商的特征的属性将被放置到请求者。
使用请求者:如果发生冲突,请求值将保持不变。
使用供应商:如果发生冲突,供应商的值将被转印到请求者。
没有:把空的属性值像其他的属性值。
是的:将NULL属性值比其他属性值不那么重要了。每当一个空值与非空值合并,非空值为准,不管是什么解决冲突设定为。
注意:请注意:NULL和其他属性值总是比缺少属性值的更占优势。也就是说,只要一个属性值合并缺少的属性值,属性值为准,而不管忽略null和解决冲突设置。
为了防止被忽略,因为请求者属性已经存在一个供应商的属性,可以选择指定时,它被添加给请求将被应用到每个供应商属性的前缀。
当有一个请求程序特征的多个供应商的特点,多供应商的属性值都合并到同一个前缀属性。当多个供应商的功能具有相同的属性,一般得到的属性值是从最后的这些特点采取。然而,这个过程是由管辖忽略null参数。
生成列表
如果有重复的供应商和列表名称被指定,那么相结合,与请求程序的任何供应商将纷纷加入到对请求者指定列表及其属性。
注意:属性列表不从工作台的输出模式访问的,除非它们正在使用对它们进行操作的变压器,例如第一处理ListExploder或ListConcatenator。所有列表属性变压器都显示在变压器帮助下的内容窗格列表。或者,AttributeExposer可以使用。
使用笔记
关系InlineQuerier
除非工作流中只需要单个功能块,否则InlineQuerier可能是更好的选择。亚搏在线具有多个级联特性的旧工作空间可以通过使用一个正确配置的InlineQuerier来替换这些特性,从而获得性能改进。
关系SQLCreator/SQLExecutor
如果要查询的所有数据已经存在于一个支持sql的数据源中,那么使用SQLCreator或SQLExecutor总是更有效,因为这允许数据库在数据进入FME环境之前直接执行查询和过滤。
关系乔伊纳
Joiner将输入特性合并到来自单一其他来源的特性。因为可以有多个连接到FeatureMerger供应商港口,供应商可以来自不同的来源,有不同的属性,并通过设置过程重复的供应商来是的实际上,FeatureMerger可以用来执行一个多表连接。
FeatureMerger还能够使用its对传入的特性执行某些几何操作合并类型参数。FeatureMerger在内存中执行所有连接,因此如果同一数据上有多个关系,它可以比Joiner更快。
关系ListBasedFeatureMerger
ListBasedFeatureMerger是FeatureMerger的指定用例。如果您想加入请求者的列表属性,应该使用它。
关系匹配器
匹配器,通过其SingleMatched输出端口,能够以几何图形为键进行多特征合并。这补充了特性uremerger,它只接受属性,而不接受几何图形作为键。
例子
编辑变压器参数
使用一组菜单选项,可以通过引用工作空间中的其他元素来分配transformer参数。更高级的功能,如高级编辑器和算术编辑器,也可以在一些转换器中使用。要访问这些选项的菜单,请单击在可适用的参数旁边。有关更多信息,请参见变压器参数菜单选项。
变压器的分类
搜索FME知识中心
有关此变压器的示例和信息,请参阅FME知识中心。
标签关键词:串级外键标签交叉引用“交叉引用”特性