Deaggregator和Aggregator转换器中的Mode参数说明
原文发布时间:2014-03-21
作者:毛毛虫
在2013版本和最新的2014版本中,对Deaggregator和Aggregator转换器中的参数做了修改,使更适应应用的需求。现以2014为例,做一个大概的说明。
相对于之前的版本,在Deaggregator和Aggregator转换器中新增了一个Mode(模式)参数设置,其中Deaggregator中该参数的有三个选项如下图:
选项间的区别说明:Flatten One Level 是打散最高层次的聚合,也就是不打算嵌套中的聚合;Flatten All Levels是打散所有层次的聚合;Preserve Hierarchy打散所有层次的聚合并保持原聚合要素中的父子关系。
Aggregator转换器中的三个选项,在运行模板前,要对这个参数进行设置:
选项间的区别说明:Attributes Only只聚合属性,不保留几何图形;选项Geometry - Assemble Hierarchy根据设置的要素间的父子关系聚合要素;Geometry - Assemble One Level将所有的要素聚合到一个级别,不考虑父子关系。
示例
现有两个聚合要素,图形和属性如下图所示:
将这两个要素进行聚合,聚合类型选择Geometry - Assemble One Level,聚合后的要素由两部分组成,每一部分含有两个面(这两个面是聚合前的要素组成):
此时,对这个聚合后的要素打散,对比三个打散模式的选项,结果如下:
Flatten One Level:得到的是原聚合前的两个要素
Flatten All Levels:得到四个要素,即聚合前的两个要素的两个组成部分也被打散,如下图:
Preserve Hierarchy:得到7个要素,即1(一个只有属性的父节点)+2(聚合前的两个原要素生成节点)+4(两个原要素被打散后的四个要素)。最上层的父节点只含属性的父节点只有一个ID Attribute属性,默认的名称是_hierarchy_id;其他的要素含有Parent ID Attribute(默认的属性名称是_hierarchy_parent_id)和ID Attribute。关系如下: