Comment afficher un modèle 3D d'un bâtiment dans un navigateur Web?


12

Je voudrais essayer de montrer un bâtiment proposé dans un navigateur Web de sorte que l'utilisateur puisse interagir avec lui d'une manière similaire à Google Maps StreetView. Est-il possible de le faire, dans n'importe quelle plateforme?

Je peux produire le format du bâtiment dans n'importe quel format géospatial connu de l'humanité, mais pour autant que je sache, Google Streetview autorise uniquement l'insertion de points à l'aide de leur API. Je ne veux pas forcer les utilisateurs à télécharger un plugin pour le voir (c'est pourquoi je préférerais ne pas utiliser le plugin Google Earth) [ mettre à jour ce point en réponse aux commentaires ].

Une pensée que j'avais était d'essayer de faire un panorama en utilisant des images statiques du bâtiment dans un autre outil qui pourrait défiler pour donner l'impression qu'il était intégré dans une carte. Je suppose que ce serait contraire aux conditions d'utilisation de Google, mais je suis surtout curieux de savoir comment cela peut être fait.

Je suis également ouvert à l'utilisation de tout service payant pour cette fonctionnalité ou à toute nouvelle technologie telle que Kartograph , WebGL ou peut-être une bibliothèque javascript 3D telle que http://threejs.org/


Avez-vous envisagé VRML (Virtual Reality Modeling Language)? Bien que le plugin du navigateur soit requis.

Bienvenue dans GIS-SE :) Votre réponse n'est pas une réponse à la question, alors pensez à poster de tels conseils à l'avenir.
Courlis

Cela ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article - vous pouvez toujours commenter vos propres articles, et une fois que vous aurez une réputation suffisante, vous pourrez commenter n'importe quel article .
Courlis

Réponses:



5

Cela dépend beaucoup du type d'interactivité que vous souhaitez.

Si vous pouvez convertir votre modèle en un fichier KML ou KMZ géoréférencé (peut-être en utilisant Sketchup ou Blender), vous pouvez l'ouvrir de la même manière que tout autre KML et voir votre modèle 3D dans Google Earth (je l'ai fait avec des éoliennes et il peut être raisonnablement efficace, malgré la résolution de terrain grossier de Google).

Si vous souhaitez afficher beaucoup de détails en haute qualité, vous pouvez envisager certaines applications «lourdes». Par exemple, vous pouvez essayer Unity , Panda3D ou Blender (le plug-in Web de Blender est appelé ' Burster ') - qui ont tous des plugins de visionneuse 3D pour le Web

Quelqu'un a mentionné VRML. VRML est maintenant un peu à l'ancienne et a été remplacé par X3D , bien que cela nécessite également que l'utilisateur installe un plugin.

Flash 3D ( Stage3D ) est une autre option et la plupart des gens ont déjà installé un plugin Flash mis à jour, ce serait donc le minimum de tracas pour vos utilisateurs finaux.

Si vous voulez quelque chose de plus léger, OSM3D peut valoir le coup, qui utilise XNavigator. Ce dernier peut être fourni en tant que composant intégré afin que votre utilisateur final n'ait pas besoin d'installer quoi que ce soit (bien qu'il doive attendre que la visionneuse se charge).


1
J'utilise PostGIS, donc exporter en KML est très bien (je m'intéresse au volume général, plutôt qu'aux détails pour le moment). Je préférerais que les utilisateurs n'aient pas besoin de télécharger un plugin, c'est pourquoi je me suis détourné de Google Earth. Je vais jeter un œil à OSM3D, merci.
djq

osm3d.de/map.htm dépend du plugin java, qui est bloqué par la plupart des navigateurs pour des raisons de sécurité. Les tuiles Prerenderd comme celles de maps.osm2world.org évitent cela, mais n'autorisent que les directions de vue pré-rendues.
AndreJ

2

Eh bien, vous parlez un peu de deux choses différentes. La vue sur la rue n'est pas vraiment un bâtiment 3D, c'est plutôt un panorama. Si vous souhaitez afficher un bâtiment 3D dans un navigateur Web, vous souhaiterez peut-être installer le plugin Web Google Earth, puis enregistrer votre modèle de bâtiment 3D en tant que .KMZ, ou même le charger dans l'entrepôt 3D (ancien Google Warehouse ).


J'ai pensé à cette méthode - mais j'aimerais une approche qui ne nécessite pas de plugin. Je comprends que cette streetview n'est pas un bâtiment en 3D, mais je me suis demandé s'il y avait une approche qui pourrait permettre de modifier le panorama des images de manière à pouvoir insérer un bâtiment.
djq

1
Qu'en est-il de la construction d'un plan polygonal où les coordonnées X et Y supérieures sont au-dessus des cordes X et Y inférieures. Ensuite, vous pouvez appliquer les photos à cet avion, ce serait similaire à une vue de rue.
Ryan Garnett

2

Un exemple de cette approche peut être vu ici: www.arcgis.com/apps/CEWebViewer/ Il s'agit d'ArcGIS utilisant CityEngine 3D où vous pouvez zoomer autour d'un ensemble de bâtiments.

J'ai cherché plus d'exemples et en ai trouvé un intéressant qui se concentre sur les visualisations de la ville, appelé http://vizicities.com/ Il y a une explication de la façon dont ils ont fait leur visualisation ici: http://rawkes.com/articles / vizicities-dev-diary-1

Deux autres exemples d'objets interactifs 3D intéressants peuvent être vus ici:

Une autre approche WebGL prometteuse pourrait être d'utiliser le césium : http://cesium.agi.com/demos.html qui peut gérer la sortie KML.


1

Il existe un plugin pour Sketchup appelé Sketcup Web Exporter qui exportera votre bâtiment sous la forme d'une série de fichiers jpeg de chaque angle ainsi qu'un petit morceau de code JS qui les rassemble. Ce n'est pas une vraie solution 3D mais permet aux utilisateurs de tourner autour du modèle à une altitude fixe et ne nécessite aucun plugin. http://www.youtube.com/watch?v=j0Tmlko5YTU J'aurais tendance à privilégier une solution de plug-in Google Earth si vous vouliez une 3D et un géo-contexte appropriés.


0

Je vous suggère de jeter un œil au projet open source AreaCAD-GIS hébergé sur GitHub. Repository facilite un projet lié au concept INOVA AreaCAD-GIS - un ensemble d'outils logiciels pour la conception, la maintenance et l'analyse des structures urbaines liées à l'espace. Basé sur des plates-formes CAO, SIG et BIM populaires, le projet intègre des connaissances d'experts sur la planification spatiale et la conception de réseaux d'infrastructure à l'aide des applications Unity 3D, Autodesk Revit et AutoCAD et des API associées. L'objectif est de créer les liaisons de plate-forme susmentionnées en utilisant les spécifications de données INSPIRE, tout en tirant parti de la facilité d'utilisation de type jeu en ce qui concerne la conception, la simulation et les rapports de workflows.


0

Threejs propose de très bonnes options de chargement d'objets 3D dans les navigateurs Web. Un tel exemple d'un avion survolant le mont. Everest est montré dans ce lien .

entrez la description de l'image ici

Cet exemple utilise la bibliothèque threejs pour générer de la 3D en utilisant un avion comme objet Collada et Mt everest a été créé en utilisant le format .bin créé à partir de SRTM DEM et la texture à partir de l'image Bluemarbel (250m). Cet exemple est un extrait de blog.thematicmapping.org .

Cela nécessite simplement d'avoir un navigateur activé pour WebGL (qui utilisera le GPU du client) et aucun plugin.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.