从 DEM 到 glTF:QGIS 一键生成三维地形模型

从 DEM 到 glTF:QGIS 一键生成三维地形模型
SEAlencehe前言
在工作中用 ThreeJS 搭建场景时,我需要用到 DEM 数据作为地形基础,但建模同事无法直接使用原始 DEM 文件进行精细建模。因此,核心需求就是将 DEM 数据快速转换为通用的三维模型格式,再交付给建模团队做后续优化——希望能帮到有类似需求的同学。
DEM 获取
关于 DEM 数据的获取方法,大家可以参考我的上一篇博客:《Cesium 离线地形数据处理与加载:从数据获取到加载》,里面详细介绍了获取 DEM 数据的步骤。
安装 QGIS 插件
本次 DEM 转三维模型的核心工具是 QGIS 的Qgis2threejs插件,安装步骤如下:
- 打开 QGIS 软件,点击顶部菜单栏的【插件】;
- 在下拉菜单中选择【管理并安装插件】;
- 在弹出的插件管理窗口中,切换到【全部】或【搜索】选项卡,在搜索框输入“Qgis2threejs”;
- 找到对应插件后,点击【安装】,等待插件自动下载并完成安装即可。
(插件安装界面参考下图)
加载 DEM 和底图
插件安装完成后,先在 QGIS 中加载准备好的 DEM 数据和对应的底图(底图用于辅助定位地形范围,可选但建议加载),加载完成后的界面如下:
生成模型
核心操作步骤来了 👇,按照以下流程就能快速生成 DEM 三维模型:
- 点击 QGIS 顶部菜单栏的【Web】;
- 在下拉菜单中选择【Qgis2threejs】,再点击【Qgis2threejs Exporter】;
- 在弹出的导出窗口中,确保选中了需要转换的 DEM 图层;
- 点击【预览】,即可实时查看基于 DEM 生成的三维地形模型。
(模型预览界面参考下图)
⚠️ 关键注意事项:
- ✅ 模型贴图顺序:生成模型的贴图会完全遵循 QGIS 中的图层叠加顺序,若底图需要作为贴图显示,一定要将底图图层放在 DEM 图层上方,按需调整好图层顺序;
- ✅ 场景范围控制:模型的场景大小和地形范围会同步当前 QGIS 的视图窗口,建议先将视图窗口缩放至与 DEM 数据范围完全匹配的状态,避免生成的模型出现多余空白区域;
- ✅ 地形夸张设置:如果原始 DEM 的地形起伏不明显,可通过调整“垂直夸张系数”强化地形效果——在预览窗口的【Scene】菜单中选择【Scene Settings】,找到【Z exaggeration】(Z 轴夸张系数),增大数值即可让地形起伏更显著(效果参考下图)。
导出模型
确认模型效果符合需求后,即可导出为建模同事常用的格式,步骤如下:
- 在模型预览窗口中,点击顶部菜单栏的【File】;
- 选择【Save Scene As】(保存场景为);
- 在保存窗口中,选择导出格式为【glTF】(通用三维模型格式,完美兼容 Blender、Maya 等主流建模软件);
- 设置好保存路径和文件名,点击【保存】即可完成导出。
💡 Blender 加载注意事项:
导出的模型保留了真实的地理比例,直接在 Blender 中加载可能因比例过大导致无法完整查看,需进行以下设置:
- 在 Blender 中加载模型后,按下快捷键【N】调出右侧边栏;
- 在边栏的【视图】选项卡中,找到【结束】参数;
- 将【结束】数值调整为较大值(如 10000 或更高,根据模型实际大小调整),即可完整显示模型。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果







