DEM数据处理怎么做?流程、步骤、工具与实例

GIS基础理论
Dr.GIS
wowwwai GIS研习社 · 工具流程与项目排障

DEM数据处理就是把原始高程数据变成空间参考正确、空洞已填、精度可用的规则格网成果,核心环节包括资料准备、预处理(重投影与镶嵌)、地形生成或滤波、编辑质检与裁切。典型做法是先统一分辨率和坐标系,再做填洼、平滑或插值,最后用坡度/等高线等衍生产品验收。开源侧优先用GDAL命令行加QGIS可视化,商业侧用ArcGIS Pro的3D Analyst/Spatial Analyst;水文分析前必须填洼并切到投影坐标系。按标准流程走,配合合适工具,就能从SRTM、Copernicus等公开源或自有点云快速产出可靠DEM。

DEM高程数据三维可视化效果示意

DEM数据处理流程包含哪些关键环节

实际项目里,dem数据处理流程通常按资料准备→定向或点云建模→DEM生成→检查编辑→接边镶嵌→裁切质检推进。原始数据可来自卫星(SRTM约30 m、ASTER GDEM V3、Copernicus GLO-30)、航空摄影、LiDAR点云或InSAR。预处理要做辐射/几何校正、去云、统一分辨率和重采样;建模阶段立体像对算高差,或LiDAR建TIN再转规则格网,也可直接对DSM滤波得到DTM。后期重点是平滑滤波减噪、插值填空洞、边界裁剪,再按图幅接边并检查空间参考、高程精度与逻辑一致性。水文场景还会额外做填洼、流向验证,避免伪洼地打断河网。

  • 资料准备:确认覆盖范围、分辨率、垂直基准(如EGM96/EGM2008)与授权。
  • 预处理:格式转换、坐标变换、空洞检测与初步镶嵌。
  • 生成与编辑:TIN内插或滤波,平滑过渡异常值。
  • 成果质检:位置/高程精度、格网参数、时间与逻辑一致性。

DEM数据处理步骤怎么具体操作

下面给出可直接落地的dem数据处理步骤,适合开源工具链,也适用于多数商业软件。重点解决“多瓦片怎么合、空洞怎么补、水文怎么用”三个痛点。

  1. 合并或建虚拟镶嵌:多瓦片先用gdalbuildvrt建VRT,或用QGIS Raster → Miscellaneous → Merge;大文件优先VRT+COG,避免一次读入内存爆炸。
  2. 检查空洞与NoData:用gdalinfo查看统计与NoData值;空洞可用邻近插值或专用hole-fill工具填补,再验证边界是否出现台阶。
  3. 重投影到分析坐标系:地理坐标系(如EPSG:4326)在高纬度会产生单元格畸变,水文分析必须先warp到投影系(如当地UTM)。命令示例思路:gdalwarp -t_srs EPSG:xxxx -tr 分辨率 -r bilinear -tap -srcnodata/-dstnodata -co 压缩选项。DEM重采样优先双线性或三次,避免最近邻造成水文伪影。
  4. 填洼(Fill sinks):真实洼地保留,伪洼地必须处理。QGIS推荐Wang & Liu算法或WhiteboxTools的BreachDepressionsLeastCost再Fill;ArcGIS用Spatial Analyst Fill并设z限制。填洼后的DEM专用于流向/累积,坡度坡向仍用原始DEM计算。
  5. 衍生与裁切:用gdaldem生成坡度、坡向、山体阴影;gdal_contour或QGIS Contour提取等高线;按研究区裁切并统一显示拉伸,消除瓦片边界视觉断裂。
  6. 质量验收:叠加已知控制点或河网,检查高程偏差、流向是否合理、边缘流域是否被截断;记录CRS、分辨率、垂直单位与处理日志。

整个dem数据处理方法强调“先投影再分析、先填洼再水文、原DEM与填洼DEM分工使用”。截至2026年11月,GDAL已到3.13.3(2026-08-18发布),gdaldem对scale可据CRS自动推算垂直/水平单位比,地理CRS高纬度仍建议先重投影。

DEM数据处理工具怎么选

工具选择看数据量、是否要脚本化、预算和团队熟悉度。开源组合能覆盖绝大多数dem数据处理技术需求;商业软件在立体测图向导和许可生态上更完整。

