Vous avez été nombreux à venir discuter avec moi des capacités d'analyse 3D d'ArcGIS 10 après la démonstration réalisée en plénière lors de SIG 2010. Cette démo était basée sur des données de la BDTopo de l'IGN et des données Virtuel City sur l'agglomération de Brest. L'objectif était de montrer plusieurs aspects d'un SIG 3D tel qu'on peut l'envisager avec ArcGIS 10.
Une variété de modèles 3D dans un référentiel unique: la Géodatabase
Dans le scénario de la démonstration, la scène 3D était composée de différents données 2D et 3D de nature très différente. Tout d'abord un MNT modélisé sous la forme d'une classe d'entité de type "Terrain" dans la Géodatabase. Sur ce MNT, j'ai drapé une orthophoto stockée elle aussi sous la forme d'un jeu de données raster dans la Géodatabase. Les bâtiments de la BDTopo sont issus d'une classe d'entités 2D que l'on a simplement drapé sur le MNT et extrudé à la volée à l'aide de leur attribut de hauteur. Les bâtiments et ouvrages fournis par Virtuel City ont été stockés dans la Géodatabase sous la forme d'une classe d'entités de type "Multipatch" avec des textures. Enfin, les éléments d'habillage comme les axes de voie sont issus d'une classe d'entités de lignes 3D (x,y,z).
L'exemple est intéressant, à la fois par le volume important du jeu de données démontré, mais aussi pour bien comprendre que la Géodatabase propose tous les modèles de données vecteur et raster dont on peut avoir besoin pour décrire une ville virtuelle en 3D.
Ces modèles (classe d'entités 3D, classe d'entités multipatch, MNT vecteur, MNT raster, …) sont disponibles depuis longtemps dans ArcGIS. On notera tout de même un apport de la version 10 qui permet d'importer plus facilement des objets 3D stockés dans des formats externes comme Sketchup, 3DS Max, Collada, OpenFlight ou encore GeoVRML. Par exemple, le projet d'aménagement montré dans la démo a été importé dans la Géodatabase à partir de fichiers 3DS Max.
Les capacités de représentation 3D d'ArcGIS
Un autre aspect important d'un SIG 3D est sa capacité à représenter avec réalisme et de manière performante les éléments du SIG en 3D (qu'ils soient stockés dans la base de données en 3D ou en 2D). Sur ce point, ArcGIS propose différentes application plus ou moins spécialisées:
- ArcGlobe pour le rendu et la navigation de gros volume de données 3D,
- ArcScene pour l'analyse et la mise à jour de données 3D,
- ArcGIS Explorer + ArcGIS Server pour la diffusion de services de données 3D via le web
ArcGlobe
En version 10, des améliorations de performance notables ont été apportées notamment dans ArcGlobe sur la gestion des couches issues de services web tuilés 2D. L'affichage de ces derniers est aujourd'hui aussi rapide que des services web de globes 3D. Par ailleurs, la gestion des textures sur les entités "multipatch" a été optimisée par un mécanisme de dégradation automatique en fonction de la distance au point de vue.
La richesse des fonctions d'analyse 3D d'ArcGIS
Le troisième axe important d'un SIG 3D réside dans sa capacité à offrir des fonctionnalités de traitement et d'analyse intégrant les 4 dimensions (x,y,z et le temps). Dans ce domaine, la dernière version d'ArcGIS est vraiment plus riche. Dans ma démonstration, j'ai illustré cet aspect en présentant deux exemples d'analyse.
La première consistait à analyser l'impact visuel du projet immobilier du plateau des capucins à partir des grands axes routiers de l'agglomération.
Pour cela, j'ai échantillonné mes voies par tronçons de 10 m. et j'ai analysé pour chaque tronçon l'intervisibilité entre chaque tronçon et les 6 points haut des bâtiments de mon projet. Pour cela, j'ai exécuté l'outil "Construct Sight Lines" pour générer les lignes d'intervisibilité puis l'outil "Line Of Sight" pour calculer les visibilités.
Une fois les lignes de visibilité calculées, j'ai utilisé les lignes ayant une intervisibilité totale (ligne vertes) pour réaliser une jointure spatiale avec mes tronçons afin de savoir, pour chacun d'entre eux, si on y voit ou pas un des bâtiments du projet.
La deuxième consistait à analyser des nuisances en termes d'ombre portée entre différents bâtiments. Plusieurs tours sont situées à proximité des bâtiments que l'on souhaite construire. Grâces à des fonctions de 3D Analyst et à l'aide de librairies Python d'éphémérides, j'ai réalisé un géotraitement permettant de réaliser cette analyse.
A différentes dates dans l'année et à différentes heures de la journée, on peut calculer les positions du soleil et les ombres portées correspondant à chaque tour.
En répétant ce même calcul régulièrement sur plusieurs jour de l'année, on peut alors déterminer, fenêtre par fenêtre sur les façades des bâtiments du projet, le temps moyen d'ombrage dû à ces tours.
Voilà pour cet article, certes un peu long, mais qui me permet de donner quelques explications complémentaires pas toujours évident à fournir en quelques minutes de démo.