Créer un cube spatio-temporel (GeoAnalytics)

Synthèse

Synthétise un ensemble de points dans une structure de données netCDF en les agrégeant dans des groupes spatio-temporels. Au sein de chaque groupe, les points sont comptabilisés, et les attributs spécifiés sont agrégés. Pour tous les emplacements des groupes, l'évolution de la comptabilisation, ainsi que les valeurs de champ de récapitulation, sont évaluées.

Illustration

Création d'un cube spatio-temporel

Utilisation

  • Cet outil agrège des entités de couche de points 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.

    Groupes spatio-temporels dans un cube tridimensionnel

  • Chaque groupe présente une position fixe dans l'espace (x,y) et dans le temps (t). Les bins couvrant la même surface (x, y) partagent le même ID d'emplacement. Les bins englobant la même durée partagent le même ID d'intervalle temporel. Puisque le cube est toujours rectangulaire, même si les données ponctuelles ne le sont pas, certains emplacements présenteront un nombre de points nul pour tous les pas de temps. Pour de nombreuses analyses, seuls les emplacements comportant des données, avec au moins un nombre de points supérieur à zéro pour au moins un intervalle temporel, seront inclus dans l'analyse.

    Emplacements dans le cube spatio-temporel

  • Chaque groupe dans le cube spatio-temporel présente des valeurs de champs LOCATION_ID, time_step_ID et COUNT, et des valeurs pour les champs Summary Fields (Champs de récapitulation) ayant été agrégés 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. La valeur numérique de chaque groupe représente le nombre de points présents à l'emplacement associé de l'intervalle temporel associé.

  • Le paramètre Couche de points doit consister en points, tels que des délits ou des incendies, des maladies, des données sur les ventes clients ou des accidents de la circulation. Chaque point doit être associé à une date. L’outil requiert un minimum de 60 points et divers horodatages. 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 requiert des données projetées pour mesurer précisément les distances.

  • La sortie produite par cet outil est une représentation netCDF des points en entrée. Le cube spatio-temporel résultant sera directement téléchargé sur la machine sur laquelle vous exécutez l'analyse. L'emplacement sera spécifié dans les messages de l'outil.

  • Il n'est pas rare pour un jeu de données que sa distribution temporelle soit espacée régulièrement. Par exemple, vous pouvez avoir des données annuelles qui tombent toutes le 1er janvier de chaque année ou des données mensuelles toutes horodatées le premier de chaque mois. Ce type de données est souvent désigné sous le nom de données de panel. Avec les données de panel, les calculs de déformation temporelle afficheront souvent des pourcentages élevés. Ceci est normal, car chaque groupe couvre une seule unité de temps en particulier dans l'intervalle donné. Par exemple, si vous avez défini Time Interval (Intervalle temporel) sur 1 an et que vos données tombaient le 1er janvier de chaque année, chaque groupe ne couvre qu’un jour de l’année. Ceci est parfaitement acceptable, car cela s'applique à chaque groupe. La déformation temporelle pose problème lorsqu'elle est uniquement présente pour certains groupes en raison des paramètres de création des groupes au lieu d'une distribution réelle des données. Il est important d’évaluer la déformation temporelle en termes de couverture attendue dans chaque groupe en fonction de la distribution des données.

  • La déformation temporelle dans le rapport en sortie est calculée en tant que pourcentage de la période temporelle qui ne comporte aucune donnée. Par exemple, un groupe vide aurait une déformation temporelle de 100 pour cent. Un groupe associé à une période d’un mois et un alignement d’intervalle temporel (Time Interval Alignment) de fin qui ne comporte de données que pour les deux dernières semaines du premier pas de temps aura une déformation temporelle de 50 pour cent dans le premier intervalle temporel. Un groupe associé à une période d’un mois et un alignement d’intervalle temporel (Time Interval Alignment) de début qui ne comporte de données que pour les deux premières semaines du dernier pas de temps aura une déformation temporelle de 50 pour cent dans le dernier intervalle temporel.

  • Une fois le cube spatio-temporel créé, l'étendue spatiale du cube ne peut jamais être étendue.

  • Le paramètre Reference Time (Référence temporelle) peut être une valeur de date et d’heure ou simplement une valeur de date, mais pas uniquement une valeur d’heure.

  • Utilisez un intervalle de distance (Distance Interval) ayant un sens pour votre analyse. Trouvez l’équilibre entre un intervalle de distance si large que les modèles sous-jacents dans vos données ponctuelles sont perdus, et un intervalle de distance si petit que le cube est rempli par la valeur zéro.
  • L'analyse de tendance réalisée sur les données de total agrégées et les valeurs de champ de récapitulation repose sur la statistique de Mann-Kendall.

  • Cet outil permet d'exécuter les opérations statistiques suivantes pour l'agrégation des attributs : somme, moyenne, minimum, maximum et écart type.

  • Lorsque vous remplissez des groupes vides avec SPATIAL_NEIGHBORS, une contiguïté de type « Queens Case » (contiguïté basée sur les tronçons et les angles) du 2e ordre est utilisée (elle inclut les voisins et les voisins des voisins). Un minimum de 4 voisins spatiaux est nécessaire pour remplir le groupe vide à l'aide de cette option.

  • Lorsque vous remplissez des groupes vides avec SPACE_TIME_NEIGHBORS, une contiguïté de type « Queens Case » (contiguïté basée sur les tronçons et les angles) du 2e ordre est utilisée (elle inclut les voisins et les voisins des voisins). 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 2 intervalles temporels. 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.

  • Les valeurs Null présentes dans les enregistrements des champs de récapitulation entraînent l'exclusion de ces entités de l'analyse. Si 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, envisagez de créer un cube distinct pour chaque champ de récapitulation.

  • Cet outil de géotraitement est optimisé par ArcGIS GeoAnalytics Server. L’analyse est réalisée sur GeoAnalytics Server et les résultats sont stockés dans votre contenu dans ArcGIS Enterprise.

  • Lors de l’exécution des outils GeoAnalytics Server, l’analyse est réalisée sur GeoAnalytics Server. Pour des performances optimales, GeoAnalytics Server doit pouvoir accéder aux données via les couches d’entités hébergées sur votre portail ArcGIS Enterprise ou les partages de fichiers Big Data. Les données qui ne sont pas locales pour GeoAnalytics Server sont transférées sur GeoAnalytics Server avant le début de l’analyse. Autrement dit, l’exécution d’un outil prend plus de temps et, dans certains cas, le transfert des données depuis ArcGIS Pro vers GeoAnalytics Server peut échouer. Le seuil d’échec dépend aussi bien des débits du réseau que de la taille et de la complexité des données. Il est recommandé de toujours partager les données ou de créer un partage de fichiers Big Data.

    Pour en savoir plus sur le partage des données dans votre portail.

    En savoir pus sur la création d’un partage de fichiers Big Data via ArcGIS Server Manager

  • Vous pouvez effectuer une analyse semblable en utilisant :