工具 最新版本(截至2026年) 核心能力 适用场景 许可与门槛
GDAL 3.13.3(2026-08-18) gdaldem(hillshade/slope/aspect等)、gdalwarp、gdalbuildvrt、gdal_contour;命令行与Python绑定 批量重投影、镶嵌、衍生产品、脚本流水线 开源;Conda/OSGeo4W/Docker安装;需CMake≥3.16、PROJ≥6.3.1等
QGIS 4.2.x(约2026-07起),LTR 3.44.x Processing工具箱(Merge、Warp、Fill sinks、Contour);插件下载DEM;可视化检查 交互式编辑、质检、教学与中小项目 开源;Win/macOS/Linux 64位;推荐充足内存处理大栅格
ArcGIS Pro 3.7(2026-05-14)及补丁 Fill、Contour、Slope/Aspect、Mosaic、Ortho mapping DEM向导、Hydrology工具集 立体像对生成DTM/DSM、企业标准流程 商业许可;需3D Analyst或Spatial Analyst;Win11/Server,推荐32 GB+内存

下载与衍生分析可直接查阅GDAL gdaldem 官方说明。QGIS用户若要从OpenTopography拉公开DEM,可安装对应插件,详情见QGIS OpenTopography DEM Downloader 插件页面(需API key)。数据源方面,SRTM 1弧秒、ASTER GDEM V3、Copernicus DEM GLO-30/90、ALOS AW3D30及国内地理空间数据云均为常用入口,下载前确认注册与日限额。

GDAL官网 gdaldem 工具说明页面截图
GDAL官网 gdaldem 工具说明页面截图(截图来源:gdal.org)

DEM数据处理实例:QGIS完成镶嵌、重投影与填洼

以多幅30 m公开DEM做流域分析前处理为例,验收标准是:投影正确、无伪洼地阻断、河网与已知水系大体吻合。

  1. 加载瓦片,用Raster → Miscellaneous → Merge生成镶嵌栅格,或先建VRT再导出;设置输出压缩与NoData。
  2. Raster → Projections → Warp (Reproject) 转到合适投影坐标系,重采样选Bilinear,勾选对齐到目标分辨率,写明源/目标NoData。
  3. Processing工具箱搜索Fill sinks(Wang & Liu),输入重投影后的DEM,输出填洼结果;对比前后洼地数量。
  4. 用原始DEM算Slope/Aspect,用填洼DEM跑流向与累积,生成河网并与底图叠加目视检查。
  5. Raster → Extraction → Contour 抽等高线,或调用gdaldem hillshade做山体阴影辅助判读;最后按流域边界裁切并归档元数据。

若数据量极大,可先在命令行用gdalbuildvrt + gdalwarp完成重投影与镶嵌,再导入QGIS只做填洼与可视化,效率更高。处理中国区域数据时,注意地理空间数据云等平台的注册与下载限额,优先选已填洞版本减少后期插值。

常见问题

填洼后河网还是断的怎么办?

先确认用的是填洼DEM而不是原始DEM跑流向;检查是否仍有未填伪洼地或边缘被裁切。可改用Breach再Fill策略,或适当提高z限制,但不要过度填充真实湖泊/喀斯特洼地。验收时叠加已知水系并检查累积阈值阈值分布。

镶嵌后出现台阶或Fill报错999999怎么处理?

重叠区先做偏差校正或平滑过渡;环境设置里把处理范围和掩膜设为输入栅格,并行因子可先设为0,输出强制存为GeoTIFF。多源拼接务必统一垂直基准和分辨率,再用双线性重采样对齐。

为什么重投影后水文结果很怪?

地理坐标系下单元格东西向尺寸随纬度变化,易产生伪影。必须先warp到投影坐标系,并指定合理的目标分辨率与-tap对齐;DEM不要用最近邻重采样。高纬度或大范围数据尤其要重视这一点。

空洞和NoData怎么快速定位并填充?

用gdalinfo或QGIS识别统计与NoData;小空洞邻近插值即可,大范围空洞优先换用已填洞公开产品(如部分SRTM void-filled或MERIT)。填充后重新检查边界接边与高程连续性。

DEM数据处理的关键是统一CRS与分辨率、正确区分原DEM与填洼DEM、用坡度/河网等产品做验收。建议日常用QGIS做可视化质检、用GDAL脚本固化批量流程;涉及水文分析时务必先投影再填洼,并以河网吻合度作为最终验收标准。