将每个输入特性上的每个列表成员分解为自己的特性。
列表中的任何属性都将被复制为特性输出的非列表属性。此外,原始列表中属性的元素号被添加到特性中。每个特征的输出都有一个来自原始输入特征的几何副本。
包含列表成员的特性。
如果在输入特性中找到列表,则将基于积累模式通过这个端口输出。
如果在输入特性中没有找到列表,则该特性将通过该端口输出,而不进行处理。在这种情况下积累模式参数将不会被应用,转换器将在不处理它的情况下传递该特性。
这个转换器将分解的列表的名称。
如果元素索引属性,然后将给每个元素特性输出一个包含元素列表位置的属性。
在某些情况下,特性的非列表属性可能与ListExploder生成的属性共享相同的名称。例如,考虑一个具有非列表属性的特性长度还有一个列表属性somelist {0} . length,somelist {0} .kind,somelist {1} . length,somelist {1} .kind,……如果somelist爆炸,功能可以包含两个吗长度属性—一个来自原始的非列表属性,一个来自somelist属性列表。如果生成的属性与特性的原始属性同名,则非列表属性,但不是以fme_,它们被认为是矛盾的。
使用以下参数指定在输出特性上保留哪些属性,以及在发生冲突时维护哪些属性的值。
合并后的属性列表:该特性保留其所有不冲突的属性,并额外获取转换器生成的任何不冲突的属性。方法处理冲突的属性解决冲突参数。
前缀列表属性:该特性保留其自身的所有属性。此外,该特性获取由转换器生成的属性,其名称前缀为前缀参数。
只使用列表属性:所有特性的属性被删除,除了几何属性开始fme_.然后,该特征获取从爆炸列表属性中生成的所有属性和相关值。
使用原始属性值:如果发生冲突,保持原始的非列表属性的值。
使用列表属性值:如果发生冲突,将生成的属性值转移到原始的非列表属性上。
如果积累模式参数设置为前缀列表属性,此值前缀添加到特性的属性。
有效的列表 | 无效的列表 |
mylist {0} .attr1 | mylist {1} .attr1 |
mylist {1} .attr1 | mylist {2} .attr1 |
mylist {2} .attr1 | mylist {3} .attr1 |
mylist {3} .attr1 | mylist {4} .attr1 |
如果这个特性进入这个变压器:
somelist {0} . length= 7.3
somelist {0} .kind= ’paved’
somelist {1} . length= 8.4
somelist {1} .kind= ’smooth’
somelist{1}。车道= 2
somelist{2}。长度= 1.1
somelist{2}。类型=“粗糙”
other_attr = ' something else '
然后,假定指定的列表名为somelist {},索引属性为element_num,积累模式参数设置为合并后的属性列表,返回的第一个特性如下:
长度= 7.3
类型=“铺”
element_num = 0
other_attr = ' something else '
如果积累模式参数设置为只使用列表属性,返回的第一个特性如下:
长度= 7.3
类型=“铺”
element_num = 0
假设你有一个输入特性具有以下6个属性。(属性列表这里用的是{ID}.)
的名字
类型
ID {0} .dec
ID {0} .hex
ID {1} .dec
ID {1} .hex
合并后的属性列表将产生具有4个属性的元素:
的名字
类型
12月
十六进制
只使用列表属性将产生具有2个属性的元素:
12月
十六进制
使用一组菜单选项,可以通过引用工作区中的其他元素来分配转换器参数。更高级的功能,比如高级编辑器和算术编辑器,也可以在一些转换器中使用。要访问这些选项的菜单,请单击除了适用的参数。有关更多信息,请参见变压器参数菜单选项.
FME函数或工厂使用:ElementFactory
搜索关于这个变压器的样品和信息FME知识中心.