合并数据

功能描述

该步骤用于将多个数据列表合并为一个列表。例如,输入[A]、[B]、[C]三个列表,合并后输出结果为[A, B, C]。

MergeData

使用场景

该工具用于将位姿、数值等数据进行合并。

输入

  • 未命名:第一组待合并的数据列表。支持的数据类型包括 PoseList、NumberList、StringList、Vector3DList、BoolList、IndexList。

  • 未命名:第二组待合并的数据列表。输入端口的实际数量由"端口个数"参数决定。

输出

  • 未命名:合并后的数据列表,与输入的数据列表类型一致。

参数说明

端口个数(1-16)

设置输入端口的个数,范围[1,16]。当输入数据维度小于目标维度时,系统会自动对输入数据进行升维操作,确保不同维度数据之间的合并兼容性。

被操作变量在数组中所在维度

指定需要操作的具体数据元素在嵌套列表结构中所处的维度。

数据维度说明

对于NumberList、StringList、Vector3DList、BoolList、IndexList:

[第1维 [第0维 元素1, 元素2, 元素3...], [第0维 元素1, 元素2, 元素3...] ]

对于PoseList: [第1维 [第0维 [x, y, z, qx, qy, qz, w]], [第0维 [x, y, z, qx, qy, qz, w]] ]

示例

有2个NumberList类型的数据,分别为[[0,1],[2,3]]和[[4,5],[6,7]],使用合并工具将这两个数据进行合并。

对于第一个列表:

第0维元素:0、1,2、3。

第1维元素:[0,1],[2,3]

第2维元素:[[0,1],[2,3]]

对于第二个列表:

第0维元素:4、5,6、7;

第1维元素:[4,5],[6,7]

第2维元素:[[4,5],[6,7]]

当设置不同的“被操作变量在数组中所在维度”时,其结果如下:

被操作变量在数组中所在维度 =0

第一维索引为0的元素:[0,1]和[4,5],

第一维索引为1的元素:[2,3]和[6,7],

合并结果:[[0,1,4,5],[2,3,6,7]]

被操作变量在数组中所在维度 =1

第二维索引为0的元素:[[0,1],[2,3]]和[[4,5],[6,7]]

合并结果:[[0,1],[2,3],[4,5],[6,7]]

被操作变量在数组中所在维度 =2

输入数据为2维数据,由于当“被操作变量在数组中所在维度”大于等于输入数组维度时,将升维,因此合并结果为:

[[[0,1],[2,3]],[[4,5],[6,7]]]