Itérer sur le temps (ModelBuilder)

Utilisation

  • Cet outil n’est disponible qu’à partir du ruban 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, vous pouvez itérer sur des données horaires pour toute 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 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 Date To Data (Capturer le début de l’itération sur les données) et Snap Iteration End Date 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 d’une itération sur la valeur datetime 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 datetime 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

  • Lorsque le même champ datetime 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 datetime 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 datetime 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
Table en entrée

Table en entrée à itérer.

Table View; Feature Layer
Intervalle temporel

Spécifie l’intervalle temporel à utiliser pour créer des tranches temporelles. Seuls les nombres entiers constituent des entrées valides.

  • MinutesLes données sont divisées en minutes.
  • HeuresLes données sont divisées en heures.
  • JoursLes données sont divisées en jours.
  • SemainesLes données sont divisées en semaines.
  • MoisLes données sont divisées en mois.
  • AnnéesLes données sont divisées en années.
  • DécenniesLes données sont divisées en décennies.
  • SièclesLes données sont divisées en siècles.
Time Unit
Champ temporel de début

Champ utilisé pour définir l’étendue temporelle et interroger pour créer des tranches temporelles.

L’étendue temporelle peut être modifiée en spécifiant une valeur datetime différente pour le paramètre Iteration Start Time (Début de l’itération).

Field
Champ temporel de fin
(Facultatif)

Champ servant à définir la fin de l’étendue temporelle et à interroger pour 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)

Crée un sous-ensemble de données à partir de la valeur datetime spécifiée, et après celle-ci.

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)

Crée un sous-ensemble de données jusqu’à la valeur datetime spécifiée, et avant celle-ci.

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 terminera le 2022-12-31. La dernière tranche sera divisée conformément à l’intervalle temporel, mais elle se terminera selon la valeur Iteration End Time (Fin de l’itération) datetime 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 datetime nulles doivent être incluses. Ce paramètre est disponible lorsque les valeurs des paramètres Start Time Field (Champ d’heure de début) et End Time Field (Champ d’heure de fin) indiquent des champs de date différents.

  • Sélectionné : les lignes comportant des valeurs datetime nulles ne sont pas incluses. Il s’agit de l’option par défaut.
  • Non sélectionné : les lignes comportant des valeurs datetimes sont incluses.

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

  • La valeur du paramètre Start Time Field (Champ d’heure de début) est nulle : toute ligne comportant une valeur nulle pour le paramètre Start Time Field (Champ d’heure de début) est incluse dans toutes les tranches temporelles jusqu’à la fin de l’étendue temporelle depuis la valeur du paramètre End Field (Champ de fin).
  • La valeur du paramètre End Time Field (Champ d’heure de fin) est nulle : toute ligne comportant une valeur nulle pour le paramètre End Time Field (Champ d’heure de fin) est incluse dans toutes les tranches temporelles, sauf si elle n’est pas comprise dans la requête pour la tranche temporelle concernée.
  • Les valeurs des paramètres Start Time Field (Champ d’heure de début) et End Time Field (Champ d’heure 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 datetime est 2022-01-01 08:30:00, la chaîne mise en forme sera 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 (nombre de lignes égal à 0) 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 permet d’ignorer ces deux tranches temporelles sans qu’aucune couche vide 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 permet de conserver 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.

String
Heure de fin

Heure de fin de chaque tranche.

String
Total

Nombre de lignes dans chaque tranche.

Long

Environnements

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