Paramètres

ÉtiquetteExplicationType de données
Couche de points

Classe d’entités points en entrée à agréger en groupes spatio-temporels.

Feature Set
Nom en sortie

Cube de données netCDF en sortie qui sera créé pour contenir les totaux et les récapitulations des données de points des entités en entrée.

String
Intervalle de distance

Taille des groupes utilisés pour agréger la couche de points (Point Layer). Tous les points qui se trouvent au sein du même intervalle de distance et du même intervalle temporel seront agrégés.

Distance qui détermine la taille du groupe.

Linear Unit
Intervalle temporel

Nombre de secondes, minutes, heures, jours, semaines ou années qui représenteront une seule phase. Tous les points au sein du même intervalle temporel et du même intervalle de distance seront agrégés. Voici un exemple d’entrées valides pour ce paramètre : 1 semaine, 13 jours ou 1 mois.

Time Unit
Alignement de l'intervalle temporel
(Facultatif)

Spécifie comment l’agrégation se produit en fonction du paramètre Time Interval (Intervalle temporel) (time_step_interval dans Python).

  • Heure de finLes pas de temps s’alignent sur le dernier événement temporel et s’agrègent dans le passé.
  • Heure de débutLes pas de temps s’alignent sur le premier événement temporel et s’agrègent dans le futur.
  • Référence temporelleLes pas de temps s’alignent sur une date ou une heure spécifiée. Si la valeur d’horodatage de tous les points des entités en entrée est supérieure à la référence temporelleque vous avez spécifiée (ou si elle correspond exactement à l’heure de début des entités en entrée), l’intervalle temporel commence par cette référence temporelle et procède à une agrégation dans le futur (comme avec l’alignement Start time (Heure de début)). Si la valeur d’horodatage de tous les points des entités en entrée est inférieure à la référence temporelle spécifiée (ou si elle correspond exactement à l’heure de fin des entités en entrée), l’intervalle temporel termine par cette référence temporelle et procède à une agrégation dans le passé (comme avec l’alignement End time (Heure de fin)). Si la référence temporelle spécifiée se trouve au milieu de l’étendue temporelle de vos données, un intervalle temporel est créé qui se termine par la référence temporelle que vous indiquez (comme avec l’alignement End time (Heure de fin)). Des intervalles supplémentaires seront créés avant et après la référence temporelle jusqu’à ce que l’étendue temporelle complète des données soit couverte.
