该工具仅在 模型构建器 功能区中提供,以供在模型中使用。 地理处理窗格或 Python 中不提供该工具。
此工具接受包含日期字段的要素和表。
此工具可迭代和过滤处于不同时间间隔和时间范围的行。 例如,您可以针对数据的完整时态范围或其中的一部分迭代每小时的数据。 此工具将创建可作为输入用于其他工具的时态片。
使用迭代开始时间和迭代结束时间参数根据数据的时态子集创建时态片。
使用将迭代开始日期捕捉到数据和将迭代结束日期捕捉到数据参数,以及迭代开始时间和迭代结束时间参数,可将迭代的开始和结束捕捉到数据中最近的 datetime 值。
时态片的开始和结束将根据参数值的组合进行计算。 下表显示了未选中跳过空切片参数时,基于不同参数组合的预期结果。 例如,数据的 datetime 范围为 2022-01-03 至 2022-01-31。 使用一天的间隔时,如果未指定迭代开始时间和迭代结束时间参数值,则第一个时态片将基于数据的开始时间从 2022-01-03 开始,于 2022-02-01 结束。
迭代开始时间 | 将迭代开始日期时间捕捉到数据 | 迭代结束时间 | 将迭代结束日期时间捕捉到数据 | 时态片开始 | 时态片结束 |
---|
| | | | 2022-01-03 | 2022-02-01 |
2022-01-01 | 未选中 | | | 2022-01-01 | 2022-02-01 |
2022-01-01 | 选中 | | | 2022-01-03 | 2022-02-01 |
| | 2022-02-01 | 未选中 | 2022-01-03 | 2022-02-01 |
| | 2022-02-01 | 选中 | 2022-01-03 | 2022-01-31 |
2022-01-01 | 未选中 | 2022-02-01 | 未选中 | 2022-01-01 | 2022-02-01 |
2022-01-01 | 选中 | 2022-02-01 | 未选中 | 2022-01-03 | 2022-02-01 |
2022-01-01 | 未选中 | 2022-02-01 | 选中 | 2022-01-01 | 2022-01-31 |
2022-01-01 | 选中 | 2022-02-01 | 选中 | 2022-01-03 | 2022-01-31 |
无论包括起点和包括终点参数值如何设置,第一个时态片始终采用包括起点参数,最后一个时态片始终采用包括终点参数。 对于其间的各个时态片,数据的包含或排除取决于参数值。 例如,如果数据包含 2022-01-01 至 2022-01-03 的值,下表显示 2022-01-01 至 2022-01-03 期间以 1 天为间隔迭代的预期计数结果。
时间片 | 两个参数均未选中时的计数 | 仅选中“包括起点”时的计数 | 仅选中“包括终点”时的计数 | 两个参数均选中时的计数 |
---|
2022-01-01 至 2022-01-02 | 1 | 1 | 2(第一个时态片始终采用包括起点) | 2 |
2022-01-02 至 2022-01-03 | 0 | 1 | 1 | 2 |
2022-01-03 至 2022-01-04 | 0 | 1 | 0 | 1 |
当为迭代开始时间和迭代结束时间参数使用同一 datetime 字段时,具有空值的行将被跳过,因为它们不在任意时间范围内。
当为迭代开始时间和迭代结束时间参数使用不同的 datetime 字段时,将默认跳过具有空值的行。 取消选中跳过空值参数以使其包含在迭代中。 下表显示了 2022-01-01 至 2022-01-03 期间以 1 天为间隔且选中包括起点参数时的输出时间片中是否包括某一行。
例如,某行的开始时间字段值为空、结束时间字段值为 2022-01-02:
时间片 | 预期结果 |
---|
2022-01-01 至 2022-01-02 | 包括(因为空行值在开始字段中) |
2022-01-02 至 2022-01-03 | 包括(因为已选中包括起点参数) |
2022-01-03 至 2022-01-04 | 不包括 |
例如,某行的开始时间字段为 2022-01-02、结束时间字段值为空:
时间片 | 预期结果 |
---|
2022-01-01 至 2022-01-02 | 不包括 |
2022-01-02 至 2022-01-03 | 包括(因为空行值在结束字段中) |
2022-01-03 至 2022-01-04 | 包括(因为空行值在结束字段中) |
如果行的开始时间字段和结束时间字段中均有空值,则该行将包含在每个输出时间片中。
取消选中跳过空切片参数以在输出中查看所有时态片(包括行计数为零的时态片)。 默认情况下,将隐藏空切片。
对于每次迭代,该工具将返回以下输出:
- 输出图层 - 包含匹配时态切片条件的所选行的图层
- 开始时间 - 每个时态片的开始时间
- 结束时间 - 每个时态片的结束时间
- 计数 - 每个时态片中的行数
两个输出参数(开始时间和结束时间)采用 24 小时格式。 如果数据或任意参数值中均未指定时间,则默认中断时间为 00:00:00。
开始时间和结束时间参数值可以用作行内变量替换,以定义其他工具中的输出名称。 为此,请选中格式化输出时间字符串参数以返回没有特殊字符的 datetime 字符串,如下例所示。
时间始终追加至开始和结束时间字符串。 要从该字符串移除时间,请使用计算值工具并将表达式设置为 "%Start Time%"[:11] + "_to_" + "%End Time%"[:11]。 计算值工具的输出后续可以用作复制要素工具输出中的行内变量替换。