使用列表来解决问题

挑战

你有线性的街道中心线,在每个交叉点,你想知道哪些街道是在一起的。输出应该是一组点,每个点都有一个字符串属性,其中包含一组以逗号分隔的街道名称。

解决方案

建立一个工作区,将所有街道中心线连接到一个跨部门变压器。调整Intersector的参数以提供列表名称(例如,all_streets).

让我们假设输入街道线有一个名为NAME的属性。现在,除其他外,Intersector的Node输出将有一个未限定的列表all_streets{}。的名字.这个列表将包含在输出的每个特定点(或节点)上相交的所有街道的名称。

要将NAMEs列表转换为单个字符串,请添加一个ListConcatenator转换器并在其中运行NODE特性。然后设置ListConcatenator的参数,以便它将all_streets{}。的名字用逗号分隔,一起列出到destination属性中。

将ListConcatenator的输出路由到输出文件,并确保将目标属性路由到输出中的属性。在运行翻译之后,您将得到所需的结果。

公开的元素

注意,您还可以通过“暴露”列表的某些元素来访问各个街道名称:右键单击属性非限定列表名称(在我们的示例中,all_streets{}。的名字),并选择公开的元素

在Select List Elements对话框中,输入要公开的元素数量。(这种方法的缺点是,您需要提前知道要使用多少列表元素。)