時間の反復 (Iterate Time) (ModelBuilder)

サマリー

フィールド内の時間にわたって反復処理します。

時系列データの詳細

ModelBuilder での時間の反復の詳細

使用法

  • このツールはモデルで使用する ModelBuilder からのみ利用できます。 このツールは、[ジオプロセシング] ウィンドウまたは Python からは利用できません。

  • このツールは、フィーチャおよび日付フィールドを含むテーブルを受け取ります。

  • このツールは、異なる時間間隔と時間範囲に含まれる行の反復処理およびフィルター処理を実行します。 たとえば、データまたはデータのサブセットの時間範囲全体にわたって、1 時間ごとにデータを反復処理することができます。 このツールは、他のツールへの入力として使用できる異なる時間的スライスを作成します。

  • [時間定義] パラメーターを使用し、特定の月や曜日を得るために行をフィルタリングします。 たとえば、[時間ステップ間隔] 値を 1 週間として、データを週単位で反復処理する場合、[時間定義][土曜日][日曜日] に設定されていれば、各時間的スライスは土曜日と日曜日のデータのみを返します。

  • [サブセット] パラメーターを使用すると、時間的スライスごとに 1 つ以上のサブセットを作成できます。 次のテーブルでは時間的スライスが 2022 年 1 月 1 日午前 1 時 (2022-01-01 01:00:00) から 2022 年 1 月 2 日午前 1 時 (2022-01-02 01:00:00) までと仮定した場合の、異なる [サブセット遅延] 値と [サブセット期間] 値の例を示します。

    ケースサブセット値結果

    1

    サブセット遅延: 2 時間

    サブセット期間: 2 時間

    午前 3 時 (2022-01-01 00:03:00) から午前 5 時 (2022-01-01 00:05:00) までのデータが返されます。

    2

    サブセット遅延: 2 時間

    サブセット期間: 2 時間

    サブセット遅延: 8 時間

    サブセット期間: 4 時間

    午前 3 時 (2022-01-01 00:03:00) から午前 5 時 (2022-01-01 00:05:00)、午前 9 時 (2022-01-01 00:09:00) から午後 1 時 (2022-01-01 00:13:00) までのデータが返されます。

    3

    サブセット遅延: 2 時間

    サブセット期間: なし

    午前 3 時 (2022-01-01 00:03:00) から翌日午前 1 時 (2022-01-01 00:01:00) までのデータが返されます。

    4

    サブセット遅延: 2 時間

    サブセット期間: 0 時間

    午前 3 時 (2022-01-01 00:03:00) のデータが返されます。

    時間の反復サブセットの例

  • [反復開始時間] および [反復終了時間] パラメーターを使用して、データの時間的サブセットから時間的スライスを作成します。

  • [データへ反復開始日時のスナップ] および [データへ反復終了日時のスナップ] パラメーターを、[反復開始時間] および [反復終了時間] パラメーターとともに使用して、反復の開始と終了をデータ内の最も近い日時の値に合わせます。

  • これらのパラメーター値の組み合わせに基づいて時間的スライスの開始と終了が計算されます。 下の表は、[空のスライスをスキップ] パラメーターをオフにした状態で、異なるパラメーターの組み合わせに基づいて期待される結果を示しています。 たとえば、データは、2022-01-03 ~ 2022-01-31 の範囲を含んでいます。 1 日の間隔を使用し、[反復開始時間] および [反復終了時間] パラメーターの値が指定されない場合、最初の時間的スライスは、データの開始に基づいて 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

  • [サブセット] パラメーターは [開始を含む] パラメーターと [終了を含む] パラメーターの包含の設定を順守します。

  • [反復開始時間] および [反復終了時間] パラメーターに関して同じフィールドが使用された場合、NULL 値を含む行は、どの時間範囲にも含まれないため、スキップされます。

    [反復開始時間] および [反復終了時間] パラメーターに関して異なるフィールドが使用された場合、NULL 値を含む行は、デフォルトでスキップされます。 [NULL 値をスキップ] パラメーターをオフにすると、NULL 値が反復に含まれます。 下の表は、1 日の間隔を使用し、[開始を含む] パラメーターをオンにした場合に、2022-01-01 ~ 2022-01-03 の出力タイム スライスに行が含まれるかどうかを示しています。

    たとえば、ある行が NULL の開始時間フィールドの値を含み、終了時間フィールドの値が 2022-01-02 であるとします。

    タイム スライス期待される結果

    2022-01-01 ~ 2022-01-02

    含まれる (行の NULL 値が開始フィールドにあるため)

    2022-01-02 ~ 2022-01-03

    含まれる ([開始を含む] パラメーターがオンであるため)

    2022-01-03 ~ 2022-01-04

    含まない

    たとえば、ある行が 2022-01-02 を開始時間フィールドの値として含み、終了時間フィールドの値が NULL であるとします。

    タイム スライス期待される結果

    2022-01-01 ~ 2022-01-02

    含まない

    2022-01-02 ~ 2022-01-03

    含まれる (行の NULL 値が終了フィールドにあるため)

    2022-01-03 ~ 2022-01-04

    含まれる (行の NULL 値が終了フィールドにあるため)

    ある行が開始時間フィールドと終了時間フィールドの両方に NULL 値を含んでいる場合、その行は、すべての出力タイム スライスに含まれます。

  • [空のスライスをスキップ] パラメーターをオフにすると、0 の行数を含む時間的スライスを含めて、出力内のすべての時間的スライスが表示されます。 デフォルトでは、空のスライスは非表示になります。

  • 各反復処理では、ツールは次の出力を返します。

    • [出力レイヤー] - 時間的スライスの条件に一致する選択された行を含むレイヤー。
    • [開始時間] - 時間的スライスごとの開始時間
    • [終了時間] - 時間的スライスごとの終了時間
    • [個数] - 各時間的スライス内の行の数

  • 2 つの出力パラメーター [開始時間] および [終了時間] は、24 時間形式です。 時間がデータ内でも、どのパラメーター値でも指定されない場合、デフォルトのカットオフ時間は 00:00:00 です。

  • [開始時間] および [終了時間] パラメーターの値は、他のツールで出力名を定義するために、インライン変数置換として使用できます。 これを行うには、下の例のように特殊文字を含まない日時文字列を返すために、[出力時間文字列の形式] パラメーターをオンにします。

    ツールはインライン変数置換として出力します

    時間が、開始時間と終了時間の文字列に常に追加されます。 その文字列から時間を削除するには、[値の計算 (Calculate Value)] ツールを使用して、条件式を "%Start Time%"[:11] + "_to_" + "%End Time%"[:11] に設定します。 次に、[値の計算 (Calculate Value)] ツールの出力を、[フィーチャのコピー (Copy Features)] ツールの出力で、インライン変数置換として使用できます。

    時間をインライン変数置換として含まないツールの出力

