Itérer sur le temps (ModelBuilder)

Utilisation

  • Cet outil n’est disponible qu’à partir de ModelBuilder et s’utilise dans les modèles. L’outil n’est pas disponible via la fenêtre Geoprocessing (Géotraitement) ou via Python.

  • Cet outil accepte les entités et les tables ayant un champ de date.

  • Cet outil itère et filtre les lignes appartenant à des étendues et des intervalles temporels différents. Par exemple, itérez sur des données horaires pour la totalité de l’étendue temporelle des données ou un sous-ensemble de celle-ci. Cet outil crée des tranches temporelles qui peuvent être utilisées en entrée pour d’autres outils.

  • Utilisez le paramètre Time Definition (Définition temporelle) pour filtrer les lignes selon des mois ou des jours de la semaine spécifiques. Par exemple, si vous itérez dans des données par semaine avec Time Step Interval (Intervalle temporel) défini sur 1 Weeks (1 Semaine), lorsque le paramètre Time Definition (Définition temporelle) est défini sur Saturday (Samedi) et Sunday (Dimanche), chaque tranche temporelle renvoie uniquement les données correspondant au samedi et au dimanche.

  • Utilisez le paramètre Subset (Sous-ensemble) pour créer un ou plusieurs sous-ensembles de chaque tranche temporelle. Le tableau ci-dessous montre des exemples de différentes valeurs de Subset Delay (Délai du sous-ensemble) et de Subset Duration (Durée du sous-ensemble), en supposant que la tranche temporelle commence le 1er janvier 2022 à 1 h (2022-01-01 01:00:00) et se termine le 2 janvier 2022 à 1 h (2022-01-02 01:00:00).

    CasValeur de sous-ensembleRésultat

    1

    Délai du sous-ensemble : 2 heures

    Durée du sous-ensemble : 2 heures

    Les données de 3 h (2022-01-01 00:03:00) à 5 h (2022-01-01 00:05:00) sont renvoyées.

    2

    Délai du sous-ensemble : 2 heures

    Durée du sous-ensemble : 2 heures

    Délai du sous-ensemble : 8 heures

    Durée du sous-ensemble : 4 heures

    Les données de 3 h (2022-01-01 00:03:00) à 5 h (2022-01-01 00:05:00), et de 9 h (2022-01-01 00:09:00) à 13 h (2022-01-01 00:13:00) sont renvoyées.

    3

    Délai du sous-ensemble : 2 heures

    Durée du sous-ensemble : Aucune

    Les données de 3 h 00 (2022-01-01 00:03:00) au jour suivant 1 h 00 (2022-01-02 00:01:00) sont renvoyées.

    4

    Délai du sous-ensemble : 2 heures

    Durée du sous-ensemble : 0 heures

    Les données à partir de 3 h (2022-01-01 00:03:00) sont renvoyées.

    Exemples de sous-ensemble Iterate Time (Itérer sur le temps)

  • Utilisez les paramètres Iteration Start Time (Début de l’itération) et Iteration End Time (Fin de l’itération) pour créer des tranches temporelles à partir d’un sous-ensemble temporel des données.

  • Utilisez les paramètres Snap Iteration Start Datetime To Data (Capturer le début de l’itération sur les données) et Snap Iteration End Datetime To Data (Capturer la fin de l’itération sur les données) avec les paramètres Iteration Start Time (Début de l’itération) et Iteration End Time (Fin de l’itération) pour aligner le début et la fin de l’itération sur la valeur de date et heure la plus proche figurant dans les données.

  • Le début et la fin des tranches temporelles sont calculés en fonction de la combinaison des valeurs des paramètres. Le tableau ci-dessous montre les résultats attendus en fonction de différentes combinaisons de paramètres, lorsque le paramètre Skip Empty Slices (Ignorer les tranches vides) n’est pas sélectionné. Par exemple, l’étendue des données va de 2022-01-03 à 2022-01-31. Avec un intervalle d’un jour, si les valeurs des paramètres Iteration Start Time (Début de l’itération) et Iteration End Time (Fin de l’itération) ne sont pas spécifiées, la première tranche temporelle commencera le 2022-01-03 (selon le début des données) et se terminera le 2022-02-01.

    Début de l’itérationCapturer le début de l’itération sur les donnéesFin de l’itérationCapturer la fin de l’itération sur les donnéesDébut de la première tranche temporelleFin de la dernière tranche temporelle

    2022-01-03

    2022-02-01

    2022-01-01

    Décoché

    2022-01-01

    2022-02-01

    2022-01-01

    Activé

    2022-01-03

    2022-02-01

    2022-02-01

    Décoché

    2022-01-03

    2022-02-01

    2022-02-01

    Activé

    2022-01-03

    2022-01-31

    2022-01-01

    Décoché

    2022-02-01

    Décoché

    2022-01-01

    2022-02-01

    2022-01-01

    Activé

    2022-02-01

    Décoché

    2022-01-03

    2022-02-01

    2022-01-01

    Décoché

    2022-02-01

    Activé

    2022-01-01

    2022-01-31

    2022-01-01

    Activé

    2022-02-01

    Activé

    2022-01-03

    2022-01-31

  • Le paramètre Include Start (Inclure le début) est toujours respecté pour la première tranche temporelle et le paramètre Include End (Inclure la fin) est toujours respecté pour la dernière tranche temporelle, quelles que soient les valeurs des paramètres Include Start (Inclure le début) et Include End (Inclure la fin). Pour chaque tranche temporelle qui se trouve entre les deux, l’inclusion ou l’exclusion des données est basée sur les valeurs des paramètres. Par exemple, si les données comportent des valeurs du 2022-01-01 au 2022-01-03, le tableau ci-dessous montre le résultat (nombre) attendu avec un intervalle d’un jour pour les itérations comprises entre le 2022-01-01 et le 2022-01-03.

    Tranche temporelleRésultat lorsqu’aucun des deux paramètres n’est sélectionnéRésultat lorsque seul le paramètre Include Start (Inclure le début) est sélectionnéRésultat lorsque seul le paramètre Include End (Inclure le début) est sélectionnéRésultat lorsque les deux paramètres sont sélectionnés

    2022-01-01 à 2022-01-02

    1

    1

    2 (Le paramètre Include Start (Inclure le début) est toujours respecté pour la première tranche temporelle)

    2

    2022-01-02 à 2022-01-03

    0

    1

    1

    2

    2022-01-03 à 2022-01-04

    0

    1

    0

    1

  • Le paramètre Subset (Sous-ensemble) respecte les paramètres d’inclusion dans les paramètres Include Start (Inclure le début ) et Include End (Inclure la fin).

  • Lorsque le même champ est utilisé pour les paramètres Iteration Start Time (Début de l’itération) et Iteration End Time (Fin de l’itération), les lignes comportant des valeurs nulles sont ignorées, car elles n’appartiennent à aucune étendue temporelle.

    Lorsque des champs différents sont utilisés pour les paramètres Iteration Start Time (Début de l’itération) et Iteration End Time (Fin de l’itération), les lignes comportant des valeurs nulles sont ignorées par défaut. Désélectionnez le paramètre Skip Null Values (Ignorer les valeurs nulles) pour inclure les valeurs nulles dans l’itération. Les tableaux ci-dessous indiquent si une ligne est incluse pour les tranches temporelles en sortie comprises entre le 2022-01-01 et le 2022-01-03 avec un intervalle d’un jour, lorsque le paramètre Include Start (Inclure le début) est sélectionné.

    Par exemple, une ligne comporte une valeur nulle dans le champ de début et la valeur du champ de fin est 2022-01-02 :

    Tranche temporelleRésultat attendu

    2022-01-01 à 2022-01-02

    Incluse (car une valeur de ligne nulle se trouve dans le champ de début)

    2022-01-02 à 2022-01-03

    Incluse (car le paramètre Include Start (Inclure le début) est sélectionné)

    2022-01-03 à 2022-01-04

    Non inclus

    Par exemple, une ligne comporte la valeur 2022-01-02 dans le champ de début et la valeur du champ de fin est nulle :

    Tranche temporelleRésultat attendu

    2022-01-01 à 2022-01-02

    Non inclus

    2022-01-02 à 2022-01-03

    Incluse (car une valeur de ligne nulle se trouve dans le champ de fin)

    2022-01-03 à 2022-01-04

    Incluse (car une valeur de ligne nulle se trouve dans le champ de fin)

    Si une ligne comporte des valeurs nulles dans les champs de début et de fin, elle est incluse dans chaque tranche temporelle en sortie.

  • Désélectionnez le paramètre Skip Empty Slices (Ignorer les tranches vides) pour afficher toutes les tranches temporelles dans la sortie, y compris celles dont le nombre de lignes est égal à zéro. Par défaut, les tranches vides sont masquées.

  • Pour chaque itération, l’outil renvoie les sorties suivantes :

    • Output Layer (Couche en sortie) : couche comportant les lignes sélectionnées qui correspondent aux critères de création de tranches temporelles
    • Start Time (Heure de début) : heure de début de chaque tranche temporelle
    • End Time (Heure de fin) : heure de fin de chaque tranche temporelle
    • Count (Nombre) : nombre de lignes dans chaque tranche temporelle

  • Les paramètres en sortie Start Time (Heure de début) et End Time (Heure de fin) sont au format 24 heures. Si aucune heure n’est spécifiée dans les données ni dans aucune valeur de paramètre, l’heure limite par défaut est 00:00:00.

  • Les valeurs des paramètres Start Time (Heure de début) et End Time (Heure de fin) peuvent être utilisées comme substitution de variables en ligne pour définir les noms en sortie dans d’autres outils. Pour ce faire, sélectionnez le paramètre Format Output Time String (Mettre en forme la chaîne temporelle en sortie) de sorte qu’une chaîne de date heure soit renvoyée sans caractères spéciaux, comme dans l’exemple ci-dessous.

    Substitution de variables en ligne en sortie

    L’heure est toujours ajoutée aux chaînes de début et de fin. Pour supprimer l’heure de ces chaînes, utilisez l’outil Calculer une valeur et définissez l’expression sur "%Start Time%"[:11] + "_to_" + "%End Time%"[:11]. La sortie de l’outil Calculer une valeur peut ensuite être utilisée comme substitution de variable en ligne dans la sortie de l’outil Copier des entités.

    Substitution de variables en ligne en sortie (sans heure)

