Résumé
Utilise des données de panel ou de station (emplacements définis où la géographie ne change pas, mais où les attributs évoluent au fil du temps) et les structure en format de données netCDF en créant des groupes spatio-temporels. Pour tous les emplacements, l'évolution des variables ou des champs de récapitulation est évaluée.
Illustration
Utilisation
Cet outil utilise des données de panel ou de station (emplacements définis où la géographie ne change pas, mais où les attributs évoluent au fil du temps) comme entités en entrée et les structure dans des groupes spatio-temporels. La structure de données qui en résulte peut être considérée comme un cube tridimensionnel constitué de groupes spatio-temporels, les dimensions x et y représentant l'espace et la dimension t représentant le temps.
Chaque groupe possède une position fixe dans l'espace (emplacement x,y si les entrées sont des points et un ensemble fixe de sommets si les entrées sont des emplacements surfaciques) et dans le temps (t). Les groupes couvrant la même surface d'emplacements définis (x,y ou sommets) partagent le même ID d'emplacement. Les groupes englobant la même durée partagent le même ID d'intervalle temporel.
Chaque groupe dans le cube spatio-temporel présente une valeur LOCATION_ID, time_step_ID et COUNT, ainsi que les valeurs de toutes les Variables (Variables) ou Summary Fields (Champs de récapitulation) qui ont été inclus lors de la création du cube. Les groupes associés au même emplacement physique partagent le même ID d'emplacement et constituent ensemble une série chronologique. Les groupes associés au même intervalle temporel partagent le même ID d'intervalle temporel et constituent ensemble une tranche de temps.
Les entités en entrée peuvent être des points ou des polygones et doivent représenter des emplacements définis ou fixes avec des attributs associés qui ont été collectés au fil du temps. Ce type de données est communément nommé données de panel ou de station. Le champ contenant l'horodatage de l'événement doit être de type Date.
Remarque :
Si vos entités en entrée sont stockées dans une géodatabase fichier et contiennent des courbes vraies (stockées sous forme d'arcs et non avec des sommets), les formes surfaciques sont déformées une fois stockées dans le cube spatio-temporel. Pour savoir si vos entités en entrée contiennent des courbes vraies, exécutez l'outil Vérifier les géométries avec la méthode de validation OGC. Si un message d'erreur indiquant que l'option sélectionnée ne prend pas en charge les segments non linéaires apparaît, des courbes vraies sont présentes dans votre jeu de données et risquent d'être éliminées et remplacées par des sommets à l'aide de l'outil Densifier avec la méthode de densification Angle avant de créer le cube spatio-temporel.
Les entités en entrée peuvent être des formes répétées contenues dans la même classe d'entités ou un ensemble d'entités avec une table associée contenant les attributs enregistrés au fil du temps.
L'outil échoue si les paramètres spécifiés génèrent un cube doté de plus de deux milliards de groupes.
Cet outil nécessite des données projetées pour mesurer précisément les distances.
Si l'option Agrégation temporelle est sélectionnée, le cube spatio-temporel obtenu contient la valeur numérique de chaque groupe représentant le nombre d'événements qui ont eu lieu à l'emplacement associé dans l'intervalle temporel associé.
La sortie de cet outil est une représentation netCDF de vos entités en entrée, ainsi que des messages récapitulant les caractéristiques du cube. Les messages sont écrits au bas de la fenêtre Géotraitement au cours de l'exécution de l'outil. Vous pouvez accéder aux messages en survolant la barre de progression, en cliquant sur le bouton contextuel ou en développant la section des messages dans la fenêtre Géotraitement. Vous pouvez également accéder aux messages d'une précédente exécution de l'outil via l'historique du géotraitement. Vous pouvez utiliser le fichier netCDF en entrée dans d'autres outils, tels que Analyse des points chauds émergents ou Analyse de valeurs aberrantes locales. Reportez-vous à la rubrique Visualisation du cube spatio-temporel pour découvrir les stratégies vous permettant de consulter le contenu d'un cube.
Sélectionnez un champ de type Date pour le paramètre Champ temporel. Si l'entrée est constituée de formes répétées, ce champ doit contenir l'horodatage associé à chaque entité. Si l'entrée comporte une table associée, ce champ sera l'horodatage associé à chaque enregistrement dans la table.
L'intervalle temporel définit la façon dont vous voulez partitionner la période couverte par vos données. Si l'agrégation temporelle est désactivée, l'intervalle temporel doit être défini sur la structure existante de vos données. Par exemple, si vous possédez des données de recensement qui ont été collectées tous les cinq ans, l'entrée doit être 5 ans. Activez ce paramètre si vous souhaitez effectuer une agrégation temporelle. Par exemple, si vous possédez des données de capteur qui ont été enregistrées toutes les 5 minutes, vous pouvez procéder à une agrégation à l'aide d'intervalles d'une journée. Les intervalles temporels sont toujours des durées fixes et l'outil requiert un minimum de dix phases.
Remarque :
Alors que plusieurs unités de temps apparaissent dans la liste déroulante Intervalle temporaire, l'outil ne prend en charge que les valeurs Années, Mois, Semaines, Jours, Heures, Minutes et Secondes.
Si votre cube spatio-temporel ne peut pas être créé, l'outil est peut-être incapable de structurer les données en entrée que vous avez fournies en 10 intervalles temporels. Si un message d'erreur s'affiche lors de l'exécution de cet outil, examinez les horodatages de l'entrée pour vérifier qu'ils incluent une plage de valeurs (au moins dix). La plage de valeurs doit couvrir au moins 10 secondes, car il s'agit du plus petit incrément temporel accepté par l'outil. 10 intervalles temporels sont requis par la statistique Mann-Kendall.
L'heure/la date de référence peut être une valeur de date et d'heure ou simplement une valeur de date, mais pas uniquement une valeur d'heure. Le format attendu est fonction des paramètres régionaux de l’ordinateur.
L'analyse de tendance réalisée sur les variables agrégées ou les valeurs de champ de récapitulation repose sur la statistique de Mann-Kendall.
Cet outil permet les opérations statistiques suivantes pour l'agrégation des attributs : Somme, Moyenne, Minimum, Maximum, Ecart type et Médiane.
Les valeurs nulles présentes dans les enregistrements des champs de récapitulation entraînent l’exclusion de ces entités du cube en sortie. Si des valeurs nulles sont présentes dans Input Features (Entités en entrée), il est fortement recommandé d’exécuter d’abord l’outil Fill Missing Values (Remplir les valeurs manquantes). Si, après l’exécution de l’outil Fill Missing Values (Remplir les valeurs manquantes), des valeurs nulles sont toujours présentes et que le fait de disposer du total des points dans chaque groupe fait partie de votre stratégie d’analyse, vous pouvez créer des cubes distincts, un pour le total (sans Summary Fields (Champs de récapitulation)) et un pour Summary Fields (Champs de récapitulation). Si l'ensemble de valeurs Null est différent pour chaque champ de récapitulation, vous pouvez également créer un cube distinct pour chaque champ de récapitulation.
Lorsque vous remplissez des groupes vides avec SPATIAL_NEIGHBORS, l'outil effectue des estimations en fonction des 8 voisins les plus proches. Au minimum 4 de ces voisins spatiaux doivent comporter des valeurs pour remplir le groupe vide à l'aide de cette option.
Lorsque vous remplissez des groupes vides avec SPACE_TIME_NEIGHBORS, l'outil effectue des estimations en fonction des 8 voisins les plus proches. En outre, des voisins temporels sont utilisés pour chacun des groupes identifiés comme étant des voisins spatiaux en se déplaçant vers l'avant et l'arrière de 1 intervalle temporel. Un minimum de 13 voisins spatio-temporels est nécessaire pour remplir le groupe vide à l'aide de cette option.
Lorsque vous remplissez des groupes vides avec TEMPORAL_TREND, les groupes des deux premières et des deux dernières périodes temporelles à un emplacement donné doivent comporter des valeurs afin d'interpoler les valeurs à d'autres périodes temporelles pour cet emplacement.
Le type de remplissage TEMPORAL_TREND utilise la méthode de spline univariée interpolée du paquetage d'interpolation de SciPy.
Cet outil peut tirer parti des performances accrues disponibles dans les systèmes équipés de plusieurs processeurs (ou de processeurs multicœur). L’outil s’exécute par défaut avec 50 % des processeurs disponibles. Toutefois, le nombre de processeurs peut être augmenté ou réduit à l’aide de l’environnement Facteur de traitement parallèle. L’augmentation de la vitesse de traitement est davantage visible lors de la création de cubes spatio-temporels plus volumineux.
Syntaxe
CreateSpaceTimeCubeDefinedLocations(in_features, output_cube, location_id, temporal_aggregation, time_field, {time_step_interval}, {time_step_alignment}, {reference_time}, {variables}, {summary_fields}, {in_related_table}, {related_location_id})
Paramètre | Explication | Type de données |
in_features | La classe d'entités ponctuelles ou surfaciques en entrée à convertir en cube spatio-temporel. | Feature Layer |
output_cube | Le cube de données netCDF en sortie qui sera créé. | File |
location_id | Champ d’entier contenant le numéro d’identification de chaque emplacement unique. | Field |
temporal_aggregation |
| Boolean |
time_field | Le champ contenant l'horodatage pour chaque ligne du jeu de données. Ce champ doit être de type Date. | Field |
time_step_interval (Facultatif) | Nombre de secondes, minutes, heures, jours, semaines ou années qui représenteront une seule phase. Voici un exemple d'entrées valides pour ce paramètre : 1 semaine, 13 jours ou 1 mois. Si l'temporal_aggregation est désactivée, vous n'effectuez pas d'agrégation temporelle et ce paramètre doit être défini sur la structure temporelle existante de vos données. Si l'temporal_aggregation est activée, vous effectuez l'agrégation temporelle et ce paramètre doit être défini sur l'time_step_interval que vous voulez créer. Toutes les entités au sein du même time_step_interval seront agrégées. | Time Unit |
time_step_alignment (Facultatif) | Définit la structure du cube en fonction d'un time_step_interval donné.
| String |
reference_time (Facultatif) | Date/heure à utiliser pour aligner les intervalles temporels. Si vous souhaitez regrouper vos données de façon hebdomadaire du lundi au dimanche, par exemple, définissez une heure/date de référence le dimanche à minuit pour vous assurer que les groupes sont séparés entre le dimanche et le lundi à minuit. | Date |
variables [[Field, Fill Empty Bins with],...] (Facultatif) | Le champ numérique contenant les valeurs attributaires qui seront importées dans le cube spatio-temporel. Types de remplissage disponibles :
Remarque :Les valeurs nulles présentes dans des enregistrements de variables génèrent un groupe vide. Si des valeurs nulles sont présentes dans vos entités en entrée, il est fortement recommandé d’exécuter d’abord l’outil Fill Missing Values (Remplir les valeurs manquantes). | Value Table |
summary_fields [[Field, Statistic, Fill Empty Bins with],...] (Facultatif) | Champ numérique contenant les valeurs attributaires qui permettent de calculer les statistiques indiquées lors de l'agrégation dans un cube spatio-temporel. Vous pouvez spécifier plusieurs combinaisons de statistiques et de champs. Les valeurs nulles présentes dans les champs spécifiés entraînent la suppression de ces entités du cube en sortie. Si des valeurs nulles sont présentes dans vos entités en entrée, il est fortement recommandé d’exécuter d’abord l’outil Fill Missing Values (Remplir les valeurs manquantes) avant de créer un cube spatio-temporel. Types de statistiques disponibles :
Types de remplissage disponibles :
Remarque :Les valeurs nulles présentes dans les enregistrements des champs de récapitulation entraînent l’exclusion de ces entités du cube en sortie. Si des valeurs nulles sont présentes dans Input Features (Entités en entrée), il est fortement recommandé d’exécuter d’abord l’outil Fill Missing Values (Remplir les valeurs manquantes). Si, après l’exécution de l’outil Fill Missing Values (Remplir les valeurs manquantes), des valeurs nulles sont toujours présentes et que le fait de disposer du total des points dans chaque groupe fait partie de votre stratégie d’analyse, vous pouvez créer des cubes distincts, un pour le total (sans Summary Fields (Champs de récapitulation)) et un pour Summary Fields (Champs de récapitulation). Si l'ensemble de valeurs Null est différent pour chaque champ de récapitulation, vous pouvez également créer un cube distinct pour chaque champ de récapitulation. | Value Table |
in_related_table (Facultatif) | La table ou la vue tabulaire à associer dans les entités en entrée. | Table View |
related_location_id (Facultatif) | Champ d’entier dans la table associée qui contient l’ID d’emplacement sur lequel reposera la relation. | Field |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil CreateSpaceTimeCubeDefinedLocations.
import arcpy
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"
arcpy.CreateSpaceTimeCubeDefinedLocations_stpm("Chicago_Data", r"C:\STPM\Chicago_Cube.nc", "MYID",
"NO_TEMPORAL_AGGREGATION", "TIME", "1 Months",
"END_TIME", "", "COUNT ZEROS")
Le script Python autonome ci-dessous illustre l'utilisation de l'outil CreateSpaceTimeCubeDefinedLocations.
# Fill missing values using a feature set and related table
# Use the results to create a space-time cube from defined locations
# Run Emerging Hot Spot Analysis on the data
# Visualize the results in 3d
# Import system modules
import arcpy
# Set geoprocessor object property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables ...
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"
try:
# Fill missing values in a feature class containing block group polygon shapes and a related table containing the incidents
# Since some of the values are missing we will fill them using the temporal trend method.
arcpy.FillMissingValues_stpm("Chicago_Feature", "Chicago_FilledFeature", "COUNT", "TEMPORAL_TREND", "", "", NoneNone,
"TIME", "", "MYID", "Chicago_Table", "MYID", "", "", "", "Chicago_FilledTable")
# Create a defined location space time cube using a related table
# Using a reference time at the start of the month to force binning fall on month breaks
# Using temporal aggregation to sum multiple entries into one month
# Using the method drop location if missing values since we already filled using Fill Missing Values
arcpy.CreateSpaceTimeCubeDefinedLocations_stpm("Chicago_FilledFeature", r"C:\STPM\Chicago_Cube.nc", "MYID",
"APPLY_TEMPORAL_AGGREGATION", "TIME", "1 Months", "REFERENCE_TIME",
"10/1/2015", "", "COUNT SUM DROP_LOCATIONS", "Chicago_FilledTable",
"MYID")
# Run an emerging hot spot analysis on the defined locations cube
# Using contiguity edges so only block groups which bound each other are considered neighbours
arcpy.EmergingHotSpotAnalysis_stpm(r"C:\STPM\Chicago_Cube.nc", "COUNT_SUM_NONE",
"Chicago_Cube_EmergingHotSpot", "", 1, "",
"CONTIGUITY_EDGES_ONLY")
# Use Visualize Cube in 3d to see the hot spot results for each time slice
arcpy.VisualizeSpaceTimeCube3D_stpm(r"C:\STPM\Chicago_Cube.nc", "COUNT_SUM_NONE", "HOT_AND_COLD_SPOT_RESULTS",
"Chicago_Cube_Visualize3d")
except arcpy.ExecuteError:
# If any error occurred when running the tool, print the messages
print(arcpy.GetMessages())
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
- Fonctionnement de l'outil Créer un cube spatio-temporel
- Analyse de points chauds émergents
- Analyse de valeurs aberrantes locales
- Agrégation de séries chronologiques
- Visualisation du cube spatio-temporel
- Qu'est-ce qu'un score z ? Qu'est-ce qu'une valeur p ?
- Présentation de la boîte à outils d'exploration des modèles spatio-temporels
- Rechercher un outil de géotraitement
Vous avez un commentaire à formuler concernant cette rubrique ?