Vu au festival de Saint-Dié

 Sommaire

GeOxygene: une plate-forme de développement 3D

Cet article est une présentation générale du module 3D de la plate-forme GeOxygene et n’entre pas réellement dans le détail de sa conception. Pour avoir des informations  vous pouvez contacter l’auteur.

Contexte de l’application

Le développement et la popularité des globes virtuels montrent l’importance de la 3D dans l’information géographique. Pourtant ces globes n’exploitent pas toute la pertinence des informations spatiales réduites au simple rôle de visualisation et de consultation. En effet, la 3e dimension est indispensable pour étudier certains phénomènes, comme pour analyser l’impact visuel de nouveaux bâtiments, simuler une inondation ou cartographier le bruit sur des habitations par exemple.

1. Visualisation dans GeOxygene modèle numérique de terrain de la BD TOPO® sur la Corse

De la même manière que les globes, les données 3D nécessaires à l’analyse vont en se démocratisant. Au niveau national, l’IGN propose désormais la BD TOPO® (fig. 1) modélisée en 2D5 et la possibilité grâce à de l’imagerie haute-précision d’obtenir des modèles urbains détaillés (Produit BATI-3D®). Au niveau mondial, l’apparition de normes de modélisation des données urbaines 3D (CityGML) laisse présager un rapide développement d’une production à grande échelle.

Ainsi, le laboratoire COGIT de l’IGN a décidé de développer sa propre plate-forme de développement 3D afin de réaliser des avancées dans le SIG 3D, notamment dans le domaine de l’analyse spatiale et de la représentation. Cette plate-forme se veut centrale afin d’accueillir les développements du laboratoire ou d’autres contributeurs (dépôt en Open-source prévu en Mars 2010) et capable de traiter la richesse et la diversité des données 3D.

GeOxygene

GeOxygene est la plate-forme de développement 2D du laboratoire COGIT. Elle contient toutes les contributions des différents chercheurs. Il s’agit d’un projet Open-Source hébergé à cette adresse. Il existe deux versions de GeOxygene. Une version laboratoire qui contient tous les développements en cours et la version disponible sur Internet qui permet d’utiliser les travaux opérationnels.

2. Amélioration automatique de la légende d’une carte de risque. À gauche la carte initiale, à droite, la carte avec une légende améliorée. Pour en savoir plus sur ces travaux: Chesneau, 2006; Buard, Ruas, 2009

La version en ligne propose les fonctionnalités des SIG classiques ainsi que des travaux d’appariement de données et de gestion de la topologie. La version de laboratoire est enrichie par des travaux sur l’automatisation automatique de légendes (fig. 2), les services Web et la 3D. L’article rédigé par Bénédicte Bucher et al. (2009) décrit un certain nombre de ces développements.

Module 3D de GeOxygene: une boîte à outils

Le but du module 3D est de fournir un ensemble d’outils et une API permettant d’effectuer des développements SIG. Sa conception s’est inspirée des fonctionnalités du SIG 2D que l’on définit ici à l’aide de 5 ‘A’: Abstraction, Acquisition, Affichage, Archivage et Analyse, étendus à la 3D.

Abstraction

Il s’agit d’ajouter dans le système la possibilité de gérer les concepts de géométrie 3D (fig. 3). Le système intègre ainsi des concepts de géométries qui se complexifient par le passage de la 2D vers la 3D (par exemple, les modélisations d’une polyligne ou d’une surface sont étendues pour permettre d’associer une altitude en chaque point). Mais surtout, il intègre également le concept de modèle de terrain (Tin et MNT) et de solide propre à cette dimension. Le modèle de géométrie s’inspire directement de la norme ISO 19107 (ISO, 2003).

3. Exemple de géométrie 3D.

Acquisition/ Archivage

Les données 3D peuvent provenir de diverses sources (fig. 4). Elles peuvent être issues d’un logiciel de modélisation 3D (logiciel de dessin permettant de créer des scène 3D) ce qui donne des bâtiments avec un niveau de détail très élevé, d’un format SIG 3D ou de données 2D que l’on étend à la 3D (par exemple, un bâtiment dont on extrude la hauteur pour obtenir une forme «boite à chaussure»), dans ce cas, le niveau de détail des données est moindre. Afin de permettre l’utilisation conjointe de ces diverses sources de données, la plate-forme intègre la gestion d’un large panel de formats de données:

  • Des données provenant de logiciels de modélisation, elles permettent d’intégrer des objets complexes: 3DS, Collada, Obj.,
  • Données SIG 3D: Format BATI-3D, MNT, CityGML,
  • Des données SIG 2D en ajoutant une 3e dimension (Placage sur MNT, ajout d’une hauteur dans un bâtiment 2D etc.),
  • Des données issues du SGBD PostGIS, pour permettre le partage de données 3D entre applications.
4. Images provenant de l'application: En haut à gauche, données issues du RGE; en haut à droite, données 2D extrudées; en bas à gauche, données au format CityGML; en bas à droite, shapefile extrudé.

La représentation 3D permet de nouvelles possibilités en termes d’affichage. L’application permet ainsi de représenter de diverses manières les données chargées. Dans le navigateur de l’application, il est possible, outre la navigation 3D de modifier la représentation des objets au gré des options disponibles (couleur, transparence, textures, mode fil de fer, etc.) (fig. 5).

5. À gauche, jeu de données CityGML avec bâtiments texturés et terrain en mode fil de fer; à droite, terrain texturé et présence de toponymes 3D

Analyse

Un certain nombre de fonctionnalités géométriques sont nécessaires pour pouvoir étudier des phénomènes 3D. L’ajout de ces outils dans la plate-forme s’est fait en s’inspirant des fonctions géométriques que l’on trouve dans le SIG 2D (intersection (fig. 6), union, calcul de volume, buffer 3D…). Cela a été réalisé grâce à l’étude de bibliothèques 3D qui ont permis de choisir les plus efficaces (voir paragraphe «Technologies utilisées» ci-dessous).

6. Calcul d'intersection en 3D.

Ces «outils» géométriques (fig. 7) ont été mis en place pour permettre le développement d’applications de recherche. Dans la partie suivante, nous illustrerons l’utilisation de ces outils par quelques développements menés au laboratoire.

7. Simulation basique d'inondation par élévation d'un niveau d'eau (Données BD TOPO®)

Exemples de réalisation

Le premier développement effectué sur cette plate-forme concerne la simplification de bâtiments 3D. Cette simplification a pour but de réduire le nombre de faces d’un bâtiment tout en essayant de préserver son aspect extérieur. L’utilité de cette opération est multiple: économie de mémoire lors de l’envoi de données vers un mobile, représentation des objets en fond de scène de manière moins détaillée (lorsque l’on ne peut apprécier les détails) et réalisation d’opérations géométriques plus rapides sur les formes simplifiées. Cet algorithme paramétrable permet différents niveaux de simplifications. L’algorithme utilisé ici est librement inspiré des travaux de Martin Kada (2007) (fig. 8).

8. Différents paramètres de simplifications.

Par ailleurs, dans le cadre du projet TerraMagna et en collaboration avec Bionatics (www.bionatics.com), une réflexion est menée sur la gestion des règles d’urbanisme dans un SIG et plus précisément les différentes contraintes liées aux PLU (Plan Local d’Urbanisme). Le PLU propose une liste de contraintes géométriques (recul par rapport à la voirie, hauteur maximale etc.) et sémantiques (types de bâtiments autorisés, limitations sur l’aspect extérieur etc.) sous forme textuelle. L’idée de ces travaux est de proposer les outils informatiques nécessaires pour assurer la saisie de ces règles et pour déterminer l’enveloppe constructible de plus grand volume. Cette enveloppe aura la forme d’un objet 3D respectant les différentes contraintes géométriques saisies par l’utilisateur. Ainsi, si un bâtiment dépasse de cette enveloppe, on peut considérer qu’il viole une des contraintes du règlement. Le but de cette application est d’aider le décideur lors d’un projet à savoir si la construction qu’il souhaite concevoir est en accord avec le règlement local.

9. Création des groupes par une analyse 2D. 10. Proposition d'une variable visuelle pour l'exploration de voisinage

Une dernière application présentée ici est dédiée à l’aide à la navigation. La problématique s’inscrit dans le cadre d’un piéton utilisant un appareil mobile et cherchant des zones riches en points d’intérêt. Il s’agit par exemple du cas d’un touriste cherchant une zone contenant de nombreux monuments historiques ou d’une personne cherchant une région riche en commerces. L’idée est de proposer une nouvelle variable visuelle dans l’environnement 3D afin de palier aux différents soucis de navigation de l’on peut rencontrer dans ce type d’environnements (bâtiments cachant les points d’intérêt environnants, difficultés d’explorer l’espace proche, lenteur du chargement de données, etc.). Avant de représenter cette variable en 3D, une classification 2D est réalisée afin de déterminer les différents groupes de points d’intérêt homogènes. Cette analyse est issue des travaux de Boucherrite, (2009) (fig. 9).

La proposition finale se présente sous forme d’un disque composé, de différentes portions, qui comporte 3 informations:

  • la première répond à la question «Où?». Chaque portion de disque indique une direction homogène concernant la répartition des points d’intérêt,
  • la seconde répond à la question «Combien?». Une couleur est portée par chaque portion du disque s’échelonnant du vert au rouge. Cela indique dans la direction de la portion, la quantité de points d’intérêt,
  • la dernière répond à la question «À quelle distance?». La largeur portée par la portion de disque indique dans une direction donnée à quelle distance se trouve le groupe de points.

Ainsi, ce disque (fig. 10) permet de donner à l’utilisateur les informations utiles sur son environnement proche pour lui permettre de se déplacer sans avoir à effectuer une exploration fastidieuse de son monde virtuel.

Technologies utilisées

Dans un souci de portabilité de la plate-forme et de simplicité d’installation, la technologie Java est utilisée pour GeOxygene. Le COGIT a mené des études afin de déterminer quelles étaient les bibliothèques les plus pertinentes à intégrer dans l’application. Le désir d’utiliser des bibliothèques Open-Source durables et l’écriture en langage Java ont été des éléments déterminant dans le choix des bibliothèques.

Parmi les bibliothèques qui interviennent dans le développement de la 3D, on compte:

  • Swing pour concevoir l’interface homme-machine,
  • Java3D pour le rendu graphique,
  • ObJectRelationalBridge (OJB) permettant une connexion objet vers PostGIS,
  • JGeom qui fournit les opérations booléennes 3D (intersection, union, différence),
  • TetGen pour la décomposition de solides en triangles, utile pour les analyses continues.

Perspectives

Actuellement, la 3D de GeOxygene n’en est qu’au stade d’application de laboratoire. À l’avenir, elle continuera à progresser pour intégrer de nouvelles fonctionnalités plus appliquées. Une première version Open-Source devrait être déposée et disponible d’ici mars 2010 sur le site de GeOxygene en même temps que l’ajout de nombreuses fonctionnalités concernant la partie 2D. Cette version devrait à la fois permettre aux non-développeurs de charger et d’effectuer des opérations en 3D et aux développeurs d’utiliser les fonctionnalités 3D pour permettre le développement d’applications.

Mickaël Brasebin

Pour en savoir plus

Laboratoire COGIT
Plateforme GeOxygene

Bibliographie 

BUARD E., RUAS A. (2009). Processes for improving the colours of topographic maps in the context of Map-on-Demand. 24th International Cartographic Conference «ICC'09», 15-21 november, Santiago (Chile), 11 p. (consulter)

BOUCHERITTE (2009). Exploitation des enrichissements sémantiques d’un monde de synthèse: aide à l’exploration. Rapport de stage master 2 SIG.

BRASEBIN M. (2009). GeOxygene: An Open 3D Framework for the Development of Geographic Applications. 12th International Conference on Geographic Information Science «AGILE'09» 2-5 June, Hanovre (Germany). (consulter)

BUCHER B., BRASEBIN M., BUARD E., GROSSO E., MUSTIÈRE S. (2009). GeOxygene: built on top of the expertness of the French NMA to host and share advanced GI Science research results. International Opensource Geospatial Research Symposium 2009 «OGRS'09», 8-10 July, Nantes (France).

CHESNEAU E (2006). Modèle d’amélioration automatique des contrastes de couleur en cartographie: application aux cartes de risque. Paris: Université Paris-Est Marne-la-Vallée; Institut Géographique National, thèse de doctorat, 372 p. (Télécharger ici).

ISO (2003). Geographic information — Spatial Schema ISO Draft International Standard 19107:2003.

KADA M. (2007). 3D Building Generalisation by Roof Simplification and Typification. In proceedings of «ICC2007», the International Cartography Association Conference, Moscow (Russia).