パラメーター

ラベル説明データ タイプ
入力テーブル

反復処理する入力テーブル。

Table View; Feature Layer
時間定義
(オプション)

データに適用されるフィルターを指定します。

  • なしフィルターは適用されません。
  • 平日:データは [曜日] パラメーター値を使用してフィルタリングされます。
  • データは [月] パラメーター値を使用してフィルタリングされます。
String
(オプション)

データのフィルタリングに使用される月を指定します。

このパラメーターは、[時間定義] パラメーター値が [月] に設定されている場合にアクティブになります。

  • 1 月1 月のデータが返されます。
  • 2 月2 月のデータが返されます。
  • 3 月3 月のデータが返されます。
  • 4 月4 月のデータが返されます。
  • 5 月5 月のデータが返されます。
  • 6 月6 月のデータが返されます。
  • 7 月7 月のデータが返されます。
  • 8 月8 月のデータが返されます。
  • 9 月9 月のデータが返されます。
  • 10 月10 月のデータが返されます。
  • 11 月11 月のデータが返されます。
  • 12 月12 月のデータが返されます。
String
(オプション)

データのフィルタリングに使用される曜日を指定します。

このパラメーターは、[時間定義] パラメーター値が [曜日] に設定されている場合にアクティブになります。

  • 月曜日月曜日のデータが返されます。
  • 火曜日火曜日のデータが返されます。
  • 水曜日水曜日のデータが返されます。
  • 木曜日木曜日のデータが返されます。
  • 金曜日金曜日のデータが返されます。
  • 土曜日土曜日のデータが返されます。
  • 日曜日日曜日のデータが返されます。
