Résumé
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.
Illustration
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 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.
Syntaxe
arcpy.stpm.CreateSpaceTimeCubeMDRasterLayer(in_md_raster, output_cube, fill_empty_bins)
Paramètre | Explication | Type 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.
| String |
Exemple de code
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")
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())
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
- Visualiser le 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 ?