Paramètres

ÉtiquetteExplicationType de données
Input Table (Table en entrée)

Table en entrée à itérer.

Table View; Feature Layer
Time Definition (Définition temporelle)
(Facultatif)

Spécifie le filtre appliqué aux données.

  • AucunAucun filtre n'est appliqué.
  • Jours de la semaineLes données sont filtrées avec la valeur de paramètre Days (Jours).
  • MoisLes données sont filtrées avec la valeur de paramètre Months (Mois).
String
Mois
(Facultatif)

Spécifie le mois utilisé pour filtrer les données.

Ce paramètre est actif si le paramètre Time Definition (Définition temporelle) a pour valeur Months (Mois).

  • JanvierLes données de janvier sont renvoyées.
  • FévrierLes données de février sont renvoyées.
  • MarsLes données de mars sont renvoyées.
  • AvrilLes données d’avril sont renvoyées.
  • MaiLes données de mai sont renvoyées.
  • JuinLes données de juin sont renvoyées.
  • JuilletLes données de juillet sont renvoyées.
  • AoûtLes données d’août sont renvoyées.
  • SeptembreLes données de septembre sont renvoyées.
  • OctobreLes données d’octobre sont renvoyées.
  • NovembreLes données de novembre sont renvoyées.
  • December (Décembre)Les données de décembre sont renvoyées.
