访问量: 1120 次浏览
3D Tiles 是用于流式传输和渲染大规模 3D 地理空间数据集的规范。 它们使用分层结构来有效管理和显示 3D 内容, 通过动态加载适当的细节级别来优化性能。 该技术广泛应用于城市规划、建筑、模拟、游戏和虚拟现实, 为复杂地理数据的可视化提供标准化和可互操作的解决方案。
3D Tiles 示例:

数据来自 Swisstopo (https://map.geo.admin.ch/)。
为了能够在 QGIS 中使用 3D Tiles, 需要有 QGIS 3.34 或更高版本, 可在 Scene 下的数据源管理器中添加到 3D Tiles 服务的新连接:

从 QGIS 中的数据源管理器添加新的 3D Tiles 服务。
或者,可从浏览器面板添加服务:

浏览器面板中的 3D Tiles 数据提供程序。
要测试该功能, 可以使用以下 3D Tiles 服务:

创建与 3D Tiles 服务的新连接。
然后,可以将新生成连接中的地图添加到 QGIS:

向 QGIS 添加新的 3D Tiles。
默认情况下,该图层使用纹理设置样式, 但可更改它以查看场景后面的线框网格:

3D Tiles 的网格线框。
可像矢量多边形一样更改网格填充和线条符号。 或者,可以使用纹理颜色。 这将使用完整纹理的平均值渲染每个网格元素。 当处理大型数据集并希望快速概览数据时, 这是理想的选择:

具有网格纹理颜色的 3D Tiles。
要以 3D 形式查看数据, 可以打开新的 3D 地图。 与 2D 地图类似,通过放大/缩小, 将获取并显示更高分辨率的 Tiles:
Cesium ion 是一个基于云的平台, 用于管理和流式传输 3D 地理空间数据。 它简化了数据管理、可视化和共享。 要从 Cesium ion 添加 3D Tiles, 需要首先在此处注册他们的服务:https://ion.cesium.com/tokens
在 Asset Depot 下,将看到公开可用数据集的目录。 还可以上传自己的 3D 模型(例如 OBJ 或 PLY), 对其进行地理配准并将其转换为 3D Tiles。 还可以在 https://ion.cesium.com/assetdepot 下添加现有的 Tiles 服务之一, 并选择该 Tiles 服务,然后单击 “Add to my assets”:

将现有数据集添加到 Cesium ion 资产。
可使用 QGIS 存储库中 North Road 优秀的 Cesium ion 插件将数据添加到 QGIS:

除了从 Cesium ion 访问 Google Photorealistic 3D Tiles之外, 还可以直接在 QGIS 中添加切片。 首先,需要按照以下说明获取 3D Tiles 的 API 密钥: https://developers.google.com/maps/documentation/tile/cloud-setup
在注册过程中,将被要求添加信用卡详细信息。目 前(2023 年 11 月),他们不会向您收取使用该服务的费用。 获得 API 密钥后,可以使用以下连接详细信息添加 Google Tiles:

处理大型场景时,地图范围应设置为较小的区域, 以便能够以 3D 方式查看, 这是 QGIS 3D 地图当前的限制, 因为它无法处理大于 500 x 500 km 的场景。
要更改地图范围, 可以打开“项目属性”, 在“视图设置”下更改范围。 在下面的示例中, 地图范围仅限于伦敦的一部分, 因此我们可以在 3D 地图中查看 Google Photorealistic 切片, 而不会出现渲染问题。


如果您正在处理大型数据集, 建议将网络缓存大小增加到 1 GB 或更多。 QGIS 中的默认值要低得多, 这会导致数据渲染速度变慢。
增加 QGIS 中的缓存大小以加快渲染速度。

当尝试将其他数据集叠加在全局 3D Tiles 之上时, 垂直基准可能不匹配, 因此将在 3D 地图中的错误位置看到数据。 要解决此问题, 可能需要使用高程偏移在图层属性下沿 Z 轴移动数据:

这是 QGIS 中 3D Tiles 的首次实现。 未来,我们希望添加更多用于处理和创建 3D Tiles 的功能。 我们的愿望清单(排名不分先后)是:

3D Tiles的样式(图片来自 https://cesium.com/learn/ion/stories-styling/)。