String
時間ステップ間隔

時間スライスの作成に使用される時間間隔。 有効な入力は、整数のみです。

Time Unit
サブセット
(オプション)

各反復に対する 1 つ以上の時間的サブセット。 各サブセットは、[サブセット遅延] 値と [サブセット期間] 値のペアによって定義されます。

各時間スライスの開始は [サブセット遅延] 値でオフセットされ、スライスの時間範囲は [サブセット期間] 値で定義されます。

たとえば、ある時間スライスが 2022 年 1 月 1 日午前 1 時 (2022-01-01 01:00:00) から 2022 年 1 月 2 日午前 1 時 (2022-01-02 01:00:00) までで、[サブセット遅延] 値が 2 時間であるとします。

  • [サブセット期間] 値が 2 時間である場合、時間スライスは午前 3 時 (2022-01-01 00:03:00) に開始し、午前 5 時 (2022-01-01 00:05:00) に終了します。
  • [サブセット期間] 値が空白の場合は、時間スライスは午前 3 時 (2022-01-01 00:03:00) に開始し、翌日の午前 1 時 (2022-01-02 01:00:00) に終了します。
  • [サブセット期間] 値が 0 の場合、サブセットは午前 3 時 (2022-01-01 00:03:00) のデータのみを返します。
Value Table
開始時間フィールド

時間範囲 (または時間範囲の開始) を定義し、検索して時系列スライスを作成するために使用されるフィールド。

[反復開始時間] パラメーターで異なる日時値を指定することによって、時間範囲を変更することができます。

Field
終了時間フィールド
(オプション)

時間範囲の終了を定義し、検索して時系列スライスを作成するために使用されるフィールド。

データが開始時間と終了時間に関して別々の日付フィールドを含んでいる場合、このフィールドを追加できます。 データが開始時間と終了時間に関して 1 つのフィールドを含んでいる場合、このパラメーターを空白のままにするか、[開始時間フィールド] の値と同じフィールドに設定します。

Field
反復開始時間
(オプション)

指定した日時値以降に開始するデータのサブセットを作成する開始時間。

Date
データへ反復開始日時のスナップ
(オプション)

反復の開始をデータ内の最も近い日付に合わせるかどうかを指定します。

  • オン - 反復の開始を、[反復開始時間] パラメーターで指定した日付以降のデータ内の最も近い日付に合わせます。

    たとえば、[反復開始時間] パラメーターの値が 2022-01-01 であり、データが 2022-01-06 から開始する場合、反復が 2022-01-06 から開始し、[時間ステップ間隔] パラメーターで定義された時間間隔によってデータが分割されます。 1 か月のステップ間隔の場合、スライスは、2022-01-06 ~ 2022-02-06 などとなります。

  • オフ - 反復の開始を、[反復開始時間] パラメーターで指定した日付に合わせます。 これがデフォルトです。

    たとえば、[反復開始時間] パラメーターの値が 2022-01-01 であり、データが 2022-01-06 から開始する場合、反復が 2022-01-01 から開始し、[時間ステップ間隔] パラメーターで定義された時間間隔によってデータが分割されます。 1 か月のステップ間隔の場合、スライスは、2022-01-01 ~ 2022-02-01 などとなります。

Boolean
反復終了時間
(オプション)

指定した日時値以前に終了するデータのサブセットを作成する終了時間。

Date
データへ反復終了日時のスナップ
(オプション)

反復の終了をデータ内の最も近い日付に合わせるかどうかを指定します。

  • オン - 反復の終了を、[反復終了時間] パラメーターで指定した日付以前のデータ内の最も近い日付に合わせます。

    たとえば、[反復終了時間] パラメーターの値が 2022-12-31 であり、データが 2022-12-28 で終了する場合、反復が 2022-12-28 で終了します。 最後のスライスは、定義された時間ステップ間隔より小さくなることがあります。

  • オフ - 反復の終了を、[反復終了時間] パラメーターで指定した日付に合わせます。 これがデフォルトです。

    たとえば、[反復終了時間] パラメーターの値が 2022-12-31 であり、データが 2022-12-28 で終了する場合、反復が 2022-12-31 で終了します。 最後のスライスは、時間間隔に従って分割されますが、指定した [反復終了時間] の値に基づいて終了します。