String
Jours
(Facultatif)

Spécifie le jour de la semaine utilisé pour filtrer les données.

Ce paramètre est actif si le paramètre Time Definition (Définition temporelle) a pour valeur Days (Jours).

  • LundiLes données du lundi sont renvoyées.
  • MardiLes données du mardi sont renvoyées.
  • MercrediLes données du mercredi sont renvoyées.
  • JeudiLes données du jeudi sont renvoyées.
  • VendrediLes données du vendredi sont renvoyées.
  • SamediLes données du samedi sont renvoyées.
  • DimancheLes données du dimanche sont renvoyées.
String
Intervalle temporel

Intervalle temporel à utiliser pour créer des tranches temporelles. Seuls les nombres entiers constituent des entrées valides.

Time Unit
Sous-ensemble
(Facultatif)

Un ou plusieurs sous-ensembles temporels de chaque itération. Chaque sous-ensemble est défini par une paire de valeurs Subset Delay (Délai du sous-ensemble) et Subset Duration (Durée du sous-ensemble).

Le début de chaque tranche temporelle est décalée par la valeur de Subset Delay (Délai du sous-ensemble) et la plage temporelle de la tranche est définie par la valeur de Subset Duration (Durée du sous-ensemble).

Prenons l’exemple d’une tranche temporelle allant du 1er janvier 2022 1 h (2022-01-01 01:00:00) au 2 janvier 2022 1 h (2022-01-02 01:00:00), avec une valeur de Subset Delay (Délai du sous-ensemble) définie sur 2 heures.

  • Lorsque la valeur de Subset Duration (Durée du sous-ensemble) est définie sur 2 heures, la tranche temporelle commence à 3 h (2022-01-01 00:03:00) et se termine à 5 h (2022-01-01 00:05:00).
  • Lorsque la valeur de Subset Duration (Durée du sous-ensemble) est vide, la tranche temporelle commence à 3 h (2022-01-01 00:03:00) et se termine à 1 h le jour suivant (2022-01-02 01:00:00).
  • Lorsque la valeur de Subset Duration (Durée du sous-ensemble) est définie sur 0, le sous-ensemble renvoie uniquement les données de 3 h (2022-01-01 00:03:00).
