Les données temporelles peuvent être stockées de différentes façons. Voici certaines des pratiques conseillées que vous pouvez suivre pour stocker vos 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. 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.
S’il n’est pas possible d’utiliser un champ de date, vous pouvez stocker les horodatages de vos données dans des champs de type chaîne ou numérique. Vous pouvez par exemple stocker les données annuelles sous la forme suivante : 2000, 2001, etc. 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 également 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 AllSource, 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 seule table ou dans des tables séparées.
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 seul champ, une entité ayant une valeur nulle ne peut pas être comprise dans un intervalle de temps et est exclue.
Vous avez un commentaire à formuler concernant cette rubrique ?