Les données temporelles peuvent être stockées de différentes façons. Voici quelques bonnes pratiques que vous pouvez suivre pour stocker des données temporelles.
Stocker des horodatages dans un champ de date
Il est recommandé de stocker les horodatages de vos données temporelles dans un champ de date dédié. Il s’agit d’un type de champ de base de données qui permet de stocker les informations de date et d’heure. Il optimise les performances des requêtes et prend en charge des requêtes de base de données plus sophistiquées que lorsque vous stockez des valeurs temporelles dans un champ numérique ou de chaîne. En fonction de vos sources de données, les types de champs de données disponibles sont Date, DateOnly, TimeOnly et TimestampOffset.
S’il n’est pas possible d’utiliser un champ de date dédié, vous pouvez stocker les horodatages de vos données dans des champs de type chaîne ou numérique. Par exemple, vous pouvez stocker des données annuelles sous la forme 2000, 2001, etc., ou stocker une valeur de date et d’heure complète telle que 2015-07-04T13:11:26.002, qui utilise le style ISO-8601. Pour les champs de type chaîne, compte tenu de la nécessité d’une interrogation et d’un tri efficaces, les valeurs de texte doivent répertorier les valeurs d’unité de temps de la plus grande à la plus petite, par exemple 20120126 pour le 26 janvier 2012.
Remarque :
L’affichage de date n’est pris en charge que pour la plage des années 100 à 10 000 après JC. Pour des dates en dehors de cette plage, il est recommandé de convertir les valeurs soit en format numérique (et de filtrer à l’aide du curseur de plage) soit en format chaîne (pour étiquetage).
Vous pouvez utiliser l’outil de géotraitement Convertir un champ temporel pour convertir un champ de type chaîne ou numérique contenant des horodatages en champ de date.
Stocker les données temporelles dans un format de ligne
Si vous utilisez des données temporelles dans ArcGIS Pro, stockez les valeurs temporelles associées à des entités individuelles dans un format de ligne. Vous pouvez utiliser le curseur temporel pour parcourir vos données dans le temps. Le curseur temporel filtre l’affichage en fonction de la couche pour n’afficher que les lignes dans une période spécifiée.
Chaque entité ou ligne d’une table peut avoir des valeurs temporelles dans un champ unique représentant un moment donné ou des valeurs temporelles dans deux champs représentant une durée avec un début et une fin d’observation.
Selon que les attributs de vos données changent au fil du temps ou que la forme de chaque entité évolue au fil du temps, vous pouvez stocker vos données temporelles dans une table unique ou dans des tables distinctes.
Les données temporelles sont souvent représentées dans des colonnes de votre table attributaire. Par exemple, les coûts médicaux par comté pour 1990, 1991 et 1992 peuvent être répertoriés dans des colonnes distinctes sur une seule ligne dans la table. Pour visualiser ces données au fil du temps en utilisant les fonctions de filtrage des données du curseur temporel, vous devez reformater la table de façon à ce que les valeurs temporelles soient au format ligne.
Indexer les champs contenant des valeurs temporelles
Pour optimiser la visualisation du temps et les performances des requêtes, il est recommandé d’indexer les champs contenant les valeurs temporelles. Vous pouvez utiliser l’outil de géotraitement Ajouter un index attributaire pour ajouter un index à un champ d’une table ou classe d’entités existante.
Utiliser l'heure standard
Pour les données temporelles collectées dans des régions qui adoptent l’heure d’été, vous devez essayer de stocker les valeurs temporelles dans vos données en heure standard. Les données collectées avec l'heure d'été peuvent être difficiles à gérer. L'heure d'été peut varier selon les régions, et les règles qui régissent le passage à l'heure d'été peuvent évoluer avec le temps.
Le stockage des valeurs temporelles en heure standard évite toute perte ou superposition des données au cours de leur compilation et permet de visualiser le temps pendant les heures de transition sans aucune ambiguïté.
Utiliser des valeurs nulles dans un champ temporel
Il arrive qu’une valeur nulle soit stockée dans un champ temporel. Par exemple, une couche comprenant une heure de début et une heure fin peut utiliser une heure de fin nulle pour indiquer qu’une entité existe dans le futur. Puis, à mesure de l’avancée du curseur temporel, l’entité apparaît lorsque l’heure de début est incluse et continue à être affichée pendant le reste de la lecture. L’inverse est également vrai : une heure de début nulle indique que l’entité existe dans le passé et celle-ci s’affiche immédiatement depuis le début jusqu’à ce que l’heure de fin soit atteinte.
Toutefois, lorsque le temps est stocké dans un champ unique, une entité ayant une valeur nulle ne peut pas être comprise dans un intervalle de temps et est exclue.
Déterminer le type de champ de date à utiliser
La manière dont vous stockez vos données et prévoyez d’utiliser la date a des répercussions directes sur les types de champs de date et d’heure recommandés. Il est important de faire le bon choix en fonction de vos besoins. Quatre types de champs de date sont disponibles : Date, DateOnly, TimeOnly et TimestampOffset.
Le tableau suivant détaille les considérations à prendre en compte pour déterminer le type de champ de date à utiliser :
Type de champ de date | Ce qu’il contient | Comment le fuseau horaire est défini | À quoi est-il adapté |
---|---|---|---|
Date | Date et heure | S’il s’agit d’une couche temporelle, un fuseau horaire peut être défini pour la couche, ce qui permet de définir une position absolue dans le temps. Toutes les valeurs du champ sont censées se trouver dans le même fuseau horaire. | Valeurs temporelles toutes en UTC (Exemple 1) ou toutes dans le même fuseau horaire local (Exemple 2).
|
DateOnly Héritage :Ce format a été présenté dans ArcGIS Pro 3.2. | Composant de date uniquement | Lorsque la couche devient temporelle, le fuseau horaire est défini sur None (Aucun). Cela signifie que la partie relative à la date du curseur temporel, quel que soit le fuseau horaire de la carte, est utilisé pour filtrer et afficher le contenu. Remarque :Une seule journée du champ DateOnly présente une durée effective de 24 heures, les lignes étant donc affichées même si le curseur temporel filtre une partie de cette journée. | Données capturées dans la granularité des jours ou lorsqu’un élément s’applique ou représente l’ensemble de la journée.
|
TimeOnly Héritage :Ce format a été présenté dans ArcGIS Pro 3.2. | Composante temporelle uniquement | Les couches utilisant le champ TimeOnly ne peuvent pas devenir des couches temporelles. | Données qui se répètent tous les jours ou contenu dans lequel seule la composante temporelle compte.
|
TimestampOffset Héritage :Ce format a été présenté dans ArcGIS Pro 3.2. | Décalage de date, d’heure et de fuseau horaire relatif par rapport à UTC | La valeur de décalage de fuseau horaire étant déjà stockée avec la valeur dans chaque cellule, il n’y a aucune possibilité de choisir un fuseau horaire nommé pour la couche. Chaque valeur de la table peut utiliser un décalage horaire différent. Remarque :Le décalage en heures indique le décalage temporel par rapport au temps universel coordonné (UTC) plutôt que par rapport à un fuseau horaire nommé, par exemple l’heure normale du Pacifique. Plusieurs fuseaux horaires nommés pouvant partager le même décalage temporel, le stockage n’est pas un fuseau horaire particulier avec une meilleure prise en compte de l’heure d’été ou des changements historiques. | Les valeurs temporelles dont les dates traversent plusieurs fuseaux horaires et la valeur d’heure locale sont importantes.
|
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?