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

サマリー

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

時系列データの詳細

ModelBuilder での時間の反復の詳細

使用法

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

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

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

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

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

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

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

    [反復開始時間] および [反復終了時間] パラメーターに関して異なる datetime フィールドが使用された場合、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 です。

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

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

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

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

パラメーター

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

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

Table View; Feature Layer
時間ステップ間隔

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

  • データが分によって分割されます。
  • 時間データが時間によって分割されます。
  • データが日によって分割されます。
  • データが週によって分割されます。
  • データが月によって分割されます。
  • データが年によって分割されます。
  • 10 年データが 10 年によって分割されます。
  • 世紀データが世紀によって分割されます。
Time Unit
開始時間フィールド

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

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

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

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

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

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

指定した datetime 値以降のデータのサブセットを作成します。

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
反復終了時間
(オプション)

指定した datetime 値以前のデータのサブセットを作成します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • [開始時間フィールド] パラメーター値が NULL - [開始時間フィールド] パラメーター値が NULL であるすべての行は、[終了フィールド] パラメーター値からの時間範囲の終了まで、すべての時間的スライスに含まれます。
  • [終了時間フィールド] パラメーター値が NULL - [終了時間フィールド] パラメーター値が NULL であるすべての行は、時間的スライスに関するタイム スライス検索に含まれる限り、すべての時間的スライスに含まれます。
  • [開始時間フィールド] パラメーター値と [終了時間フィールド] パラメーター値の両方が NULL - [開始フィールド] パラメーター値および [終了フィールド] パラメーター値が NULL であるすべての行は、各時間的スライスに含まれます。

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

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

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

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

  • オン - 空のタイム スライスが削除されます。 たとえば、入力データが、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

環境

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