计数器

使用说明

计数器功能用于为流入的要素分配唯一的序列号。您可以灵活定义起始值、计数范围及分组规则,满足要素编号、数量统计、数据更新等业务需求。

功能原理

计数器根据设定的规则,自动为每个流经的要素添加一个包含序列号的属性字段。通过配置不同的计数范围和分组规则,可实现全局连续编号、分组独立编号、跨转换器接力编号等复杂逻辑。

应用场景

  • 批量编号:为一组点数据(如POI)生成唯一ID,例如 POI_0001、POI_0002。
  • 分组统计:统计不同行政区划内设施点的数量,每个区划内独立从1开始编号。
  • 接力计数:多个计数器接力完成海量数据的统一编号,确保编号全局唯一且连续。

SuperMap TransformX 2026 版本开始提供。

输入数据

参数名 参数释义 参数类型
输入 输入待处理的矢量数据,可以由数据读入转换器的输出或数据处理转换器的输出来指定。 IFeatureCollection

参数说明

参数名 参数释义 参数类型
起始编号

指定计数的起始值,默认值为1。您可以直接输入常数或通过字段值获取。

  • 常数:直接输入一个整数作为起始编号。
  • 从字段获取:选择一个数值型字段,使用第一个要素的字段值作为起始编号。适用于需要延续已有数据编号的场景。

String
计数范围

定义计数器的生效范围,决定计数序列是全局共享还是局部独立。

  • 全局(默认项):多个配置相同(起始编号、计数域、编号输出字段一致)的全局计数器共享同一计数序列,实现接力计数。例如,工作流中的第一个计数器计数到100,第二个计数器会从101开始继续编号。

    接力计数需将多个计数器置于同一工作流中并整体运行(点击开始选项卡的运行按钮)。若单独运行某个计数器,该计数器无法获取其他计数器的状态,此时将独立计数(表现为局部计数)。

  • 局部:计数器仅在本转换器内独立计数,不受工作流中其他计数器的影响。
CounterScope
计数域

当计数范围为全局时,此参数可用。

指定全局计数的分组规则。默认为字符串counter。

  • 自定义字符串:作为计数任务标识,相同标识的全局计数器接力计数;不同标识则序列独立。
  • 字段:按所选字段分组,字段值相同的要素组内独立递增计数(例如按省份分组,各省从1开始计数)。
String
分组依据

当计数范围为局部时,此参数可用。

指定局部计数的分组字段(支持多选)。字段值组合相同的要素组内独立递增计数。默认为空(不分组)。

若不为空,则按选中的一个或多个字段进行分组计数。例如,同时选择省份和城市字段,则“四川省-成都市”的分组从1开始计数,“四川省-绵阳市”的分组也从1开始计数。

String
分组完整性

当计数范围为局部时,此参数可用。

控制分组计数的结束与重置时机。默认为所有分组。

  • 所有分组:等待所有要素处理完成后,按分组统一分配编号。这种方式可以保证每组内的编号是连续的,但可能改变要素顺序(结果将按分组重新排序后输出)。
  • 分组改变时:按要素流入的原始顺序实时处理。当检测到当前要素的分组与上一个要素不同时,立即重置计数(从起始编号开始)。这种方式保持了要素的原始顺序,但组内编号可能不连续。
GroupIntegrity
编号输出字段

指定存放最终计数结果的属性字段名称。计数结果将作为要素的新属性输出。默认值为count。

String
组编号输出字段

指定存放组编号的属性字段名称。组编号从1开始递增,同一分组内所有要素获得相同编号。默认为空,即不输出此字段。

String

输出结果

参数名 参数释义 参数类型
输出

包含原始属性、编号输出字段以及组编号输出字段属性(可选)的要素集。

DatasetFeatureCollection
无效数据 当前转换器无法处理的记录。 IFeatureCollection

相关主题

属性连接

属性筛选

字符串替换

字符串查找