Boolean
開始を含む
(オプション)

開始時間が各タイム スライスに含まれるかどうかを指定します。

  • オン - 開始時間が各タイム スライスに含まれます。 これがデフォルトです。
  • オフ - 開始時間が各タイム スライスに含まれません。
Boolean
終了を含む
(オプション)

終了時間が各タイム スライスに含まれるかどうかを指定します。 [開始を含む][終了を含む] の両方をオンにすると、同じイベントを 2 回数えます。 イベントが前のスライスの終了時に発生した場合、そのイベントは、次のスライスでも数えられます (開始を含む) 。 これは、連続的なイベントに役立つことがあります。 たとえば、火災が 3 日間燃え続けており、新しい火災の記録と既存の火災の記録の総数を知りたい場合です。

  • オン - 終了時間以下の値が含まれます。
  • オフ - 終了時間未満の値が含まれます。 これがデフォルトです。
Boolean
NULL 値をスキップ
(オプション)

NULL の日時値を含む行が含まれるかどうかを指定します。 このパラメーターは、[開始時間フィールド] パラメーターおよび [終了時間フィールド] パラメーターが異なる日付フィールドである場合に使用できます。

  • オン - NULL の日時値を含む行が含まれません。 これがデフォルトです。
  • オフ - NULL の日時値を含む行が含まれます。

次の場合、このパラメーターをオフにします。

  • [開始時間フィールド] パラメーター値が NULL - [開始時間フィールド] パラメーター値が NULL であるすべての行は、[終了フィールド] パラメーター値またはその前に終了するすべての時間的スライスに含まれます。
  • [終了時間フィールド] パラメーター値が NULL - [終了時間フィールド] パラメーター値が NULL であるすべての行は、[開始フィールド] パラメーター値またはその後に開始するすべての時間的スライスに含まれます。
  • [開始時間フィールド] パラメーター値と [終了時間フィールド] パラメーター値の両方が NULL - [開始フィールド] パラメーター値および [終了フィールド] パラメーター値が NULL であるすべての行は、各時間的スライスに含まれます。

Boolean
出力時間文字列の形式
(オプション)

予約文字が出力 [開始時間] および [終了時間] パラメーター値から削除されるかどうかを指定します。 英数字およびアンダースコアのみが維持されます。

  • オン - 予約文字が出力 [開始時間] および [終了時間] パラメーター値から削除されます。 たとえば、日時値が 2022-01-01 08:30:00 である場合、フォーマットされた文字列は 2022_01_01_08_30_00 です。
  • オフ - 予約文字が出力 [開始時間] および [終了時間] パラメーター値から削除されません。 これがデフォルトです。
Boolean
空のスライスをスキップ
(オプション)

空のタイム スライスが削除されるかどうかを指定します。 空のタイム スライスは、行を含みません。

  • オン - 空のタイム スライスが削除されます。 たとえば、入力データが、2022-01-02 と 2022-01-03 に関してレコードを含んでいないとします。 2022-01-01 ~ 2022-01-05 の 1 日の間隔で、このオプションを使用すると、これらの 2 つの空のタイム スライスをスキップすることができ、空のレイヤーが返されなくなります。 これがデフォルトです。
  • オフ - 空のタイム スライスが削除されません。 たとえば、入力データが、2022-01-02 と 2022-01-03 に関してレコードを含んでいないとします。 2022-01-01 ~ 2022-01-05 の 1 日の間隔で、このオプションを使用すると、これらの 2 つのタイム スライスを維持することができ、空のレイヤーが返さます。
Boolean

派生した出力

ラベル説明データ タイプ
出力時間レイヤー

タイム スライスの条件に一致する選択された行を含むレイヤー。

Any Value
開始時間

各スライスの開始時間。

String
終了時間

スライスごとの終了時間

String
カウント

各スライス内の行の数。

Long

環境

このツールは、ジオプロセシング環境を使用しません。