Le blog francophone consacré
aux technologies Esri

SIG 2012 - Modélisation 3D avec CityEngine

Avec ArcGIS, les utilisateurs disposent d'une chaîne complète pour le stockage, la gestion, l'affichage et l'analyse de données 3D dans son SIG. Ces fonctionnalités sont prises en charge, pour l'essentiel,  par l'extension 3D Analyst et disponibles sur le poste bureautiques ou sur le serveur SIG depuis maintenant de nombreuses années. Depuis un an, la solution Esri CityEngine complète les capacités 3D du système ArcGIS avec de nouvelles capacités de conception, d'intégration et de publication d'environnement 3D. La session plénière de SIG 2012 a été l'occasion de présenter les concepts de CityEngine et de montrer quelques unes des nouveautés de la version 2012, disponible depuis quelques jours.


Ma démonstration portait sur le projet de réaménagement du quartier de la gare Versailles-Chantiers, deuxième gare d’Ile de France en termes de nombre de voyageurs par jour. Dans ce quartier, un nouveau pôle multimodal est envisagé pour absorber ce trafic croissant et désenclaver cette gare dont l'accès est aujourd'hui inadapté. L'objectif consistait donc à créer un environnement 3D pour y insérer les différents éléments connus du projet et envisager différents scenarii sur des points restant à valider grâce à une approche de GéoDesign… tout cela avec CityEngine 2012.

Emprises et phasage des différents aménagements du quartier de la gare de Versailles-Chantiers

Les concepts de base de CityEngine

CityEngine est une application permettant la conception de modèles 3D urbains en exploitant les données 2D (ou 3D) du SIG en leur appliquant des règles procédurales. Ces règles utilisent les attributs des entités d'origines ainsi que des comportements et des paramétrages plus ou moins avancés (définis par l'utilisateur) pour générer automatiquement ces modèles 3D "géotypiques" et reconstituer ainsi un environnement 3D réaliste. Par exemple, en utilisant des informations sur la hauteur, la date de construction, le type d'usage d'un bâtiment ou encore le type de toit, on peut définir des règles permettant de mettre en volume et de donner des textures typiques à une série de bâtiments.


Une fois ces modèles générés, ils peuvent être exportés dans de très nombreux formats 3D du marché dont le format Géodatabase ou être publiés sur le web.




Données de base pour construire des modèles 3D

Dans CityEngine, le point de départ est généralement de disposer du terrain, c'est-à-dire d'une orthophoto et d'un MNT. Pour cela, différents formats d'images peuvent être utilisés comme le PNG, TIFF ou JPEG. Ensuite, l'essentiel du travail dans CityEngine consiste à utiliser des données 2D du SIG (parcellaire cadastral, bâtiments, arbres, éléments de mobilier urbain, axes de voies, …) et définir les règles procédurales qui permettront de les transformer en modèles 3D.

Scène 3D contenant l'orthophoto et le MNT

Règles procédurales

CityEngine est avant tout un moteur procédural permettant de transformer, à la volée, des entités 2D (shapes) en modèles 3D (models). Une grammaire très puissante permet d'écrire ces règles dont la logique peut être très simple (par l'exemple, l'extrusion d'un bâtiment ou la création d'un arbre à partir d'un attribut de hauteur) ou plus beaucoup plus sophistiquée (par exemple la construction automatique d'une passerelle dès lors qu'une voie piétonne traverse une voie de circulation majeure). Une règle part d'une géométrie de base et lui applique une série de transformations pouvant s'imbriquer les unes dans les autres de manière infinie jusqu'à l'obtention du résultat souhaité. Les règles peuvent être créées via une interface graphique ou directement dans un éditeur de code.

Dans ma démonstration j'ai tout d'abord montré une règle simple permettant d'extruder les emprises de bâtiments 2D du SIG en simples volumes en fonction d'un attribut de hauteur (h_facade). 

Ajout des emprises des bâtiments 2D du SIG
Exemple de règle permettant l'extrusion des batiments
Code de règle permettant l'extrusion des bâtiments

Résultat de l'application de la règle d'extrusion sur les bâtiments

Lorsque vous disposez d'informations plus riches comme l'âge de construction, le nombre d'étages, le type d'usage ou des données relatives aux types et matériaux des toitures, vous pouvez alors enrichir vos règles et appliquer des textures sur les toits et façades de vos bâtiments. Dans la démonstration, j'avais préparé des librairies de textures pour des façades en fonction de l'âge des bâtiments et j'avais spécifié une extraction automatique des textures de toit à partir de l'orthophoto ce qui ajoute plus de réalisme aux éléments bâtis. 

Application de règles pour générer des batiments texturés

Selon le même principe, à partir des entités 2D du SIG, j'ai également ajouté les arbres dont les attributs "espèce" et "hauteur" m'ont permis de générer les arbres dans ma scène 3D.

Application de règles pour générer les arbres

Construction manuelle de modèles 3D

Depuis la version 2012, CityEngine propose une série d'outils de type "sketching" pour construire interactivement des modèles 3D. Dans ma démonstration, j'ai ainsi montré que l'on pouvait construire des bâtiments techniques en bordure de voie ferrée qui manquaient dans la base de données SIG et qui étaient pourtant présents sur l'orthophoto. A l'aide de ces outils, il est très rapide de construire un volume aux formes plus ou moins complexes puis de lui appliquer une règle pour l'habiller de textures adaptées.



Intégration de modèles 3D existants

