FeatureMerger
从一个特性(或多个特性)复制和合并属性/几何图形到另一个特性(或多个特性)。包含所需的属性/几何特性是通过连接供应商端口和功能,将接收的属性/几何通过连接请求者端口。
当一个请求者找到供应商,从供应商的属性被合并请求程序。如果请求者已经有一个属性,它的供应商也有,请求者的该属性初始值可以根据参数设置保留或覆盖。单一供应商可以通过很多请求者使用。许多供应商可以合并到一个单一的请求程序。
任何合并几何保留圆弧,椭圆和文字。
属性名冲突时,可以选择使用解决冲突参数,NULL值是否通过使用遵循同样的行为忽略Null参数。
注意:在2013年和之前的FME中,合并时,请求者属性总是比供应商属性占主导地位,除了空属性值(用缺失的属性值表示),空属性值总是不那么占主导地位。
注意:在FME 2014年,请求者属性总是比供应商的属性更占优势时,他们被合并,包括空属性值(在FME 2014加空支持)。为了使空值少占主导地位的建议是删除与空值NullAttributeMapper。
注意:在2015年FME以后,用户现在可以选择请求或供应商是否属性应该通过参数更占优势解决冲突。用户现在还可以通过参数选择空值是否像其他属性值一样占主导地位忽略Null。
当在指定的每对密钥(其支持表达式)请求者设有匹配供应商的特征加入在表中有两个请求程序和供应商的功能相同的值。
输入端口
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
接收来自连接到所述的特征的新的属性/几何供应商端口。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
新的属性/几何的功能,通过输入源请求者端口。
注意,通过设置处理重复的供应商至是的时,可将多个供应商合并到每个请求者。这些供应商可能来自不同的来源(例如不同的数据库表)。看到关系DatabaseJoiner本文件末尾的章节。
输出端口
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
匹配一个供应商的请求者(或者可能的多个供应商,如果处理重复的供应商设定为是的).
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
请求者,不匹配任何供应商。如果一个加入在在请求者特性上键值为null或缺失,该特性被输出到该端口。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
被至少一个请求者发现的供应商。
注意:供应商仍可能通过,即使没有它的属性被合并了此端口输出。这可能发生,因为所有的属性已经出现在请求方或更早供应商都提供。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
供应商做的不匹配任何请求者。如果一个加入在关键是空或丢失对供应商的功能,该功能是输出到这个端口。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
如果处理重复的供应商是没有,然后重复的供应商将被拒绝。如果拒绝零和丢失的钥匙是是的,那么无钥匙功能将被拒绝。
参数
变压器
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
输入特性可以通过通过...分组参数。如果你选择的任何通过...分组属性,则只有当特性之间的引用共享所选属性的公共值时,才会解析特性之间的引用。
如果你不选择任何通过...分组属性,所有特征被一起处理。
如果您有多个阅读器,典型的用法是按reader_id进行分组,以确保在正确的特性集中解析引用。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
当启用该选项,变压器将承担所有的供应商将之前的任何请求者进入变压器。一旦第一请求者到达时,它会处理并输出请求器,因为他们进来。这些供应商将输出所有的请求者都已经被处理了。
注意:确保所有供应商在请求者之前到达是用户的责任。当启用此选项时,transformer将在收到第一个请求者时停止接受供应商。
加入在
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
指定从请求特征的表达,以配合供应商的功能表达。一个表达式可以是一个常量,属性值,函数或混合物。开头和结尾的空格字符从计算的表达式修剪。当所有的请求者表达式的修整值等于其相应的供应商表达的修剪值匹配制成。
通常,所有的供应商都有导致与请求者唯一匹配的表达式,任何重复的供应商都会被转换器忽略。然而,如果处理重复的供应商参数设置为是的,那么所有的供应商,其表达式匹配其对应的请求者表述将被合并到该请求者。
该比较模式列指定如何执行请求者和供应商属性值之间的比较。如果自动要么数字被指定,将尝试进行比较之前对属性值转换为数字。
合并参数
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
此参数指定要合并到完成的功能部件上的内容。的选择是:
- 当合并类型参数是属性只,则供应商属性将被连接到请求者特性的属性。
- 当合并类型参数是几何,那么供应商是包含几何特征。请注意,请求方将失去其原来的几何形状。
- 当合并类型参数是属性和几何,则两个几何形状,并从供应商属性连接到请求者的特征。请求者的任何几何形状将被覆盖。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
如果找到一个给定的请求者不止一个供应商,并处理重复的供应商是没有,则第一后,每供应商经由输出<拒绝>端口,只有第一个供应商将与一个请求者匹配。
如果设置为是的,则重复的供应商都与相应的请求者匹配,并基于属性积累模式,并可选地作为请求者的属性列表输出,使用指定的列表名称。供应商几何是使用指定合并几何合并类型。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
如果将此参数设置为是的,任何包含null或丢失联接键的请求者或供应商特性将立即通过<拒绝>端口。
如果将此参数设置为没有,空键和丢失的键被视为空字符串。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
指定如何重复的供应商合并到请求者。它仅适用功能合并类型指定合并几何图形。的选择是:
- 构建多边形:如果供应商只包含多边形和甜甜圈多边形的特点,任何共同的边界段将被删除。如果供应商包含至少一个非甜甜圈或非多边形特性,那么transformer将从供应商处形成多边形和甜甜圈,并在设置请求者特性的几何形状之前连接供应商特性的连接线段。在这种情况下,如果创建了多个不相交的几何图形,则几何图形可能是一个聚合。
- 构建骨料:transformer将创建供应商特性的几何图形的聚合。(如果只有一个供应商特性,那么请求者的几何形状将是一个元素的聚合。)
- 从点构建线:变压器将供应商特征点连接成线。注意,在构建行时,所引用的任何非点特性都将被忽略。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
当在2D(忽略Z)观察时,(其可以定义多边形的边界)的路径可能似乎被封闭,示于下面的左图。此相同的路径,在三维观看时,可能会出现如下面右图是打开的。
要指定如何(以及是否)在3D中关闭路径,请选择列出的模式之一。
模式 | 描述 | 例子 |
---|---|---|
延伸 | 曲线进行扩展,使得所有的顶点在其原始位置离开。 | ![]() |
平均 | 未连接,而是共享的x和y值的后续顶点被组合成一个顶点,其Z值是平均原来的两个的。 | ![]() |
第一胜 | 未连接,而是共享的x和y值的后续顶点被组合成一个顶点,其Z值从第一个遇到的顶点采取。 | ![]() |
最后胜利 | 未连接,而是共享的x和y值的后续顶点被组合成一个顶点,其Z值从最后遇到顶点采取。 | ![]() |
忽视 | Z值将被忽略。没有变更的节点连接的方式进行。 | ![]() |
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
定义将存储匹配到请求供应商数量的属性。
属性积累
如果供应商与请求者功能相同的名称属性,但并不几何形状与启动属性fme_,然后他们被视为冲突。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
合并供应商:请求者功能将保留自己所有的未发生冲突的属性,而将另外获得任何未冲突的属性,该供应商的功能了。这种模式将处理基础上的冲突属性解决冲突参数。
前缀供应商:请求者功能将保留自己所有的属性。此外,请求将收购反映了供应商要素的属性的属性,与前面带名字首参数。
只使用供应商:请求者功能将其所有属性去掉,除了几何属性与启动fme_。然后,所有从一个(任意的)的供应商的特征的属性将被放置到请求者。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
使用请求者:如果发生冲突,请求值将保持不变。
使用供应商:如果发生冲突,供应商的值将被转移到请求者。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
没有:像对待其他属性值一样对待空属性值。
是的:将NULL属性值比其他属性值不那么重要了。每当一个空值与非空值合并,非空值为准,不管是什么解决冲突设定为。
注意:空值和其他属性值总是比丢失的属性值占主导地位。也就是说,当一个属性值与一个丢失的属性值合并时,无论忽略Null和解决冲突设置。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
为了防止由于Requestor属性已经存在而忽略Supplier属性,您可以选择指定一个前缀,在将每个Supplier属性添加到请求者时应用该前缀。
当有一个请求程序特征的多个供应商的特点,多供应商的属性值都合并到同一个前缀属性。当多个供应商的功能具有相同的属性,一般得到的属性值是从最后的这些特点采取。然而,这个过程是由管辖忽略Null参数。
生成列表
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
如果有重复的供应商和a列表名称被指定,那么相结合,与请求程序的任何供应商将纷纷加入到对请求者指定列表及其属性。
注意:属性列表不能从工作台中的输出模式进行访问,除非首先使用对其进行操作的转换器(例如ListExploder要么ListConcatenator。所有列表属性变压器都显示在变压器帮助下的内容窗格列表。或者,AttributeExposer可以使用。
使用笔记
关系InlineQuerier
InlineQuerier是FeatureMerger的强大近亲。FeatureMerger连接两个数据集,并使用简单的单个属性键来匹配特性,而InlineQuerier则允许合并任意数量的输入数据集,使用SQL跨任意数量的表和列。此外,InlineQuerier允许其输入数据在单个转换器中多次重用,而如果要使用一个FeatureMerger进行多个连接,则必须使用多个FeatureMerger,并向每个转换器发送特性的副本。另一方面,对于InlineQuerier来说,加载底层SQLite数据库会有一些开销。使用一个InlineQuerier而不是几个FeatureMergers也可以简化工作空间。
除非需要在工作流只有一个FeatureMerger,该InlineQuerier可能是一个更好的选择亚搏在线。多级联FeatureMergers较早的工作区可以通过一个单一的正确配置InlineQuerier更换FeatureMergers体验到性能的改善。
关系SQLCreator/SQLExecutor
如果要查询的所有数据已经存在于一个支持sql的数据源中,那么使用SQLCreator或SQLExecutor总是更有效,因为这允许数据库在数据进入FME环境之前直接执行查询和过滤。
关系DatabaseJoiner
DatabaseJoiner将输入特性合并到来自单一其他来源的特性。因为可以有多个连接到FeatureMerger供应商港口,供应商可能来自不同的来源,并有不同的归属,并通过设置处理重复的供应商至是的中,FeatureMerger基本上可以用于执行多个表连接。
该FeatureMerger也能使用在呼入功能进行一定的几何操作其合并类型参数。FeatureMerger确实在内存中的所有连接,以便它可以比DatabaseJoiner更快,如果你有相同的数据不止一个关系。
关系ListBasedFeatureMerger
ListBasedFeatureMerger是FeatureMerger的指定用例。如果您想加入请求者的list属性,应该使用它。
关系匹配
匹配器,通过其SingleMatched输出端口,能够以几何图形为键进行多特征合并。这是对FeatureMerger的补充,后者只接受属性,而不接受作为键的几何图形。
例子
编辑变压器参数
使用一组菜单选项,变压器参数可以通过引用在工作区中的其它元件来分配。更先进的功能,如高级编辑,算术编辑,也是一些变压器可用。要访问这些选项的菜单,点击适用的参数旁边。欲了解更多信息,请参阅变压器参数菜单选项。
变压器分类
搜索FME知识中心
搜索样品和有关该变压器的FME知识中心。
标签关键词:级联外键标签交叉引用“交叉引用” FeatureMerger ReferenceResolver