2023年10月底 QGIS 3.34 发布,开始支持 三维瓦片(3D Tiles)。这个项目得到了 Cusium 的资助,由 North Road Consulting(澳大利亚)和 Lutra Consulting(英国)合作完成。Lutra 在博文 QGIS 三维瓦片 中简要介绍了在 QGIS 中加载三维瓦片数据的方法,以及一些可供测试的免费数据源,有兴趣可以试下。
尝试前需要先确认两件事儿:
- 确认 QGIS 是 3.34 或更高版本
- 部分数据源需要访问外网,确认建立连接的办法
最终渲染效果大概是这个样子的:


一、从 数据源管理器/浏览器 → 场景 添加数据
- 在 数据源管理器(Ctrl + L)或 浏览器边栏 的 场景 中,添加新的服务(图3)
- URL填入:https://pelican-public.s3.amazonaws.com/3dtiles/agi-hq/tileset.json
- 将新生成的连接拖拽到 图层边栏
- 点击菜单 视图 → 新建3D地图视图(图4),就可以查看三维瓦片数据了(图5)



二、从 Cesium ion 插件添加数据
- 需要在 ion.cesium.com 注册账号
- 点击菜单 插件 → 管理并安装插件,在对话框中找到 Cesium ion 插件并安装(图6)
- 安装完成后,顶端会弹出消息框,点击 Configure 按钮,按照提示设定 QGIS安全认证主密码(用于访问 QGIS 的本地加密数据库,与 Cesium 无关,不要用相同密码)
- 双击 浏览器边栏 → Cesium ion,在打开的网络浏览器窗口中登录 Cesium ion 并授权
- 拖拽数据集(如 Cesium OSM Buildings、Google Photorealistic 3D Tiles)到 图层边栏
- 根据数据集的不同,可能调整一些设置或做些操作,后面细说
- 愉快的享受三维瓦片数据吧(图7、图8)



三、常见问题和解决办法
1、内存和网络缓存设置
处理大型数据集时,内存和网络缓存设置的默认值偏小,会导致渲染速度变慢。
- 在 设置 → 选项 → 网络 中,建议将缓存大小增加到 1 GB 或更大;也可以修改缓存文件夹的位置,比如移到系统盘以外的其他磁盘里(图9)
- 在 设置 → 选项 → 3D中,每个地图图层所允许的内存 初始默认值为 500 MB,可根据电脑配置调整,建议增加到 1 GB 或更大(图10)


2、调整大场景的地图范围
按照Lutra的说法,QGIS 三维地图目前无法处理大于 500 x 500 公里的场景,因此处理大型场景时,要将地图范围设置为较小的区域,以便能够以三维方式查看。
- 点击菜单 工程 → 工程属性,在 视图设置 下更改范围(图11)
试了一下,有点混乱,设置似乎需要重启 QGIS 才能生效。比如,先把工程地图范围设定为北京,浏览发现确实距离超过500公里就不再加载三维瓦片了;然后,把工程地图范围改为上海,发现无法立即加载上海的三维瓦片,重启QIS并打开存档后才行。
一点儿题外话,OSM Buildings 数据集里上海陆家嘴的天际线实在惨不忍睹(图12),仔细看二维地图上是有东方明珠的,难道是 QGIS 对球体等稍复杂些的几何形体支持不好?还不确信。



3、定位与视图设置
有些数据集,比如 Cesium OSM Buildings,要想定位到特定区域是比较困难的,需要一些技巧或工具的帮忙,比如用 QuickMapServices 插件加载 OSM 等网络地图来辅助定位。
新建三维视图的时候也容易找不到位置,需要先在二维视图中找到需要的位置,然后在3D地图视图的 配置 对话框, 点击 地图画布范围 按钮,就可以定位了(图13)。
还有Z轴偏移、地形设定等一些技巧会影响最终渲染效果,以后找时间再说。
四、更多数据
Cesium ion 是一个基于云的平台,用于管理和传输 3D 地理空间数据,前面提到的两个数据集只是已默认添加到 我的资产 中的数据。
在 Cesium ion 网站的 Asset Depot 栏目下,列出了更多公开可用的数据集目录。从蒙特利尔的点云,到月球地形,大概30项左右。点击 + 号或右侧详情面板上的 Add to my assets 按钮,可以把数据集加到我的资产中,并在 QGIS 中加载。
小结
试用体验和渲染效果大概就是这个样子吧。5分满分的话,总体感觉3.5分左右吧。
最困惑的点还是应用场景,如果仅仅是想浏览三维瓦片数据,直接用 GoogleEarth 体验和效果都要好的多。怎么能够把这些功能和应用场景真正的契合起来,让“供”和“需”相互匹配才是关键,也是我还没太想好的问题。
你觉得 QGIS 三维瓦片功能适合什么应用场景?或有任何疑问及意见,欢迎留言。
后续
QGIS 从2017年的3.0版首次引入了3D视图,之后的版本演进除增加了三维瓦片支持以外,还包括点云数据、高程剖面工具、激光雷达处理算法、地球视图等更多三维相关的功能。
如今 Lutra 和 North Road 又在搞众筹,目标到6月30日筹集7.5万欧元,这次的口号有点大:开源数字孪生,不过看提案和预期功能点,还是一步一个脚印地在推。
真心觉得如此认真、持续地专注做一件事情,是个挺幸福的事儿。
发表回复