Value Table
Champ temporel de début

Champ qui permet de définir l’étendue temporelle (ou le début de l’étendue temporelle) et la requête dans le but de créer des tranches temporelles.

Il est possible de modifier l’étendue temporelle en spécifiant une valeur de date et heure différente pour le paramètre Iteration Start Time (Début de l’itération).

Field
Champ temporel de fin
(Facultatif)

Champ qui permet de définir la fin de l’étendue temporelle et de la requête dans le but de créer des tranches temporelles.

Ce champ peut être ajouté si les données contiennent des champs de date distincts pour le début et la fin. Si les données contiennent un seul champ pour le début et la fin, laissez ce paramètre vide ou attribuez-lui la même valeur qu’à Start Time Field (Champ temporel de début).

Field
Début de l’itération
(Facultatif)

Heure de début qui crée un sous-ensemble de données à partir de la valeur de date et d’heure spécifiée.

Date
Capturer le début de l’itération sur les données
(Facultatif)

Indique si le début de l’itération doit être aligné sur la date la plus proche dans les données.

  • Sélectionné : le début de l’itération est aligné sur la date la plus proche dans les données, identique ou postérieure à la date indiquée pour le paramètre Iteration Start Time (Début de l’itération).

    Par exemple, si la valeur du paramètre Iteration Start Time (Début de l’itération) est 2022-01-01 et que les données commencent le 2022-01-06, l’itération commencera le 2022-01-06 et les données seront divisées selon l’intervalle temporel défini par le paramètre Time Step Interval (Intervalle temporel). Pour un intervalle temporel d’un mois, la tranche va du 2022-01-06 au 2022-02-06, etc.

  • Non sélectionné : le début de l’itération est aligné sur la date indiquée pour le paramètre Iteration Start Time (Début de l’itération). Il s’agit de l’option par défaut.

    Par exemple, si la valeur du paramètre Iteration Start Time (Début de l’itération) est 2022-01-01 et que les données commencent le 2022-01-06, l’itération commencera quand même le 2022-01-06 et les données seront divisées selon l’intervalle temporel défini par le paramètre Time Step Interval (Intervalle temporel). Pour un intervalle temporel d’un mois, la tranche va du 2022-01-01 au 2022-02-01, etc.

Boolean
Fin de l’itération
(Facultatif)

Heure de fin qui crée un sous-ensemble de données se terminant à la valeur de date et d’heure spécifiée ou avant.

Date
Capturer la fin de l’itération sur les données
(Facultatif)

Indique si la fin de l’itération doit être alignée sur la date la plus proche dans les données.

  • Sélectionné : la fin de l’itération est alignée sur la date la plus proche dans les données, identique ou antérieure à la date indiquée pour le paramètre Iteration End Time (Fin de l’itération).

    Par exemple, si la valeur du paramètre Iteration End Time (Fin de l’itération) est 2022-12-31 et que les données se terminent le 2022-12-28, l’itération se terminera le 2022-12-28. La dernière tranche peut être plus petite que l’intervalle temporel défini.

  • Non sélectionné : la fin de l’itération est alignée sur la date la plus proche indiquée pour le paramètre Iteration End Time (Fin de l’itération). Il s’agit de l’option par défaut.

    Par exemple, si la valeur du paramètre Iteration End Time (Fin de l’itération) est 2022-12-31 et que les données se terminent le 2022-12-28, l’itération se termine le 2022-12-31. La dernière tranche est divisée conformément à l’intervalle temporel, mais se termine selon la valeur de Iteration End Time (Fin de l’itération) spécifiée.

Boolean
Inclure le début
(Facultatif)

