Nous avons suivi, lors des deux derniers articles (Le Cube spatio-temporel d’ArcGis : 1- découverte, Le cube spatio-temporel d’ArcGis : 2- hot spots et cold spots ), un exemple de construction et visualisation d’un cube spatio-temporel avec ArcGis Pro 1.0.
Nous verrons ici comment faire la même chose en dehors d’ArcGis Pro, avec ArcMap et ArcScene 10.3.
A la question posée dans le titre, est-ce possible ou pas?, nous allons répondre par l’affirmative, mais à quel prix?
La première partie, construction du cube, est possible dans ArcMap.
La visualisation en 3D du cube, même si ce n’est pas documenté dans la documentation ESRI, est possible avec ArcScene.
Voyons tous les obstacles à franchir, car c’est une course d’obstacles!
Construction du cube avec ArcMap
Nous reprenons les données utilisées pour les deux articles précédents, les prévisions de rafales de vent pour la Bretagne.
Les deux champs que nous allons utiliser sont Gust (rafales) et DateHeure (champ de type date).
Voyons d’abord ce qu’il faudrait faire (pour l’instant).
Pour créer le cube, qui sera stocké sous un format NetCDF (.nc), nous allons utiliser l’outil Créer un cube spatio-temporel de la boîte à outils Outils d’exploration des modèles spatio-temporels.
La boîte à outils est disponible dans la Toolbox d’ArcMap, et tout laisse à penser que vous pouvez l’exécuter.
Nous lançons l’outil et la fenêtre de paramétrage s’ouvre:
Les trois premiers champs, pas de problème: données en entrée, cube en sortie, champ date des données en entrée.
Là ou ça commence à coincer c’est pour renseigner le pas de temps temporel et le pas de temps géographique.
Quand vous cliquez sur Intervalle temporel, la fenêtre d’aide vous affiche:
Vous pouvez suivre les indications et taper 2 jours, 4 semaines… rien ne marchera, car la commande n’a pas été conçue pour parler français! Si vous voulez exécuter la commande il vous faudra taper 12 Hours, 1 Day,…
Fort de cette découverte, vous vous dites que se sera la même chose avec l’intervalle de distance. Eh bien oui, sauf que le champ des unités de distance(mètres, kilomètres,…) n’est pas modifiable! Alors même pas possible de les rentrer ni en anglais ni en aucune langue. Comme si le champ n’est pas obligatoire, on le laisse à blanc et la commande calculera une valeur par défaut.
Vous exécutez la commande et après une partie sans problème, message d’erreur fatale! Le problème? L’histoire d’unités de temps nous donne une piste. Dès que le programme charge des messages en français avec des caractères accentués, c’est le bug.
Conclusion: si vous voulez construire un cube spatio-temporel et que vous n’avez pas (ou vous ne voulez pas utiliser) ArcGis Pro, il vous faut travailler avec la version anglaise d’ArcMap. Avec cette version, vous suivez les pas précédents et vous vous retrouvez avec un fichier netcdf impeccable.
Calcul des point chauds émergents
Pour la commande Analyse des points chauds émergents, même problème, même « solution ». Il vous faudra la version anglaise pour que ça marche.
Si non, le remplissage et le comportement de la commande est identique à celui expliqué pour ArcGis Pro dans l’article précédent
Affichage des résultats 2D
Nous avons vu avec ArcGis Pro le chargement d’un boîte à outils complémentaire : pour visualiser le cube vous devez télécharger une boîte à outils contenant deux outils, un qui permet de visualiser le cube en 2D et un autre qui permet de le visualiser en 3D.
La boîte à outils est téléchargeable à l’adresse http://esriurl.com/SpaceTimeCubeUtilities.
La commande 2D devrait marcher pour ArcMap et la commande 3D pour ArcScene. Elles « fonctionnent » dans le sens où elles s’exécutent sans erreur, lisent le fichier netcdf, chargent la couche résultante dans ArcMap et ArcScene, sauf que la symbologie n’est pas prise en compte. Si vous regardez les scripts, les couches (layers) appelés sont du type .lyrx et non .lyr. L’extension .lyrx est propre à ArcGis Pro et n’est pas compatible avec ArcMap et ArcScene.
Pour l’affichage dans ArcMap du cube en 2D, vous pouvez recopier le script avec un nouveau nom et remplacer les layers appelés (répertoire spacetimecubeutilities/scripts/templates) par ceux qui se trouvent dans le répertoire Installation ArcGis/Desktop10.3/ArcToolbox/Templates/Layers, par exemple le layer appelé Emerging_All.lyrx par Emerging_All.lyr.
Affichage du cube 3D dans ArcScene
En ce qui concerne la visualisation en 3D dans ArcScene, voici la démarche pour avoir le même rendu qu’avec la Scene d’ArcGis Pro:
- Ouvrez ArcScene
- Ouvrez la fenêtre de la Toolbox d’ArcScene
- Chargez la boîte à outils Space Time Cube Utilities
- Il faut lancer le script Visualize 3D Space Time Cube pour passer du fichier netcdf à une couche ArcScene
La couche est affichée dans ArcScene, mais pas avec la symbologie associée.
Il n’y a pas de symbologie prête à l’emploi pour ArcScene, vous devez en créer une, ou bien télécharger la couche que nous avons créé en cliquant ici.
Double-cliquez sur la couche dans ArcScene, onglet Symbologie, bouton Importer et pointez sur le layer téléchargé et décompressé.
Ce qui reste à régler avant de refermer la fenêtre de définition de la symbologie c’est la taille des symboles.
Dans la fenêtre de définition des catégories, cliquez gauche sur « Symbole », puis sur Propriétés de tous les symboles » -> Modifier le symbole
Vous aurez la fenêtre suivante:Vous devez donner la taille, en unités de la carte, pour chaque pixel 3D. Pour cela, divisez par 4 la valeur de l’intervalle de distance que vous avez entré pour la construction du cube (dans notre exemple 40 km / 4 = 10000 m).
Fermez la fenêtre. Vous obtenez alors le même rendu que celui obtenu avec la Scene d’ArcGis Pro:
Voilà. Compliqué, en attendant la résolution des bugs dans une prochain mise à jour d’ArcGis 10.3…
Bonjour,
Pour Construction du cube avec ArcMap, j’ai besoin des données utilisées pour les deux articles précédents, les prévisions de rafales de vent pour la Bretagne.
Merci.
Je n’ai plus le fichier utilisé à l’époque de l’écriture de l’article. Par contre je vous ai mis un fichier extrait aujourd’hui à l’adresse http://www.nasca.ovh/downloads/rafales.zip . Il a les mêmes caractéristiques mais pas les mêmes valeurs que dans l’exemple.