String
Référence temporelle
(Facultatif)
Date
Champs de récapitulation
(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 préciser plusieurs combinaisons de statistiques et de champs. Les valeurs nulles sont exclues de tous les calculs statistiques.

Les types de statistiques disponibles sont les suivants :

  • Sum (Somme) : ajoute la valeur totale du champ spécifié au sein de chaque groupe.
  • Mean (Moyenne) : calcule la moyenne du champ spécifié dans chaque groupe.
  • Minimum : recherche la plus petite valeur parmi tous les enregistrements du champ spécifié dans chaque groupe.
  • Maximum recherche la plus grande valeur parmi tous les enregistrements du champ spécifié au sein de chaque groupe.
  • Standard deviation (Écart type) : recherche l’écart type dans les valeurs du champ spécifié dans chaque groupe.

Les types de remplissage disponibles sont les suivants :

  • Zeros : remplit les groupes vides avec des zéros.
  • Spatial_Neighbors (Voisins spatiaux) : remplit les groupes vides avec la valeur moyenne des voisins spatiaux.
  • Space Time Neighbors (Voisins spatio-temporels) : remplit les groupes vides avec la valeur moyenne des voisins spatio-temporels.
  • Temporal Trend (Tendance temporelle)  : remplit les groupes vides à l’aide d’un algorithme de spline univariée interpolée.

Remarque :
Les valeurs Null présentes dans les champs de récapitulation entraînent l'exclusion de ces entités de l'analyse. Si 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 Champs de récapitulation) et un pour les champs de récapitulation. Si l’ensemble de valeurs Null est différent pour chaque champ de récapitulation, envisagez de créer un cube distinct pour chaque champ de récapitulation.

Value Table

Sortie obtenue

ÉtiquetteExplicationType de données
Fichier en sortie

Cube spatio-temporel agrégé.

Fichier

arcpy.geoanalytics.CreateSpaceTimeCube(point_layer, output_name, distance_interval, time_step_interval, {time_step_interval_alignment}, {reference_time}, {summary_fields})
NomExplicationType de données
point_layer

Classe d’entités points en entrée à agréger en groupes spatio-temporels.

Feature Set
output_name

Cube de données netCDF en sortie qui sera créé pour contenir les totaux et les récapitulations des données de points des entités en entrée.

String
distance_interval

Distance qui détermine la taille du groupe.

Taille des groupes utilisés pour agréger les point_layer. Tous les points qui se trouvent au sein du même distance_interval et du même time_step_interval seront agrégés.

Linear Unit
time_step_interval

Nombre de secondes, minutes, heures, jours, semaines ou années qui représenteront une seule phase. Tous les points au sein du même time_step_interval et du même distance_interval seront agrégés. Voici un exemple d’entrées valides pour ce paramètre : 1 semaine, 13 jours ou 1 mois.

Time Unit
time_step_interval_alignment
(Facultatif)

