SIG 3D - Conception de données 3D (3/5)
Comme je l'évoquais dans mon article précédent, un SIG 3D doit proposer différentes modèles de données 3D pour pouvoir représenter et gérer la diversité des objets du monde réel. Aujourd'hui, je vous propose de voir comment concevoir ces différents modèles de données 3D et les options qu'offre ArcGIS pour transformer les données 2D de son SIG en modèles 3D.
Créer des classes d'entités 3D
Il existe dans ArcGIS plusieurs manières de créer des entités 3D, c'est à dire des entités ponctuelles, linéaires ou surfaciques ayant des géométries en XYZ.
Vous pouvez importer des fichiers contenant déjà des géométries 3D. C'est le cas, par exemple, de certains fichiers CAO/DAO (DWG, DXF, DGN). Dans ArcGIS, l'outil "DAO vers Géodatabase" permet l'import de ces fichiers en prenant en charge les informations 3D qu'ils contiennent.
Il existe également de nombreuses solutions métiers capables de produire des fichiers ASCII 3D. Ces fichiers contiennent des listes de points ou de sommets (pour les lignes ou les polygones) décrites avec leurs coordonnées X,Y,Z. Dans ArcGIS, l'outil "ASCII 3D vers Classe d'entités" permet ce type d'import.
Une autre approche pour créer des entités 3D, consiste à créer une classe d'entités vide (avec l'option de stockage du Z). Ensuite, vous pourrez y saisir vos entités en 2D avec ArcMap puis renseigner le Z de chaque sommet à l'aide de l'éditeur de coordonnées. Vous pourrez également utiliser les outils des applications ArcGlobe, ArcScene ou ArcGIS Pro pour saisir interactivement et directement vos entités en 3D.
Ces 3 applications proposent des options de capture en 3D pour assurer une saisie correcte des géométries en X,Y et Z. Cette page de l'aide en ligne présente les outils de mise à jour 3D d'ArcScene et ArcGlobe.
Dans ArcGIS Pro, on peut souligner que les outils de mise à jour 3D sont tout simplement les mêmes que ceux utilisés en 2D. Ils se trouvent dans le ruban "Edit " ("Mise à jour").
Pour faciliter votre saisie, les applications 3D d'ArcGIS permettent de s'appuyer sur une surface 3D (raster ou vecteur) pour récupérer automatiquement la valeur d'altitude pour chaque sommet saisie. Cette page de l'aide en ligne d'ArcGIS Desktop montre comment s'y prendre dans ArcScene et ArcGlobe.
Cette récupération automatique des valeurs en Z peut également être appliquée à postériori pour l'ensemble des entités d'une couche 2D que vous souhaitez transformer en couches d'entités 3D. Pour cela, vous utiliserez l'outil "Interpoler une forme" (dont l'usage est détaillé ici).
Une dernière approche intéressante pour construire rapidement des entités 3D consiste à utiliser des contenus de type vues immersives. Certains fournisseurs comme Cyclomedia ou Earthmine/Here proposent des Add-In pour ArcGIS permettant de saisir en 3D des objets dans la vue immersive et de les stocker en XYZ dans des Géodatabases.
Générer des surfaces 3D
Il existe dans ArcGIS plusieurs manières de créer des entités 3D, c'est à dire des entités ponctuelles, linéaires ou surfaciques ayant des géométries en XYZ.
Vous pouvez importer des fichiers contenant déjà des géométries 3D. C'est le cas, par exemple, de certains fichiers CAO/DAO (DWG, DXF, DGN). Dans ArcGIS, l'outil "DAO vers Géodatabase" permet l'import de ces fichiers en prenant en charge les informations 3D qu'ils contiennent.
Il existe également de nombreuses solutions métiers capables de produire des fichiers ASCII 3D. Ces fichiers contiennent des listes de points ou de sommets (pour les lignes ou les polygones) décrites avec leurs coordonnées X,Y,Z. Dans ArcGIS, l'outil "ASCII 3D vers Classe d'entités" permet ce type d'import.
Une autre approche pour créer des entités 3D, consiste à créer une classe d'entités vide (avec l'option de stockage du Z). Ensuite, vous pourrez y saisir vos entités en 2D avec ArcMap puis renseigner le Z de chaque sommet à l'aide de l'éditeur de coordonnées. Vous pourrez également utiliser les outils des applications ArcGlobe, ArcScene ou ArcGIS Pro pour saisir interactivement et directement vos entités en 3D.
Ces 3 applications proposent des options de capture en 3D pour assurer une saisie correcte des géométries en X,Y et Z. Cette page de l'aide en ligne présente les outils de mise à jour 3D d'ArcScene et ArcGlobe.
Barre d'outils de mise à jour 3D d'ArcScene et d'ArcGlobe |
Saisie d'une entités 3D dans ArcGIS Pro |
Pour faciliter votre saisie, les applications 3D d'ArcGIS permettent de s'appuyer sur une surface 3D (raster ou vecteur) pour récupérer automatiquement la valeur d'altitude pour chaque sommet saisie. Cette page de l'aide en ligne d'ArcGIS Desktop montre comment s'y prendre dans ArcScene et ArcGlobe.
Cette récupération automatique des valeurs en Z peut également être appliquée à postériori pour l'ensemble des entités d'une couche 2D que vous souhaitez transformer en couches d'entités 3D. Pour cela, vous utiliserez l'outil "Interpoler une forme" (dont l'usage est détaillé ici).
Une dernière approche intéressante pour construire rapidement des entités 3D consiste à utiliser des contenus de type vues immersives. Certains fournisseurs comme Cyclomedia ou Earthmine/Here proposent des Add-In pour ArcGIS permettant de saisir en 3D des objets dans la vue immersive et de les stocker en XYZ dans des Géodatabases.
Saisie des positions des candélabres en XYZ à l'aide de vues immersives Cyclomedia dans ArcMap |
Générer des surfaces 3D
La modélisation de surfaces 3D à partir d'entités topographiques est un sujet très classique et généralement bien maitrisé par les utilisateurs ArcGIS. Qu'il s'agisse de construire un modèle de surface raster ou vecteur, la démarche est la même. Vous utiliserez généralement les données ponctuelles, linéaires ou surfaciques déjà présentes dans votre SIG pour décrire au mieux la surface. Par exemple: les points altimétriques, les lignes de rupture de pente, les surfaces d'altitude constante comme des lacs ou encore des emprises de bâtiment au sol dont l'altitude serait connue... Ces entités peuvent être stockées en X,Y,Z ou en X,Y avec l'information altimétrique Z en attribut.
Surfaces Raster:
Pour la conception d'un modèle de surface raster, plusieurs méthodes d'interpolation peuvent être utilisées mais l'outil "Topo vers Raster" est à privilégier. En effet, ce dernier propose des algorithmes spécifiques à la création de surfaces topographiques. Il est également possible d'importer des fichiers ASCII contenant déjà un maillage régulier de points avec cet outil "ASCII vers Raster". Enfin, il est aussi possible de générer une surface raster en exportant un "Terrain" à l'aide de l'outil "MNT vers Raster" ou en exportant un jeu de données LAS (Lidar) à l'aide de l'outil "Jeu de données LAS vers Raster"
En termes de mise à jour, il existe plusieurs approches pour modifier tout ou partie d'un modèle de surface raster. Vous pouvez tout d'abord envisager de compléter les entités topographiques initiales et relancer l'outils d'interpolation ("Topo vers raster") à partir de ces données complétées. Une autre méthode consiste à générer une surface raster uniquement sur la zone à mettre à jour, puis de l'intégrer dans votre MNT ou MNE à l'aide de la calculatrice raster d'ArcGIS (nécessite l'extension Spatial Analyst).
Surfaces Vecteur:
Pour la conception d'un modèle de surface vecteur, la documentation d'ArcGIS Desktop vous guidera dans les étapes de création d'un TIN ou celle de la création d'un "Terrain" (en français "Jeu de données de MNT").
L'utilisateur peut mettre à jour un TIN en ajoutant ou en supprimant des classes participant à ce TIN. Cette page de l'aide en ligne décrit le processus. Les TIN peuvent également être modifiés interactivement à l'aide d'une barre d'outils ArcMap qui permet l'ajout ou la modification de points, de lignes ou de polygones directement dans le TIN. La page suivante décrit l'utilisation de ces outils.
De la même manière l'utilisateur peut mettre à jour un "Terrain" en ajoutant ou en supprimant des entités dans les classes d'entités y participant. Il est également possible de supprimer ou d'ajouter des classes d'entités entières puis de mettre à jour le "Terrain". Les étapes à suivre sont décrites dans cette page de l'aide en ligne d'ArcGIS.
Au delà de la modélisation des surfaces, un SIG 3D doit permettre de générer des modèles 3D pour gérer les objets se trouvant sur (ou sous) ces surfaces. Deux approches sont envisageables. La première consiste à appliquer des modèles 3D génériques (symboles 3D) à vos données SIG existantes, la seconde consiste à générer des modèles 3D qui seront stockés en tant qu'entités (Multipatch) dans la base de données SIG.
Afficher des modèles 3D à l'aide de symboles 3D
La première approche consiste à appliquer une même représentation 3D (un symbole 3D) à vos entités ponctuels, linéaires ou surfaciques. Cette dernière est intéressante pour représenter des objets génériques comme des arbres, du mobilier urbain, des véhicules, des conduites d'un réseau d'eau, des équipements techniques standardisés, ... ou même tout simplement des symboles cartographiques 3D.
Toutes les applications 3D d'ArcGIS Desktop (ArcScene, ArcGlobe et ArcGIS Pro) permettent d'appliquer des symboles 3D à une couche d'entités (qu'elle soit 2D ou 3D). Pour cela, l'utilisateur peut choisir parmi des styles de symboles 3D existants et modifier les propriétés (couleur, taille, rotation, origine, ....). Il peut également construire interactivement son symbole 3D en combinant des formes 3D de base (Sphère, Cube, Cylindre, ...) ou encore importer un fichier graphique 3D (3DS, FLT, DAE, SKP, WRL, ...).
Générer des modèles 3D par export des symboles 3D
L'autre approche pour gérer des modèles 3D dans ArcGIS, c'est de créer véritablement ces objets 3D et de les stocker en tant qu'entités (Mutipatches) dans la Géodatabase. La méthode la plus simple consiste à prendre des couches d'entités sur lesquels vous aurez appliqué des symboles 3D, puis de les exporter en tant que classe d'entités de type Multipatch à l'aide de l'outil "Couche 3D vers Classe d'entités".
Générer des modèles 3D par extrusion
Une autre manière simple de créer des modèles 3D dans une Géodatabase consiste à extruder les entités d'une classe d'entités 2D ou 3D. Cette approche est surtout intéressante pour créer des volumes à partir d'emprises surfaciques. Le cas classique étant celui des emprises de bâtiments que l'on souhaite extruder à l'aide de leur hauteur (ou d'un nombre d'étages). Les applications ArcScene, ArcGlobe et ArcGIS Pro sont capables de le faire à la volée sans créer de nouvelle classe d'entités de type de Multipatch.
Générer des modèles 3D avancés par import de fichiers 3D
Un SIG 3D doit être capable d'intégrer des modèles 3D avancés même si ces derniers n'ont pas été conçus avec des outils SIG. ArcGIS Desktop permet d'importer les formats graphiques 3D les plus courants (SketchUp, 3D Studio Max, Collada DAE, GeoVRML et OpenFlight) à l'aide de l'outil "Importer des fichiers 3D". Cet outil permet un import en batch de plusieurs fichiers et support la notion de fichier de géoférencement pour positionner correctement en X,Y,Z les modèles 3D.
Il est également de créer une classe d'entités de type Multipatch vide, puis à l'aide des outils de saisie d'ArcScene, ArcGlobe ou ArcGIS Pro, d'importer et de positionner en X,Y,Z des modèles issus des formats 3D précédemment listés.
Générer des modèles 3D avancés à l'aide de règles procédurales
Une plateforme SIG 3D complète doit également proposer des outils permettant la création, à partir des données de référence du SIG 2D, de créer des modèles 3D avancés et dynamiques. J'entends par "avancés", des modèles 3D dont la forme et les textures peuvent être très détaillées et par "dynamiques" des modèles 3D dont la forme et les textures peuvent évoluer en fonction des propriétés de l'entité SIG sous-jacente. C'est ce que l'on appelle dans ArcGIS des règles procédurales.
Par exemple, être capable à partir d'entités SIG telles que les axes de voie et de quelques attributs comme le type de voie, le nombre de voies, le revêtement et le sens de circulation, de générer à la volée un modèle 3D complet de cette voie.
Les règles procédurales permettront par exemple de construire un bâtiment en générant les façades, les niveaux, le toit, les fenêtres, les portes, ... et les textures associées en s'appuyant sur une entités de base (généralement l'emprise du bâtiment ou une parcelle) et un certains nombre d'attributs de cette entité (hauteur, nombre d'étages, type d'usage, date de construction, règle d'urbanisme, ...).
Dans l'écosystème ArcGIS, c'est la solution Esri CityEngine qui permet de générer des modèles 3D à partir de règles procédurales (voir une rapide présentation ici). A partir de ces règles procédurales définies par l'utilisateur, CityEngine génère des modèles 3D texturés ou pas, pouvant ensuite être exportés dans de multiple formats 3D dont le Shapefile et la Géodatabase.
CityEngine est également un outil de GeoDesign capable de modifier dynamiquement la forme d'un objet 3D en fonction de ses propriétés. Il permet ainsi d'envisager différents scenarii et de mettre en place des indicateurs dérivés de la géométrie des modèles (surface, volume, ...).
Depuis la version 10.2 d'ArcGIS et la version 2012 de CityEngine, ces règles procédurales peuvent être exportées en "Paquetage de règles" (fichiers *.rpk). Ces paquetages peuvent alors être exécutés par des utilisateur d'ArcGIS Desktop pour construire des modèles 3D (en classes d'entités de type Multipatch) à partir de leurs données 2D, sans aucune connaissance de CityEngine. L'outil "Entités issues de CityEngine" permet de réaliser ce type de traitement.
Avec ArcGIS Pro, l'exploitation des règles procédurales de CityEngine va encore plus loin puisque l'utilisateur peut les associer, à la volée, sur des couches d'entités comme une symbologie. La modification des attributs de la classe d'entités entraine alors la modification du modèle 3D à la volée.
Conclusion
Après ce panorama (pas trop long je l'espère), vous avez pu constater qu'il existe de nombreuses options dans ArcGIS pour la génération d'entités 3D, de surface 3D ou de modèles 3D. Vous aurez également noté que c'est souvent à partir d'entités 2D (ou 3D) déjà présentes dans votre SIG que vous pourrez construire ces surfaces et ces modèles 3D.
Dans le prochain épisode de cette série, nous nous focaliserons sur les capacités d'analyse d'un SIG 3D et comment elles sont implémentées dans ArcGIS.
Dans quelques semaines, je vous proposerai une série d'articles consacrés aux concepts de base des règles procédurales dans CityEngine.
La première approche consiste à appliquer une même représentation 3D (un symbole 3D) à vos entités ponctuels, linéaires ou surfaciques. Cette dernière est intéressante pour représenter des objets génériques comme des arbres, du mobilier urbain, des véhicules, des conduites d'un réseau d'eau, des équipements techniques standardisés, ... ou même tout simplement des symboles cartographiques 3D.
Utilisation d'un symbole 3D sur une classe d'entités ponctuelles |
Utilisation de symboles 3D sur une classe d'entités linéaires |
Toutes les applications 3D d'ArcGIS Desktop (ArcScene, ArcGlobe et ArcGIS Pro) permettent d'appliquer des symboles 3D à une couche d'entités (qu'elle soit 2D ou 3D). Pour cela, l'utilisateur peut choisir parmi des styles de symboles 3D existants et modifier les propriétés (couleur, taille, rotation, origine, ....). Il peut également construire interactivement son symbole 3D en combinant des formes 3D de base (Sphère, Cube, Cylindre, ...) ou encore importer un fichier graphique 3D (3DS, FLT, DAE, SKP, WRL, ...).
Import d'un fichier graphique au format Collada pour créer un symbole 3D dans ArcScene ou ArcGlobe |
Générer des modèles 3D par export des symboles 3D
L'autre approche pour gérer des modèles 3D dans ArcGIS, c'est de créer véritablement ces objets 3D et de les stocker en tant qu'entités (Mutipatches) dans la Géodatabase. La méthode la plus simple consiste à prendre des couches d'entités sur lesquels vous aurez appliqué des symboles 3D, puis de les exporter en tant que classe d'entités de type Multipatch à l'aide de l'outil "Couche 3D vers Classe d'entités".
Générer des modèles 3D par extrusion
Une autre manière simple de créer des modèles 3D dans une Géodatabase consiste à extruder les entités d'une classe d'entités 2D ou 3D. Cette approche est surtout intéressante pour créer des volumes à partir d'emprises surfaciques. Le cas classique étant celui des emprises de bâtiments que l'on souhaite extruder à l'aide de leur hauteur (ou d'un nombre d'étages). Les applications ArcScene, ArcGlobe et ArcGIS Pro sont capables de le faire à la volée sans créer de nouvelle classe d'entités de type de Multipatch.
L'utilisateur pourra choisir un attribut de la table ou une expression de calcul plus complexe pour définir la valeur d'extrusion de chaque entité. Différentes options permettent de choisir comment cette valeur est utilisée pour l'extrusion (ajoutée à la hauteur de chaque sommet, ajoutée à la valeur min ou max, ...).
Une fois votre couche extrudée, vous pouvez décider de l'enregistrer en tant que nouvelle classe d'entités de type Multipatch dans une Géodatabase (ou un shapefile) à l'aide de l'outil "Couche 3D vers Classe d'entités".
Générer des modèles 3D avancés par import de fichiers 3D
Un SIG 3D doit être capable d'intégrer des modèles 3D avancés même si ces derniers n'ont pas été conçus avec des outils SIG. ArcGIS Desktop permet d'importer les formats graphiques 3D les plus courants (SketchUp, 3D Studio Max, Collada DAE, GeoVRML et OpenFlight) à l'aide de l'outil "Importer des fichiers 3D". Cet outil permet un import en batch de plusieurs fichiers et support la notion de fichier de géoférencement pour positionner correctement en X,Y,Z les modèles 3D.
Il est également de créer une classe d'entités de type Multipatch vide, puis à l'aide des outils de saisie d'ArcScene, ArcGlobe ou ArcGIS Pro, d'importer et de positionner en X,Y,Z des modèles issus des formats 3D précédemment listés.
Exemple de modèle 3D (Ministère des Finances à Bercy) réalisé dans SketchUp |
Le même modèle 3D affiché dans une scène ArcGIS Pro, une fois importé en tant qu'entité de type Multipatch dans une Géodatabase |
De nombreux autres formats 3D (CityGML, Civil 3D, Obj, X3D, FBX, KML/KMZ,...) peuvent être importés en utilisant l'extension Data Interoperability ou en utilisant la solution CityEngine.
Générer des modèles 3D avancés à l'aide de règles procédurales
Une plateforme SIG 3D complète doit également proposer des outils permettant la création, à partir des données de référence du SIG 2D, de créer des modèles 3D avancés et dynamiques. J'entends par "avancés", des modèles 3D dont la forme et les textures peuvent être très détaillées et par "dynamiques" des modèles 3D dont la forme et les textures peuvent évoluer en fonction des propriétés de l'entité SIG sous-jacente. C'est ce que l'on appelle dans ArcGIS des règles procédurales.
Par exemple, être capable à partir d'entités SIG telles que les axes de voie et de quelques attributs comme le type de voie, le nombre de voies, le revêtement et le sens de circulation, de générer à la volée un modèle 3D complet de cette voie.
Les règles procédurales permettront par exemple de construire un bâtiment en générant les façades, les niveaux, le toit, les fenêtres, les portes, ... et les textures associées en s'appuyant sur une entités de base (généralement l'emprise du bâtiment ou une parcelle) et un certains nombre d'attributs de cette entité (hauteur, nombre d'étages, type d'usage, date de construction, règle d'urbanisme, ...).
Dans l'écosystème ArcGIS, c'est la solution Esri CityEngine qui permet de générer des modèles 3D à partir de règles procédurales (voir une rapide présentation ici). A partir de ces règles procédurales définies par l'utilisateur, CityEngine génère des modèles 3D texturés ou pas, pouvant ensuite être exportés dans de multiple formats 3D dont le Shapefile et la Géodatabase.
CityEngine est également un outil de GeoDesign capable de modifier dynamiquement la forme d'un objet 3D en fonction de ses propriétés. Il permet ainsi d'envisager différents scenarii et de mettre en place des indicateurs dérivés de la géométrie des modèles (surface, volume, ...).
Depuis la version 10.2 d'ArcGIS et la version 2012 de CityEngine, ces règles procédurales peuvent être exportées en "Paquetage de règles" (fichiers *.rpk). Ces paquetages peuvent alors être exécutés par des utilisateur d'ArcGIS Desktop pour construire des modèles 3D (en classes d'entités de type Multipatch) à partir de leurs données 2D, sans aucune connaissance de CityEngine. L'outil "Entités issues de CityEngine" permet de réaliser ce type de traitement.
Application de règles procédurales à la volée dans ArcGIS Pro |
Emprises des bâtiments représentées en 3D à l'aide des règles procédurales |
Conclusion
Après ce panorama (pas trop long je l'espère), vous avez pu constater qu'il existe de nombreuses options dans ArcGIS pour la génération d'entités 3D, de surface 3D ou de modèles 3D. Vous aurez également noté que c'est souvent à partir d'entités 2D (ou 3D) déjà présentes dans votre SIG que vous pourrez construire ces surfaces et ces modèles 3D.
Dans le prochain épisode de cette série, nous nous focaliserons sur les capacités d'analyse d'un SIG 3D et comment elles sont implémentées dans ArcGIS.
Dans quelques semaines, je vous proposerai une série d'articles consacrés aux concepts de base des règles procédurales dans CityEngine.
2 comments :
Je souhaitais faire un point sur la 3D dans ArcGis complémentaire au RDV utilisateurs.
Merci pour cet article complet (en plusieurs parties).
Bonjour,
Pouvez-vous me contacter sur l'adresse email suivante glavenu-at-esrifrance.fr ?
Enregistrer un commentaire