Créer un cube spatio-temporel à partir d’une couche raster multidimensionnelle (Exploration des modèles spatio-temporels)

Synthèse

Crée un cube spatio-temporel à partir d’une couche raster multidimensionnelle et structure les données dans des groupes spatio-temporels pour une analyse spatio-temporelle et une visualisation efficaces.

En savoir plus sur l’ajout et la visualisation de couches raster multidimensionnelles sur des cartes dans ArcGIS Pro

En savoir plus sur la création de cubes spatio- temporels

Illustration

Créez un cube spatio-temporel à partir d’une couche raster multidimensionnelle.
Créez un cube spatio-temporel à partir d’une couche raster multidimensionnelle.

Utilisation

  • Le cube spatio-temporel en sortie peut être analysé pour rechercher des modèles dans l’espace ou dans le temps à l’aide d’outils de la boîte d’outils Space Time Pattern Mining (Exploration des modèles spatio-temporels), y compris Emerging Hot Spot Analysis (Analyse de points chauds émergents), Local Outlier Analysis (Analyse de valeurs aberrantes locales) et Time Series Clustering (Agrégation de séries chronologiques).

  • Le cube spatio-temporel en sortie sera créé à l’aide de la résolution spatiale et temporelle de la couche raster multidimensionnelle en entrée. Chaque groupe spatio-temporel dans le cube en sortie fera référence à une cellule raster unique pour un seul intervalle temporel de l’entrée. Les groupes qui partagent le même emplacement auront le même attribut Location ID (ID d’emplacement) et les groupes qui partagent le même intervalle temporel auront le même attribut Time Step ID (ID d’intervalle temporel).

  • Cet outil est similaire aux outils Create Space Time Cube From Defined Locations (Créer un cube spatio-temporel à partir d’emplacements définis) et Create Space Time Cube By Aggregating Points (Créer un cube spatio-temporel en agrégeant des points), sauf qu’aucune agrégation temporelle ou spatiale n’est utilisée dans cet outil pour la conversion. Les emplacements du cube spatio-temporel sont les mêmes que ceux des cellules raster individuelles et les intervalles temporels du cube sont les mêmes que les intervalles temporels du raster.

  • Chaque emplacement sera analysé pour dégager des tendances au fil du temps à l’aide de la statistique de Mann-Kendall. Ces informations, ainsi que les autres propriétés du cube spatio-temporel, sont écrites en tant que messages de géotraitement en bas de la fenêtre Geoprocessing (Géotraitement) pendant l’exécution de l’outil. Vous pouvez également accéder aux messages via l’historique de géotraitement en passant le curseur de la souris sur la barre d’avancement et en cliquant sur le bouton de menu contextuel Ouvrir dans une nouvelle fenêtre ou en développant la section de messages dans la fenêtre Geoprocessing (Géotraitement).

  • Vous pouvez visualiser les données du cube spatio-temporel en 2D ou en 3D à l’aide, respectivement, de l’outil Visualiser le cube spatio-temporel en 2D ou Visualiser le cube spatio-temporel en 3D ou en téléchargeant le complément Explorateur de cube spatio-temporel.

  • Cet outil nécessite que la couche raster multidimensionnelle en entrée soit projetée de manière à mesurer les distances avec précision. Si elle se trouve dans un système de coordonnées géographiques qui utilise les coordonnées de latitude et de longitude et qu’aucun paramètre d’environnement Output Coordinate System (Système de coordonnées en sortie) n’est spécifié, la couche raster sera projetée vers la projection cylindrique équidistante WGS 1984 mondiale (WKID 4087).

  • La couche raster multidimensionnelle en entrée doit inclure au moins 10 intervalles temporels pour pouvoir être utilisée dans cet outil.

  • Les cubes spatio-temporels peuvent enregistrer deux milliards de groupes au maximum. Si le nombre de cellules raster multiplié par le nombre d’intervalles temporels dépasse deux milliards, l’outil renvoie une erreur.

  • Les cellules raster pour lesquelles des valeurs NoData sont associées à tous les intervalles temporels seront exclues de la sortie, aucun groupe spatio-temporel ne leur sera affecté.

  • Si votre raster multidimensionnel est enregistré au format Cloud Raster Format (*.crf), vous pouvez rechercher ou spécifier le chemin du jeu de données raster pour le paramètre Input Multidimensional Raster Layer (Couche raster multidimensionnelle en entrée) sans créer une couche raster multidimensionnelle. Si le raster est multivarié, l’outil utilisera la première variable. Pour utiliser une variable différente, vous devez ajouter la variable en tant que couche raster multidimensionnelle via l’option Import Variables From Multidimensional Raster (Importer des variables à partir du raster multidimensionnel).

  • 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.

