ListBasedFeatureMerger
从一个特性(或多个特性)复制和合并属性/几何到另一个特性(或多个特性)。包含所需属性/几何图形的特性通过供应商端口,以及将接收属性/几何的特性通过请求者端口。
当指定的键时,Requestor特性与Supplier特性相匹配请求者列表属性(例如,'list{}.key')匹配指定的供应商属性参数(例如'supplierKey')。
的不完整的请求者参数指定是否在有键时将提供者合并到部分匹配的请求者请求者列表属性没有匹配的供应商。如果每个密钥都有一个备用要求功能,则被认为是完全匹配的请求者列表属性匹配一个或多个供应商特性。
合并请求者和供应商时,供应商的属性合并到请求者上。许多请求者可以使用单个供应商。许多供应商可以合并到单个请求者上。任何合并的几何保留弧,省略号和文本。
输入端口
从连接到的特性中接收新属性/几何供应商端口。
通过输入功能的新属性/几何源请求者端口。
输出端口
具有匹配供应商的请求者为指定的所有键请求者列表属性.换句话说,只有完全匹配的Requestors才输出到这个端口。
此端口用于标记为不完整的并保留了该标签的语义。因此,这个端口标签是'不完全可用'的速记。将部分匹配的请求者输出到此端口上,和所有匹配的供应商合并到输出特性,如果不完整的请求者被设置为合并供应商信息.如果一个键在请求者列表属性如果为空,则该键将不匹配任何供应商,因此,Requestor特性将输出到该端口。例如,如果Requestor键是:
{0}。关键= 1
{1}。关键=零> <
{2}。关键= 3
此外,还有供应商的'supplierKey'值为1、
合并到至少一个请求者上的供应商。
供应商做的不匹配任何请求者。如果一个供应商属性如果键值为空或缺失,则该特性将输出到此端口。
参数
变压器
输入特征可以用集团参数。如果你选择集团属性,那么只有当特性之间共享所选属性的公共值时,特性之间的引用才会被解析。
如果你不选择任何集团属性,所有特性一起处理。
如果您有多个Reader,典型的用法是按reader_id分组,以确保引用在正确的特性集内解析。
连接属性
备用要求功能上的列表属性,其密钥将与其匹配供应商属性在供应商的特性。
属性中的键与Supplier特性上的属性进行匹配请求者列表属性对于请求者功能。
指定如何执行Requestor和Supplier属性值之间的比较。如果自动的或者数字指定时,将尝试在比较属性值之前将它们转换为数字。如果数字转换失败,将使用字符串比较。
合并参数
为了生成完整的特性,通常需要结合所有与请求者匹配的供应商特性。这些选择是通过功能合并类型参数:
- 当功能合并类型参数是仅属性,然后,供应商属性将与使用指定的请求者功能的归属加入。供应商名称列表参数。
- 当功能合并类型参数是几何学,那么供应商就是包含几何图形的特性。注意Requestor将失去它以前的几何体。
- 当功能合并类型参数是属性和几何,那么来自供应商的几何和属性都连接到请求者特性。Requestor上的任何几何图形都将被覆盖。属性将使用供应商名称列表参数。
如果为一个给定的请求者找到了多个供应商,并且过程重复的供应商是不,然后首先通过后面输出后的每个供应商DuplicateSupplier端口,只有第一个供应商将与请求者匹配。
如果设置为是的,则重复的供应商都与相应的Requestor基于属性积累模式,并可以选择输出为Requestor的属性列表,使用指定的列表名称.使用指定的参数合并Supplier几何图形几何合并类型.
构建多边形:如果供应商只由多边形和甜甜圈多边形特征组成,则任何公共边界段将被删除。如果供应商包含至少一个非甜甜圈或非多边形特征,那么变压器将从供应商形成多边形和甜甜圈,并在设置请求者特征的几何形状之前连接供应商特征的连接线段。在这种情况下,如果创建了几个不相交的几何图形,则几何图形可能是一个聚合。
构建总量:转换器将创建供应商特性的几何集合。(如果只有一个供应商特性,那么Requestor几何体将是一个包含一个元素的聚合。)
从点构建线路:变压器将供应商特征点连接成线路。注意,在构建行时,引用的任何非点特性都将被忽略。
此参数控制部分匹配的Requestors的情况。
如果此参数设置为合并供应商信息,然后找到的供应商将被合并到Requestor上,然后通过NotMerged端口。所使用的供应商将通过引用端口。
如果此参数设置为不合并供应商信息,则Requestor将通过NotMerged端口和供应商将通过未引用端口。
属性积累
如果供应商和equestor功能上的属性共享相同的名称,但不是从中开始的几何属性fme_,那么他们被认为是矛盾的。
合并供应商:请求者特性将保留所有自己的无冲突属性,并额外获取供应商特性所拥有的任何无冲突属性。方法处理冲突的属性解决冲突参数。
前缀供应商: requestor特性将保留它自己的所有属性。此外,请求者将获得反映供应商特性属性的属性,名称前缀为前缀参数。
只使用供应商: requestor特性将删除其所有属性,除了以几何属性开始的属性fme_.然后,来自一个(任意)供应商特性的所有属性将被放置到请求者中。
使用请求者:如果发生冲突,将维护请求者值。
使用供应商:如果发生冲突,供应商的值将被转移到请求者。
不:像对待其他属性值一样对待空属性值。
是的:将null属性值视为不如其他属性值不那么重要。无论何种空值都合并为非空值,无论何种方式都要占用非空值解决冲突设置为。
笔记:请注意: Null和其他属性值总是比缺少的属性值更重要。也就是说,当一个属性值与缺失的属性值合并时,属性值应以该属性值为准,无论忽略null和解决冲突设置。
为了防止因为Requestor属性已经存在而忽略Supplier属性,您可以选择性地指定一个前缀,当每个Supplier属性被添加到Requestor时,这个前缀将被应用到每个Supplier属性。
当一个Requestor特性有多个Supplier特性时,多个Supplier属性值会合并到同一个前缀属性中。当多个Supplier特性具有相同的属性时,生成的属性值通常取自最后一个特性。但是,这个过程是由忽略null参数。
生成列表
如果有重复的供应商和一个列表名称,那么任何与Requestor结合的供应商都会将其属性添加到Requestor上的指定列表中。
笔记:属性列表不能从Workbench中的输出模式访问,除非首先使用对它们进行操作的转换器进行处理,例如list exploder.或者ListConcateator.下面的Transformer Help的Contents窗格中显示了所有列表属性Transformer列表.另外,AttributeExposer可以使用。
使用笔记
关系inlinequerier
Inlinequerier是ListBasedFeaturemerger的强大表征。虽然ListBasedFeatureMerger加入了两个数据集并使用简单的单个属性键来匹配功能,但Inlinequerier允许使用任何数量的输入数据集,在任意数量的表和列中使用SQL的全功率。此外,Inlinequerier允许其输入数据在单个变压器中多次重复使用,而如果要使用ListBasedFeatureMerger进行多个连接,则必须采用多个列表内脉冲精细学家并将其特征的副本寄出。另一方面,Inlinequerier有一些开销,用于加载底层的SQLite数据库。使用单个Inlinequerier而不是几个listbasedfeateremergers也简化了工作空间。
除非一个工作流中只需要一个listbasedfeaturemerge,否则InlineQuerier可能是一个更好的选亚搏在线择。通过使用一个正确配置的InlineQuerier替换listbasedfeaturemerge,使用多个级联listbasedfeaturemerge的旧工作区可能会体验到性能改进。
关系SQLCreator/SQLExecutor
如果要查询的所有数据已经存在于支持SQL的数据源中,则使用SQLCreator或SQLExecutor总是更有效的,因为这允许在它进入之前直接执行要执行的数据和过滤数据FME环境。
关系乔伊纳
关系FeatureMerger
这个转换器是一个非常特定的featuremerge实例,用于处理Requestor属性为列表的情况。如果requestor属性不是一个列表,那么featuremerge就是选择的转换器。
编辑变压器参数
使用一组菜单选项,可以通过引用工作区中的其他元素来分配变压器参数。一些变压器也可提供更高级的功能,例如高级编辑器和算术编辑器。要访问这些选项的菜单,请单击除适用的参数旁边。有关更多信息,请参阅变压器参数菜单选项.
变压器的分类
搜索FME知识中心
搜索关于这个变压器的样品和信息FME知识中心.
标签关键词:连接外键标签交叉引用“交叉引用”特征合并