ListExploder
将每个输入特性上的每个列表成员分解为自己的特性。
列表中的任何属性都会降级为特性输出的非列表属性。此外,将原始列表中的属性的元素号添加到特性中。每个特性的输出都有原始输入特性的几何图形的副本。
输入端口
包含列表成员的功能。
输出端口
如果在输入特性中找到该列表,则将基于积累模式通过这个端口输出。
参数
此转换器将分解的列表的名称。
如果元素索引属性,则每个元素特性输出将被赋予一个属性,该属性包含元素的列表位置。
属性积累
如果传入特性和原始特性上的属性共享相同的名称,但不是以其开头的几何属性fme_,那么他们就被认为是矛盾的。
合并的列表:原始特性将保留其自身所有未冲突的属性,并额外获取传入列表特性具有的所有未冲突的属性。此模式将处理基于。的冲突属性解决冲突参数。
前缀列表传入:最初的功能将保留它自己的所有属性。此外,原始版本将获取反映传入特性的属性的属性,该属性的名称前缀为前缀参数。
仅使用输入列表:除了以几何属性开头的属性外,原始特性将删除其所有属性fme_。然后,传入特性的所有属性和相关值将被放置到原始特性上。
使用原始:如果发生冲突,将保留原始值。
使用传入名单:如果发生冲突,传入列表的值将被传输到原始列表。
如果积累模式参数设置为前缀列表传入,此值将为从传入特性添加到原始特性的属性加上前缀。
使用笔记
- 如果输入属性和列表元素属性具有相同的名称输入属性将被列表元素属性覆盖。
- listscalder将无法处理无效列表,例如在条目0处不启动的列表。例如:
有效的列表 | 名单无效 |
MYLIST {0} .attr1 | 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}。车道= 2
somelist {2}。长度= 1.1
somelist {2}。kind = ’rough’
another_attr = ' something else '
然后,假定指定的列表名是somelist {}, index属性为element_num,积累模式参数设置为合并的列表,第一个返回的功能如下:
长度= 7.3
类型=“铺”
element_num = 0
another_attr = ' something else '
如果积累模式参数设置为仅使用输入列表,第一个返回的功能如下:
长度= 7.3
类型=“铺”
element_num = 0
示例2:
假设你有一个输入具有以下6个属性的特性。(属性列表这里用的是{ID})。
的名字
类型
{0}.dec ID
{0}.hex ID
{1}.dec ID
{1}.hex ID
合并的列表将产生4个属性的元素:
的名字
类型
12月
十六进制
仅使用输入列表将产生2个属性的元素:
12月
十六进制
编辑变压器参数
使用一组菜单选项,可以通过引用工作空间中的其他元素来分配transformer参数。更高级的功能,如高级编辑器和算术编辑器,也可以在一些转换器中使用。要访问这些选项的菜单,请单击在可适用的参数旁边。有关更多信息,请参见变压器参数菜单选项。
变压器的分类
额外的资源
搜索FME知识中心
有关此变压器的示例和信息,请参阅FME知识中心。