Au-delà de la génération de modèles 3D à la volée, CityEngine est également capable d'intégrer des modèles 3D existants. Pour cela, de nombreux formats 3D peuvent être importés (DXF, COLLADA, OBJ, KML, KMZ, OSM, …). Ceci permet notamment d'ajouter certains éléments caractéristiques (bâtiments spécifique, monument particulier, …) dans la scène 3D. Dans ma démonstration, j'ai inséré le modèle 3D de la gare de Versailles-Chantiers réalisé dans un outil externe (Trimble SketchUp en l'occurrence).


La gare de Versailles-chantiers après import du modèle 3D dans la scène

De la même manière, les éléments validés du projet d'aménagement (issus de bureaux d'études et d'architectes) ont été importés et positionnés dans ma scène 3D.

Insertion des modèles 3D dans la scène 3D

Génération du réseau routier

CityEngine modélise les éléments ponctuels et surfaciques d'un environnement urbain mais également le réseau routier. A partir de règles de grammaire spécifiques et d'entités linéaires (existantes ou saisies interactivement par l'utilisateur), vous pouvez rapidement constituer des modèles 3D de l'infrastructure routière (chaussées, marquages au sol, signalisation, trottoirs, candélabres, véhicules sur les voies…). Des comportements avancés de topologie permettent de prendre en charge la notion de ponts, de passerelles, de ronds-points,… Dans ma démonstration, j'ai montré l'insertion des nouvelles voies de circulation devant desservir les nouvelles infrastructures du projet d'aménagement.

Les réseaux routiers modélisés dans CityEngine

Conception interactive et GéoDesign

Un atout important de CityEngine réside dans son moteur procédurale. Il permet notamment une approche de GéoDesign en offrant la possibilité de modifier à tout moment les paramètres des règles pour modifier l'aspect du modèles 3D et ainsi envisager différents scenarii. Dans ma démonstration, j'ai illustré cela sur un projet de construction de logement sur une des parcelles de la zone à aménager à proximité de la gare. 


La parcelle à aménager

A l'aide de règles on peut rapidement générer un premier modèle 3D en précisant le nombre d'étages, le type de façade, le type de toit, l’organisation des blocs et leur positionnement respectifs, ... Cette règle peut également prendre en compte des contraintes d'urbanisme comme la hauteur maximum, la distance minimum par rapport à la voie, un coefficient d'occupation du sol, ...

Génération du projet de logement à partir de règles procédurales

En modifiant les différents paramètres de ma règle, je peux changer totalement l'aspect du bâtiment et proposer rapidement une série de solutions alternatives. Les outils de reporting intégrés à CityEngine permettent d'associer des indicateurs à votre modèle 3D et de récupérer, par exemple, des éléments quantitatifs calculés dynamiquement lors de la génération du modèles (superficies au sol, superficie totale, nombre de bureaux, nombre de fenêtres, superficie vitrée, ...).

Modification à la volée des paramètres de mes règles procédurales


Exporter et diffuser ses modèles 3D

Dans la dernière partie de ma démonstration, j'ai montré certaines capacités de CityEngine en termes de diffusion des modèles 3D générés. Une fois votre scène 3D générée, vous pouvez tout d'abord l'exporter (entièrement ou partiellement) vers différents formats géospatiaux ou multimédias. Vous pouvez également, c'est une nouveauté de la version 2012, exporter vos modèles 3D directement vers vos Géodatabases Fichier en tant que classes d'entités Multipatch. Enfin, autre nouveautés de la version 2012, vous pouvez désormais exporter votre scène 3D en tant que fichier de scène web 3d (*.3ws) pour la diffuser sur votre serveur web ou sur la plateforme ArcGIS Online. 

Ma scène 3D prête à être exportée

Le partage d'une scène web 3D sur la plateforme ArcGIS Online permet de partager votre travail avec la communauté d'utilisateurs de votre choix sans avoir à quitter l'application CityEngine. Vous utilisez la même commande de partage que dans les autres applications ArcGIS afin de spécifier les éléments de description et les paramètres de partage de la scène web 3D que vous souhaitez publier. 

Partage d'une scène web 3D à partir de CityEngine

Une fois publiée sur votre portail ArcGIS Online, votre scène web 3D s'ouvre directement dans le navigateur dans un visualiseur 3D intégré à la plateforme. En effet, basées sur la technologie HTML5/WebGL, les scènes web 3D s'affichent dans des navigateurs comme Chrome, Firefox et Safari et tout cela sans aucun plug-in. 

Descriptif d'une scène web 3D partagée sur ArcGIS Online

Visualisation de ma scène 3D dans le visualiseur intégré d'ArcGIS Online

Navigation et affichage des différentes couches de mon projet d'aménagement

Le visualiseur 3D intégré propose des outils d'interrogation des entités afin d'afficher les attributs des objets figurant dans la scène. Une fonction de recherche permet de retrouver des objets à l'aide d'une valeur attributaire .Le visualiseur propose également différentes fonctionnalités liées à l'affichage en 3D comme par exemple le réglage de la luminosité, de l'éclairage ambiant ou encore l'accès à certains cadrages prédéfinis  (géosignets) lors de l'export de la scène 3D.

Outil de balayage permettant de révéler certaines couches avant/après le projet

Enfin, on notera que CityEngine est fourni avec le même visualiseur ce qui permet de fournir les mêmes fonctionnalités de consultation de scènes 3D sur votre propre serveur web.

Pour tester l'affichage de scènes web 3D, vous pouvez vous rendre sur ArcGIS Online et découvrir cette liste de scènes 3D CityEngine publiées par Esri.

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article:

2 comments :

David a dit…

Très bel article, félicitation pour votre travail !

Anonyme a dit…

Amazing work. Congrats!