Paramètres

ÉtiquetteExplicationType de données
Input Multidimensional Raster Layer (Couche raster multidimensionnelle en entrée)

Couche raster multidimensionnelle qui sera convertie en cube spatio-temporel.

Raster Layer
Cube spatio-temporel en sortie

Le cube de données netCDF en sortie qui sera créé.

File
Fill Empty Bins Method (Méthode de remplissage des groupes vides)

Spécifie comment les valeurs manquantes dans le cube spatio-temporel seront remplies. Chaque groupe spatio-temporel de la sortie doit avoir une valeur. Vous devez donc choisir comment remplir les valeurs pour les cellules raster contenant des valeurs NoData.

  • ZérosLes groupes vides seront remplis avec des zéros. Il s’agit de l'option par défaut.
  • Spatial neighbors (Voisins spatiaux)Les groupes vides seront remplis avec la valeur moyenne des voisins spatiaux.
  • Space-time neighbors (Voisins spatio-temporels)Les groupes vides seront remplis avec la valeur moyenne des voisins spatio-temporels.
  • Temporal trend (Tendance temporelle)Les groupes vides seront remplis à l’aide d’un algorithme de spline univariée interpolée.
String

arcpy.stpm.CreateSpaceTimeCubeMDRasterLayer(in_md_raster, output_cube, fill_empty_bins)
NomExplicationType de données
in_md_raster

Couche raster multidimensionnelle qui sera convertie en cube spatio-temporel.

Raster Layer
output_cube

Le cube de données netCDF en sortie qui sera créé.

File
fill_empty_bins

Spécifie comment les valeurs manquantes dans le cube spatio-temporel seront remplies. Chaque groupe spatio-temporel de la sortie doit avoir une valeur. Vous devez donc choisir comment remplir les valeurs pour les cellules raster contenant des valeurs NoData.

  • ZEROSLes groupes vides seront remplis avec des zéros. Il s’agit de l'option par défaut.
  • SPATIAL_NEIGHBORSLes groupes vides seront remplis avec la valeur moyenne des voisins spatiaux.
  • SPACE_TIME_NEIGHBORSLes groupes vides seront remplis avec la valeur moyenne des voisins spatio-temporels.
  • TEMPORAL_TRENDLes groupes vides seront remplis à l’aide d’un algorithme de spline univariée interpolée.
String

Exemple de code

Exemple 1 d’utilisation de l’outil CreateSpaceTimeCubeMDRasterLayer (fenêtre Python)

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

import arcpy
arcpy.env.workspace = r"C:\STPM\CSTCMDRL"
arcpy.CreateSpaceTimeCubeMDRasterLayer_stpm(r"Crime_Density", 
                  r"Chicago_STCube.nc", "SPACE_TIME_NEIGHBORS")
Exemple 2 d’utilisation de l’outil CreateSpaceTimeCubeMDRasterLayer (script autonome)

Le script Python autonome ci-dessous illustre l'utilisation de l'outil CreateSpaceTimeCubeMDRasterLayer.

# Convert a multidimensional raster layer to a space-time cube
# Fill in missing values using space-time neighbors
# 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\CSTCMDRL"
try:
    # Create a space-time cube from the multidimensional raster layer
    arcpy.CreateSpaceTimeCubeMDRasterLayer_stpm(r"Precipitation_MDRLayer",
                                       r"SierraNevada_Precipitation.nc", 
                                       "SPACE_TIME_NEIGHBORS")
    # Run an emerging hot spot analysis on the space-time cube
    # using contiguity edges and corners so that neighbors are defined
    # by all bordering bins in space and time.
    arcpy.EmergingHotSpotAnalysis_stpm(r"SierraNevada_Precipitation.nc",
                                       "PRECIPITATION_SPACE_TIME_NEIGHBORS",
                                       "SierraNevada_Precipitation_EmergingHotSpot", 
                                       "", 1, "", "CONTIGUITY_EDGES_CORNERS")
    # Use Visualize Cube in 3d to see the hot spot results for each time slice
    arcpy.VisualizeSpaceTimeCube3D_stpm(r"SierraNevada_Precipitation.nc", 
                                        "PRECIPITATION_SPACE_TIME_NEIGHBORS",
                                        "HOT_AND_COLD_SPOT_RESULTS",
                                        "SierraNevada_Precipitation_Visualize3d")
except arcpy.ExecuteError:
    # If any error occurred while running the tool, print the messages
    print(arcpy.GetMessages())

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes