Extraire des modèles 3D de contexte depuis votre SIG 3D
Les architectes, les urbanistes ou encore les ingénieurs en BTP ont
souvent besoin d'un contexte 3D précis et accessible pour visualiser et
concevoir de nouveaux projets au sein d'environnements urbains existants.
Pour faciliter la récupération de ce type de contexte 3D à partir de votre
Jumeau Numérique ArcGIS, une nouvelle application open source "City Download Portal" est désormais disponible. Développée avec le
SDK ArcGIS Maps for JavaScript, cette dernière permet justement d'extraire rapidement un ou plusieurs
modèles 3D pour un usage dans des outils de conception 3D externes au SIG.
En délimitant une zone, vous pouvez télécharger les bâtiments et le
terrain sélectionnés sous forme d'un seul modèle 3D. Vous ouvrez ensuite
le fichier dans des environnements comme Blender, Rhino ou SketchUp pour
importer le contexte 3D de votre SIG dans votre logiciel de modélisation
3D préféré.
Vous souhaitez l'essayer avant de vous plonger dans les détails des
formats 3D et du géoréférencement ? Voici le lien vers l'application de
démonstration :
https://esri.github.io/city-download-portal/
A la base, la couche d'objets 3D
Le chargement et la manipulation de modèles 3D sur le Web sont possibles grâce à un type de couche appelé "couche d'objets 3D". Celle-ci peut être créée via ArcGIS Pro ou directement dans ArcGIS Online et ArcGIS Enterprise.
Une couche d'objets 3D se compose d'une couche de scène 3D et d'une couche d'entités 3D associée. La couche de scène facilite l'affichage et le chargement, tandis que la couche d'entités associée stocke les données pour la mise à jour et l'interrogation. Cette fonctionnalité 3D est intégrée à la classe SceneLayer, ce qui vous permet d'utiliser la méthode SceneLayer.queryFeatures() pour récupérer directement les résultats de la couche d'entités associée. Vous pouvez ainsi exécuter des requêtes spatiales ou attributaires qui renvoient la géométrie 3D, de la même manière qu'avec les entités ponctuelles, linéaires et polygonales.
La manipulation directe de modèles 3D, tels que des bâtiments, dans un navigateur nécessite que la géométrie 3D soit dans un format interopérable. Pour les applications web, le format courant est GLB (également appelé glTF binaire). L'équipe 3D du centre de R&D Esri de Zurich a mis à disposition la manipulation et l’accès aux données 3D via une API publique. Vous pouvez ainsi l'utiliser dans le SDK ArcGIS Maps for JavaScript pour implémenter des flux de travail et des applications personnalisés à partir de vos données 3D, permettant aux fournisseurs de données faisant autorité d’améliorer l’interopérabilité et l’accessibilité de leur système de référence 3D.
Flux de travail sur les géométries 3D
Dans notre portail de téléchargement municipal, nous exploitons ces nouvelles possibilités de la manière suivante :
- Interroger les caractéristiques des bâtiments 3D : Utilisez cette méthode SceneLayer.queryFeatures pour sélectionner et récupérer les géométries de maillage de bâtiments spécifiques.
- Créer une géométrie de terrain : Générez une géométrie de maillage détaillée pour le terrain à partir de données d’altitude en utilisant la méthode meshUtils.createFromElevation.
- Fusionner les fonctionnalités en un seul maillage : créer un seul modèle 3D à l’aide de la méthode meshUtils.merge.
- Conversion en coordonnées cartésiennes : Établissez un point de référence réel comme origine du modèle local en utilisant meshUtils.convertVertexSpace.
- Export et téléchargement : Convertissez la géométrie du maillage en format binaire glTF (GLB) pour le téléchargement Mesh.toBinaryGLTFl.
Dans ce flux de travail, la classe Mesh de géométrie représente les modèles GLB du SDK JavaScript Maps et fournit des méthodes de conversion entre les deux. Les requêtes sont basées sur les étendues définies par l'utilisateur et exécutées directement sur le modèle SceneLayer. Bien que les textures soient ignorées dans cet exemple, il est possible de colorer certaines entités ou parties du modèle exporté pour améliorer la visualisation.
Généralement, cette approche côté client permet d'intégrer des couches supplémentaires, comme de la végétation, du mobilier urbain ou des infrastructures... à vos modèles 3D. Les possibilités sont aussi vastes que votre imagination – ou, à terme, que la mémoire du navigateur web.
Interopérabilité et géoréférencement
Comme nous transférons des données 3D entre un SIG et un logiciel de modélisation 3D, il est crucial de maintenir la cohérence des systèmes de coordonnées et des origines entre les différents outils. En conservant un point de référence et une orientation fixes, les nouvelles données 3D modélisées s'aligneront parfaitement lors de leur réimportation dans ArcGIS. Bien que cela dépasse le cadre de notre nouvelle démonstration du portail de téléchargement de données urbaines, il est possible d'obtenir le même résultat avec une couche d'objets 3D dans Scene Viewer ou toute autre application d'édition utilisant le SDK ArcGIS Maps for JavaScript.
Alors que certains formats 3D stockent directement les métadonnées de géoréférencement, d'autres, comme glTF, nécessitent un référencement manuel. Le SDK Maps for JavaScript fournit des infobulles avec les coordonnées exactes, garantissant ainsi la précision lors de la saisie manuelle. De plus, la prise en charge du géoréférencement par fichier sera bientôt disponible dans les prochaines versions du SDK ArcGIS Maps for JavaScript, simplifiant encore davantage l'intégration sur différentes plateformes.
Conclusion
Il est désormais possible d'accéder à vos données 3D directement dans votre navigateur, ce qui ouvre un large éventail de possibilités pour créer des flux de travail personnalisés. Le "City Download Portal" en est un exemple. Vous pouvez dupliquer et redéployer une version au sein de votre organisation GitHub, ou simplement remplacer l'identifiant de la scène web dans l'URL pour l'utiliser avec vos propres données. L'application exploitera n'importe quel calque d'objet 3D présent dans votre scène.
Bien que le traitement côté client offre une certaine flexibilité, il est essentiel de surveiller l'utilisation de la mémoire. Pour les grands ensembles de données, il est conseillé de transférer la manipulation des données 3D vers une implémentation côté serveur.
Le portail "City Download Portal" est un logiciel libre et accessible au public :
