你在这里: 属性 > 列表分解器

列表分解器

将每个输入特性上的每个列表成员分解为它自己的特性。

将列表中的任何属性复制为特性输出的非列表属性。此外,原始列表中属性的元素号被添加到特性中。每个特征的输出都有来自原始输入特征的几何图形副本。

输入端口

输出端口

参数

属性积累

在某些情况下,功能的非列表属性可以与ListExploder生成的属性共享相同的名称。例如,考虑具有非列表属性的功能长度列表属性somelist { 0 } . length,somelist { 0 } .kind,somelist { 1 } . length,somelist {1} .kind,……如果somelist爆炸,该特性可能包含两个长度属性-一个来自原始,非列表属性,一个来自somelist属性列表。如果生成的属性与特征的原始属性同名,非列表属性,但不是一开始的几何属性fme_,它们被认为是矛盾的。

使用以下参数指定输出特性上保留哪些属性,以及在发生冲突时维护哪个属性的值。

使用笔记

  • 如果输入属性和列表元素属性具有相同的名称,的输入属性将被列表元素属性覆盖。
  • list爆破手将不工作与一个无效的列表,比如不从第0项开始。例如:
有效列表 无效的列表
我的列表0.属性1 mylist {1} .attr1
mylist {1} .attr1 mylist {2} .attr1
mylist {2} .attr1 mylist {3} .attr1
mylist {3} .attr1 mylist {4} .attr1

例子

示例1:

如果此功能进入此变压器:

SomeList 0.长度=7.3

somelist{0}.kind = 'paved'

SomeList 1.长度=8.4

somelist{1}.kind = 'smooth'

someList 1.lanes=2

SomeList 2.长度=1.1

somelist{2}.kind = 'rough'

another_attr = 'something else'

然后,假定指定的列表名为somelist {},索引属性为element_num,和积累模式参数设置为合并列表属性,第一个返回的特性如下所示:

长度= 7.3

类型=“铺”

element_num = 0

another_attr = 'something else'

如果积累模式参数设置为仅使用列表属性,第一个返回的特性如下所示:

长度= 7.3

类型=“铺”

element_num = 0

示例2:

假设你有一个输入具有以下6个属性的特性。(属性列表这里用的是身份证)。

姓名

类型

{ 0 } .dec ID

ID 0.hex

ID 1 12月

ID 1.hex

合并列表属性将生成具有4个属性的元素:

姓名

类型

12月

十六进制

仅使用列表属性将生成具有两个属性的元素:

12月

十六进制

编辑变压器参数

使用一组菜单选项,可以通过引用工作区中的其他元素来分配transformer参数。更先进的功能,例如高级编辑器和算术编辑器,也可在一些变压器。要访问这些选项的菜单,点击除适用参数外。有关更多信息,看到变压器参数菜单选项

变压器的分类

属性

额外的资源

搜索FME知识中心

在上搜索有关此变压器的示例和信息FME知识中心