Spécifie comment l’agrégation se produit en fonction du paramètre Time Interval (Intervalle temporel) (time_step_interval dans Python).

  • END_TIMELes pas de temps s’alignent sur le dernier événement temporel et s’agrègent dans le passé.
  • START_TIMELes pas de temps s’alignent sur le premier événement temporel et s’agrègent dans le futur.
  • REFERENCE_TIMELes pas de temps s’alignent sur une date ou une heure spécifiée. Si la valeur d’horodatage de tous les points des entités en entrée est supérieure à la référence temporelleque vous avez spécifiée (ou si elle correspond exactement à l’heure de début des entités en entrée), l’intervalle temporel commence par cette référence temporelle et procède à une agrégation dans le futur (comme avec l’alignement Start time (Heure de début)). Si la valeur d’horodatage de tous les points des entités en entrée est inférieure à la référence temporelle spécifiée (ou si elle correspond exactement à l’heure de fin des entités en entrée), l’intervalle temporel termine par cette référence temporelle et procède à une agrégation dans le passé (comme avec l’alignement End time (Heure de fin)). Si la référence temporelle spécifiée se trouve au milieu de l’étendue temporelle de vos données, un intervalle temporel est créé qui se termine par la référence temporelle que vous indiquez (comme avec l’alignement End time (Heure de fin)). Des intervalles supplémentaires seront créés avant et après la référence temporelle jusqu’à ce que l’étendue temporelle complète des données soit couverte.
String
reference_time
(Facultatif)

La date ou l’heure qui sera utilisée pour aligner les intervalles temporels. Par exemple, pour grouper les données chaque semaine, de lundi à dimanche, définissez une référence temporelle de dimanche à minuit pour vous assurer que les groupes sont défaits entre dimanche et lundi à minuit.

Date
summary_fields
[summary_fields,...]
(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 préciser plusieurs combinaisons de statistiques et de champs. Les valeurs nulles sont exclues de tous les calculs statistiques.

Les types de statistiques disponibles sont les suivants :

  • Sum (Somme) : ajoute la valeur totale du champ spécifié au sein de chaque groupe.
  • Mean (Moyenne) : calcule la moyenne du champ spécifié dans chaque groupe.
  • Minimum : recherche la plus petite valeur parmi tous les enregistrements du champ spécifié dans chaque groupe.
  • Maximum recherche la plus grande valeur parmi tous les enregistrements du champ spécifié au sein de chaque groupe.
  • Standard deviation (Écart type) : recherche l’écart type dans les valeurs du champ spécifié dans chaque groupe.

Les types de remplissage disponibles sont les suivants :

  • Zeros : remplit les groupes vides avec des zéros.
  • Spatial_Neighbors (Voisins spatiaux) : remplit les groupes vides avec la valeur moyenne des voisins spatiaux.
  • Space Time Neighbors (Voisins spatio-temporels) : remplit les groupes vides avec la valeur moyenne des voisins spatio-temporels.
  • Temporal Trend (Tendance temporelle)  : remplit les groupes vides à l’aide d’un algorithme de spline univariée interpolée.

Remarque :
Les valeurs Null présentes dans les champs de récapitulation entraînent l'exclusion de ces entités de l'analyse. Si 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 Champs de récapitulation) et un pour les champs de récapitulation. Si l’ensemble de valeurs Null est différent pour chaque champ de récapitulation, envisagez de créer un cube distinct pour chaque champ de récapitulation.

Value Table

Sortie obtenue

NomExplicationType de données
output

Cube spatio-temporel agrégé.

Fichier

Exemple de code

CreateSpaceTimeCube (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil CreateSpaceTimeCube.

#-------------------------------------------------------------------------------
# Name: CreateSpaceTimeCube.py
# Description: Create a cube representing the counts of Crimes
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Crimes/BigDataCatalogServer/Chicago"
outCube = "CrimeCube.nc"
# Execute Create Space Time Cube
arcpy.geoanalytics.CreateSpaceTimeCube(inFeatures, outCube, "1 Kilometers", 
                                       "1 Weeks", "START_TIME")

Environnements

Cas particuliers

Système de coordonnées en sortie

Système de coordonnées qui sera utilisé pour l'analyse. L’analyse sera réalisée dans le système de coordonnées en entrée, à moins que ce paramètre en spécifie un autre. Pour GeoAnalytics Tools, les résultats finaux sont stockés dans le Spatiotemporal Data Store dans WGS84.

Informations de licence

  • Basic: Nécessite ArcGIS GeoAnalytics Server
  • Standard: Nécessite ArcGIS GeoAnalytics Server
  • Advanced: Nécessite ArcGIS GeoAnalytics Server

Rubriques connexes