建筑物的3D模型如何在网络浏览器中显示?


12

我想尝试在网络浏览器中显示拟议的建筑物,以便用户可以以类似于Google Maps Streetview的方式与建筑物进行交互。在任何平台上都可以这样做吗?

我可以以人类已知的任何地理空间格式生成建筑格式,但据我所知,Google Streetview仅允许使用其API插入点。我不想强迫用户下载插件来查看此内容(这就是为什么我不想使用Google Earth插件)[ 更新此点以响应评论 ]。

我曾经想过要尝试使用其他一些工具使用建筑物的静态图像制作全景图,该工具可以滚动以显示嵌入地图的外观。我认为这将违反Google的服务条款,但是我主要是好奇如何做到这一点。

我也愿意使用任何付费服务来实现此功能,或者考虑使用任何新技术,例如KartographWebGL或3D javascript库(例如http://threejs.org/)。


您是否考虑过VRML(虚拟现实建模语言)?尽管需要浏览器插件。

欢迎使用GIS-SE :)您的回答不是对问题的答案,因此,请考虑在将来发布诸如意见之类的建议。
Curlew

这不能为问题提供答案。要批评或要求作者澄清,请在其帖子下方留下评论-您可以随时评论自己的帖子,一旦您拥有足够的声誉,就可以在任何帖子中发表评论
Curlew

Answers:



5

在很大程度上取决于您想要的交互性。

如果您可以将模型转换为地理参考的KML或KMZ文件(也许使用Sketchup或Blender),则可以与其他任何KML相同的方式将其打开,并在Google Earth中查看3D模型(我已经用风力发电机完成了此操作)并且尽管Google的地形分辨率较高,也可以相当有效)。

如果您想以高质量显示大量细节,则可能需要考虑一些“重型”应用程序。例如,您可以尝试UnityPanda3DBlender(Blender的网络插件称为“ Burster ”)-所有这些都具有用于Web的3D查看器插件

有人提到VRML。VRML现在有点陈旧,已被X3D取代,尽管这也需要用户安装插件。

Flash 3D(Stage3D)是另一个选择,大多数人已经安装了最新的Flash插件,因此这对于您的最终用户来说是最少的麻烦。

如果你想要更多的东西重量轻,然后OSM3D可能是值得平底船,它采用XNavigator。后者可以作为集成组件提供,因此最终用户将不需要安装任何内容(尽管他们确实需要等待查看器加载)。


1
我使用的是PostGIS,因此可以使用KML进行导出(我对总体质量感兴趣,而不是当前的细节)。我希望用户不需要下载插件,这就是为什么我避开了Google Earth。我会看一下OSM3D,谢谢。
djq 2013年

osm3d.de/map.htm取决于Java插件,出于安全原因,该插件已被大多数浏览器阻止。诸如maps.osm2world.org中的预渲染图块可以避免这种情况,但仅允许预渲染视图方向。
AndreJ 2014年

2

好吧,您在谈论两件事。街景并不是真正的3D建筑,更像是全景图。如果要在网络浏览器中显示3D建筑,则可能需要安装Google Earth网络插件,然后将3D建筑模型另存为.KMZ,甚至将其加载到3D模型库(旧的Google模型库)中)。


我确实考虑过这种方法-但我想要一种不需要插件的方法。我确实知道街景不是3D建筑物,但我想知道是否有任何方法可以编辑图像的全景图以便插入建筑物。
2013年

1
如何在上X和Y坐标在下X和Y线上方构建多边形平面呢?然后,您可以将照片应用到该飞机上,这类似于街景。
瑞安·加内特

2

可以在此处看到这种方法的一个示例:www.arcgis.com/apps/CEWebViewer/这是使用CityEngine 3D从ArcGIS中获得的,您可以在其中缩放一组建筑物。

我一直在寻找更多示例,并找到了一个有趣的示例,该示例专注于城市可视化,名为http://vizicities.com/。此处有关于如何进行可视化的说明:http : //rawkes.com/articles / vizicities-dev-diary-1

在此处可以看到有趣的3D交互式对象的其他两个示例:

另一种有希望的WebGL方法可能是使用Cesiumhttp//cesium.agi.com/demos.html,它可以处理KML输出。


1

Sketchup有一个名为Sketcup Web Exporter的插件,可以将您的建筑物导出为每个角度的一系列jpeg,以及一小段JS代码,将它们整合在一起。这不是真正的3D解决方案,但允许用户以固定的高度围绕模型旋转,并且不需要任何插件。 http://www.youtube.com/watch?v=j0Tmlko5YTU 如果您想要合适的3D和地理环境,我会倾向于使用Google Earth插件解决方案。


0

我建议您看一下托管在GitHub上的AreaCAD-GIS开源项目。信息库促进了一个与INOVA AreaCAD-GIS概念相关的项目,INOVA AreaCAD-GIS概念是用于设计,维护和分析与城市空间相关的结构的一组软件工具。该项目基于流行的CAD,GIS和BIM平台,使用Unity 3D,Autodesk Revit和AutoCAD应用程序及相关API集成了有关空间规划和基础设施网络设计的专业知识。目标是使用INSPIRE数据规范创建上述平台绑定,同时在设计,仿真和报告工作流方面利用类似于游戏的易用性。


0

Threejs具有在Web浏览器中加载3D对象的很好的选择。飞机飞越山的一个这样的例子。珠穆朗玛峰显示在此链接中

在此处输入图片说明

本示例使用threejs库使用平面作为Collada对象生成3D,并且使用从SRTM DEM创建的.bin格式和Bluemarbel(250m)图像的纹理制作了珠穆朗玛峰。此示例摘自blog.thematicmapping.org

这仅需要为WebGL启用浏览器(它将使用客户端的GPU)并且没有插件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.