QGIS 3D地图制作全流程指南

第一章:QGIS的3D功能概述

QGIS自3.0版本起集成原生3D视图功能,支持地形模型、矢量要素的三维渲染及动态交互。其核心能力包括:

  1. 地形可视化:基于DEM(数字高程模型)生成地形表面,支持垂直比例调整以增强地形起伏效果。
  2. 矢量要素挤出:将建筑物轮廓、道路等矢量数据通过高度属性拉伸为3D模型。
  3. 光照与材质:可配置点光源、平行光、阴影分辨率及材质反射属性(如漫反射、镜面反射、透明度)。
  4. 多格式导出:支持OBJ、GLTF等通用3D格式,便于与其他软件(如Blender、Three.js)集成。

第二章:数据准备与预处理
2.1 核心数据类型
  • 地形数据:DEM栅格文件(如GeoTIFF),分辨率决定地形精度(推荐≥10米)。
  • 矢量数据:建筑物轮廓(SHP)、道路网络(GeoJSON)、POI点数据(CSV)。
  • 纹理数据:卫星影像(JPEG2000)、山影图(Hillshade)增强地形立体感。
2.2 数据获取渠道
  • 开放数据平台:USGS EarthExplorer(DEM)、OpenStreetMap(矢量)、Sentinel Hub(卫星影像)。
  • 本地采集:激光扫描(LiDAR)生成高精度DEM,或通过GPS设备获取高程点。
2.3 数据预处理
  1. 坐标系统一:确保所有图层使用同一CRS(如EPSG:4326或EPSG:3857),避免三维空间错位。
  2. 格式转换:将KML、GPX等非GIS格式转换为QGIS兼容格式(如SHP、GeoTIFF)。
  3. 属性字段添加:为矢量要素定义高度字段(如height),用于后续模型挤出。

第三章:3D地图创建步骤
3.1 基础地形构建
  1. 导入DEM:通过“图层”→“添加栅格图层”加载DEM文件。
  2. 创建3D视图:点击“视图”→“新建3D地图视图”,激活3D画布。
  3. 地形参数配置
    • 垂直比例:默认1:1可能过平,需根据地形调整(如放大5-10倍)。
    • 渲染模式:选择“DEM(栅格图层)”,启用“地形晕渲”增强细节。
3.2 矢量要素三维化
  1. 建筑物挤出
    • 右键图层→“属性”→“3D视图”→勾选“启用3D渲染”。
    • 设置挤出高度(如字段height或固定值),调整屋顶/墙面材质颜色。
  2. 道路与河流:使用“线符号”的“轨迹”模式,设置线宽与高程偏移量模拟立体效果。
3.3 叠加纹理与标注
  • 卫星影像叠加:将正射影像作为独立栅格层叠加至地形,调整透明度实现融合。
  • 动态标签:启用“3D标注”,设置标注高程偏移避免与地形重叠。

第四章:高级渲染与场景优化
4.1 光照与阴影
  • 光源类型:支持8个点光源+4个平行光,模拟自然光照。
  • 阴影参数:调整“阴影距离”与“分辨率”,平衡效果与性能(高分辨率可能导致卡顿)。
  • 环境光遮蔽:启用“环境光”选项,增强模型间遮挡的真实感。
4.2 材质与透明度
  • 材质类型:支持“写实材质”(基于物理渲染)与“CAD材质”(强调边缘线条)。
  • 透明度控制:通过滑块调整水体或玻璃材质的半透明效果。
4.3 视角与动画
  • 视角操作:按住Shift+鼠标拖拽调整视角,滚轮缩放。
  • 飞行路径录制:使用插件(如QGIS2threejs)录制漫游动画,输出为视频。

第五章:插件扩展与自动化
5.1 核心3D插件
  • Qgis2threejs:将3D场景导出为WebGL格式,支持浏览器交互。
  • 3D Analyst:提供高级地形分析工具(如剖面切割、可视域分析)。
  • Orfeo Toolbox:处理遥感数据(如影像分类),增强纹理细节。
5.2 Python脚本自动化
  • PyQGIS API:批量生成3D视图,示例代码:
    # 创建3D视图
    view3d = Qgs3DMapCanvas()
    view3d.setLayers([dem_layer, building_layer])
    view3d.setVerticalScale(5.0)
    view3d.show()
    

    运行


第六章:导出与共享
6.1 图像与视频
  • 静态输出:通过“另存为图像”导出PNG/TIFF,分辨率可自定义。
  • 动态输出:使用ScreenRecorder插件录制视角漫游视频。
6.2 3D模型导出
  • 格式选择
    • OBJ:通用3D格式,兼容Blender、Maya。
    • GLTF:Web友好格式,支持Three.js加载。
  • 导出步骤:通过插件(如QGIS2threejs)选择模型范围与格式,自动生成纹理贴图。
6.3 Web发布
  • WebGL集成:将GLTF文件嵌入网页,使用Three.js实现交互式浏览。
  • QGIS Server:部署3D地图服务,支持W3DS标准在线访问。

第七章:典型案例分析
案例1:城市三维建模
  • 数据:LiDAR DEM(1米分辨率)+ OSM建筑物轮廓。
  • 步骤
    1. 建筑物高度从OSM标签height字段提取。
    2. 叠加Google卫星影像作为纹理。
    3. 导出GLTF模型,用于城市规划展示。
案例2:地形灾害模拟
  • 数据:SRTM DEM(30米)+ 滑坡边界矢量。
  • 步骤
    1. 调整垂直比例突出陡坡区域。
    2. 使用“可视域分析”插件模拟滑坡影响范围。
    3. 输出3D剖面图辅助应急决策。

第八章:常见问题与优化建议
  1. 地形显示异常:检查DEM的CRS是否为投影坐标系(如UTM),地理坐标系(如WGS84)可能导致扭曲。
  2. 性能卡顿:降低DEM分辨率或关闭实时阴影,复杂场景建议分块加载。
  3. 纹理错位:确保卫星影像与DEM使用相同CRS,必要时通过“地理配准”工具校正。
  4. 插件兼容性:QGIS版本升级后,部分插件需重新安装(如Qgis2threejs)。

结语

QGIS的3D功能已从基础可视化发展为涵盖建模、分析与发布的综合工具链。通过合理选择数据、优化渲染参数及扩展插件,用户可高效制作科研级或展示级三维地图。未来,随着WebGL与实时渲染技术的整合,QGIS在虚拟地理环境(VGE)中的应用潜力将进一步释放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值