Indique si l’heure de début doit être incluse dans chaque tranche temporelle.

  • Sélectionné : l’heure de début est incluse dans chaque tranche temporelle. Il s’agit de l’option par défaut.
  • Non sélectionné : l’heure de début n’est pas incluse dans chaque tranche temporelle.
Boolean
Inclure la fin
(Facultatif)

Indique si l’heure de fin doit être incluse dans chaque tranche temporelle. Si les options Include Start (Inclure le début) et Include End (Inclure la fin) sont sélectionnées, le même événement sera compté deux fois. Si un événement s’est produit à la fin de la tranche précédente, il est également compté dans la tranche suivante (option Inclure le début). Cela peut être utile pour les événements continus. Par exemple, un incendie est en cours depuis trois jours et vous voulez connaître le nombre total d’enregistrements d’incendie, nouveaux et existants.

  • Sélectionné : les valeurs inférieures ou égales à l’heure de fin sont incluses.
  • Non sélectionné : les valeurs inférieures à l’heure de fin sont incluses. Il s’agit de l’option par défaut.
Boolean
Ignorer les valeurs NULL
(Facultatif)

Indique si les lignes comportant des valeurs de date et heure nulles doivent être incluses. Ce paramètre est disponible lorsque les paramètres Start Time Field (Champ temporel de début) et End Time Field (Champ temporel de fin) indiquent des champs de date différents.

  • Activé : les lignes comportant des valeurs de date et heure nulles ne sont pas incluses. Il s’agit de l’option par défaut.
  • Désactivé : les lignes comportant des valeurs de date et heure nulles doivent être incluses.

Désélectionnez ce paramètre dans les cas suivants :

  • La valeur du paramètre Start Time Field (Champ temporel de début) est nulle : toute ligne comportant une valeur nulle pour le paramètre Start Time Field (Champ temporel de début) est incluse dans toutes les tranches temporelles se terminant au moment défini par la valeur du paramètre End Field (Champ de fin) ou avant.
  • La valeur du paramètre End Time Field (Champ temporel de fin) est nulle : touteligne comportant une valeur nulle pour le paramètre End Time Field (Champ temporel de fin) est incluse dans toutes les tranches temporelles qui commencent à partir du moment défini par la valeur du paramètre Start Field (Champ de début).
  • Les valeurs des paramètres Start Time Field (Champ temporel de début) et End Time Field (Champ temporel de fin) sont nulles : toute ligne comportant une valeur nulle pour les paramètres Start Field (Champ de début) et End Field (Champ de fin) est incluse dans chaque tranche temporelle.

Boolean
Mettre en forme la chaîne temporelle en sortie
(Facultatif)

Indique si les caractères réservés sont supprimés des valeurs des paramètres Start Time (Heure de début) et End Time (Heure de fin). Seuls les caractères alphanumériques et les traits de soulignement sont conservés.

  • Sélectionné : les caractères réservés sont supprimés des valeurs des paramètres Start Time (Heure de début) et End Time (Heure de fin). Par exemple, si la valeur de date et heure est 2022-01-01 08:30:00, la chaîne mise en forme est 2022_01_01_08_30_00.
  • Non sélectionné : les caractères réservés ne sont pas supprimés des valeurs des paramètres Start Time (Heure de début) et End Time (Heure de fin). Il s’agit de l’option par défaut.
Boolean
Ignorer les tranches vides
(Facultatif)

Indique si les tranches temporelles vides doivent être supprimées. Une tranche temporelle vide ne contient aucune ligne.

  • Sélectionné : les tranches temporelles vides sont supprimées. Par exemple, les données en entrée ne contiennent aucun enregistrement pour 2022-01-02 et 2022-01-03. Avec un intervalle d’un jour du 2022-01-01 au 2022-01-05, cette option ignore ces deux tranches temporelles sans qu’aucune couche vide ne soit renvoyée. Il s’agit de l’option par défaut.
  • Non sélectionné : les tranches temporelles vides ne sont pas supprimées. Par exemple, les données en entrée ne contiennent aucun enregistrement pour 2022-01-02 et 2022-01-03. Avec un intervalle d’un jour du 2022-01-01 au 2022-01-05, cette option conserve ces deux tranches temporelles. Des couches vides sont alors renvoyées.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Couche temporelle en sortie

Couche comportant les lignes sélectionnées qui correspondent aux critères de création de tranches temporelles

Any Value
Heure de début

Heure de début de chaque tranche temporelle.

String
Heure de fin

Heure de fin de chaque tranche.

String
Effectif

Nombre de lignes dans chaque tranche.

Long

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.