摘要: 什么是 3D Tiles? 3D Tiles 是用于流式传输和渲染大规模 3D 地理空间数据集的规范。它们使用分层结构来有效管理和显示 3D 内容,通过动态加载适当的细节级别来优化性能。该技术广泛应用于城市规划、建筑、模拟、游戏和虚拟现实,为复杂地理数据的可视...
什么是 3D Tiles?
3D Tiles 是用于流式传输和渲染大规模 3D 地理空间数据集的规范。它们使用分层结构来有效管理和显示 3D 内容,通过动态加载适当的细节级别来优化性能。该技术广泛应用于城市规划、建筑、模拟、游戏和虚拟现实,为复杂地理数据的可视化提供标准化和可互操作的解决方案。
3D Tiles 示例:
数据来自 Swisstopo (https://map.geo.admin.ch/)。
QGIS 中的 3D Tiles
为了能够在 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 的数据
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:
使用 Google 3D 数据
除了从 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 切片,而不会出现渲染问题。
限制 QGIS 中的项目范围
- 网络缓存大小
如果您正在处理大型数据集,建议将网络缓存大小增加到 1 GB 或更多。QGIS 中的默认值要低得多,这会导致数据渲染速度变慢。
增加 QGIS 中的缓存大小以加快渲染速度。
叠加其他 3D 数据
当尝试将其他数据集叠加在全局 3D Tiles 之上时,垂直基准可能不匹配,因此将在 3D 地图中的错误位置看到数据。要解决此问题,可能需要使用高程偏移在图层属性下沿 Z 轴移动数据:
未来的作品
这是 QGIS 中 3D Tiles 的首次实现。未来,我们希望添加更多用于处理和创建 3D Tiles 的功能。我们的愿望清单(排名不分先后)是:
- 地球视图:QGIS 3D 无法处理大场景或未投影的视图。
- 更高级的网格样式:例如,用户将能够创建自己的样式。
- 3D 室内导航:例如,用户将能够在建筑物内部导航,并且有可能使 BIM 数据更接近 QGIS
- 在 QGIS 中生成 3D Tiles:在 QGIS 中添加处理工具以从地图数据生成 3D Tiles。
3D Tiles的样式(图片来自 https://cesium.com/learn/ion/stories-styling/)。