什么是3Dtiles?
3D 瓦片是一种用于流式传输和渲染大规模3D地理空间数据集的规范。它们采用分层结构高效管理和显示3D内容,通过动态加载适当的细节层级优化性能。该技术广泛应用于城市规划、建筑、仿真、游戏和虚拟现实领域,为复杂地理数据的可视化提供了标准化且互操作的解决方案。
3Dtiles示例:


QGIS中的三维3Dtiles
要在QGIS中使用3D瓦片,你需要QGIS 3.34或更高版本。你可以在数据源管理器的场景下添加一个新的3D瓷砖服务连接:

或者,你也可以从浏览器面板添加该服务:

要测试该功能,您可以使用以下3D瓷砖服务:
在线浏览编辑3dtiles mp.gszh.xyz
Name: 3D Tiles example
URL: https://pelican-public.s3.amazonaws.com/3dtiles/agi-hq/tileset.json

然后你可以将新生成连接中的映射添加到QGIS:

默认情况下,图层是用纹理来样式的,但你可以更改它,让它能看到幕后线框网格:

你可以像向量多边形一样更改网格填充和线条符号。或者,你也可以使用纹理颜色。这样每个网格元素都会渲染成完整纹理的平均值。这在处理大量数据集并希望快速了解数据时非常理想:

要以3D方式查看数据,可以打开新的3D地图。类似于二维地图,通过放大/缩小,可以获取并显示更细分辨率的瓦片:
利用铯离子数据
Cesium ion 是一个基于云的平台,用于管理和流媒体3D地理空间数据。它简化了数据管理、可视化和共享。
要添加 Cesium ion 的 3D 瓷砖,你需要先在这里注册他们的服务:https://ion.cesium.com/tokens
在Asset Depot下,你会看到一个公开数据集的目录。你也可以上传自己的3D模型(比如OBJ或PLY),对它们进行地理参考,并转换成3D瓷砖。
你也可以在 https://ion.cesium.com/assetdepot 下添加现有的瓦片服务,选择该瓦片服务,然后点击“添加到我的资产”:

你可以使用来自 QGIS 仓库的 North Road 的优秀 Cesium ion 插件,将数据添加到 QGIS:

处理谷歌3D数据
除了访问 Cesium ion 的 Google 写实 3D 瓷砖外,你也可以直接在 QGIS 中添加这些瓷砖。首先,您需要按照以下说明获取3D瓷砖的API密钥 https://developers.google.com/maps/documentation/tile/cloud-setup
注册过程中,您将被要求填写信用卡信息。目前(2023年11月),他们不会向你收取使用该服务的费用。
获得API密钥后,您可以使用以下连接信息添加Google磁贴:

注释与评论
- 调整大型场景的地图范围
处理大型场景时,地图范围应设置为较小区域,以便3D显示。这是QGIS三维地图目前的局限,因为它无法处理超过500 x 500公里的场景。
要更改地图范围,可以打开项目属性,在视图设置中更改范围。在下面的示例中,地图范围仅限于伦敦的一部分,因此我们可以在3D地图中查看Google写实的瓦片而不会产生渲染问题。


- 网络缓存大小
如果你处理的是大型数据集,建议将网络缓存大小增加到1GB或更大。QGIS的默认值要低得多,导致数据渲染速度变慢。

- 叠加其他三维数据
当你试图在全局三维瓦片上叠加其他数据集时,垂直基准可能不匹配,因此你会在三维地图上看到错误的位置。要解决这个问题,你可能需要使用高程偏移,在图层属性下沿Z轴移动数据:

未来作品
这是QGIS中首次实现3D瓷砖。未来,我们希望增加更多处理和创建3D瓷砖的功能。我们的愿望清单(无特定顺序)是:
- 全球视图:QGIS 3D无法处理大型场景或未投影视图。
- 更高级的网格样式:例如,用户可以创建自己的样式。
- 3D室内导航:举例来说,用户将能够在建筑内部导航,这有可能让BIM数据更接近QGIS的
- 在QGIS中生成3D瓷砖:在QGIS中添加处理工具,从地图数据生成3D瓷砖。