数字高程模型(DEM)基础

各位同学,今天我们来聊聊DEM。说白了,数字高程模型就是地球表面的「数字骨架」。没有它,地形匹配导航就是空中楼阁。我做了这么多年导航系统,最深的体会就是:DEM选得好,导航差不了;DEM选得糙,系统满街跑。

DEM数据来源:从哪儿搞到靠谱的高程数据?

数据来源这块,我把它分成三类。你想想看,就像盖房子要选砖头,不同砖头盖出来的房子质量天差地别。

  • 卫星遥感:SRTM、ASTER GDEM、ALOS World 3D。我个人最常用SRTM,全球覆盖,30米分辨率,够用。ASTER GDEM精度稍差,但胜在免费。
  • 航空摄影测量:用飞机搭载激光雷达(LiDAR)或者立体相机。精度高,但成本也高。我在做某山区项目时用过LiDAR数据,那精度,啧啧,地面上的石头都能看出来。
  • 地面测量:RTK-GPS、全站仪实测。精度最高,但效率最低。一般只用于小范围验证或者特殊区域补测。
我的经验:别迷信「高精度」三个字。我曾经在一个项目中,甲方非要买1米精度的商业DEM,结果发现跟SRTM 30米数据在导航性能上差别不到5%。钱花得冤枉啊。先搞清楚你的导航系统需要什么级别的精度,再选数据源。

分辨率与精度:别把这两个概念搞混了

很多新手容易把分辨率和精度混为一谈。我刚开始做这行时也犯过这个错。分辨率是「格网大小」,精度是「高程误差」。举个例子:

参数 分辨率 精度(RMSE)
SRTM 30m 30米 约10米
ASTER GDEM 30米 约15-20米
LiDAR 0.5-2米 0.1-0.5米

看到了吗?同样是30米分辨率,SRTM和ASTER的精度差了一倍。为什么会这样?因为SRTM用的是雷达干涉测量,ASTER用的是光学立体像对。原理不同,精度自然不同。

避坑指南:我曾经接手过一个项目,前同事用了ASTER GDEM做地形匹配,结果在山区导航误差大到离谱。后来一查,ASTER在陡峭地形下的高程误差能到30米以上。所以,如果你做的是山区导航,我建议优先考虑SRTM或者商业高精度数据。

常用DEM格式:GeoTIFF vs DTED

格式问题,说白了就是「怎么把高程数据存到文件里」。我主要用两种格式:

GeoTIFF

这是我最喜欢的格式。它把图像数据和地理坐标信息打包在一起。你打开一个GeoTIFF文件,看到的是一张灰度图,每个像素的值就是高程。嗯,这里要注意:GeoTIFF支持多种位深,16位整型最常用,精度够用,文件也不大。

# 用GDAL读取GeoTIFF的示例
from osgeo import gdal

dataset = gdal.Open('srtm_30m.tif')
band = dataset.GetRasterBand(1)
elevation = band.ReadAsArray()
print(f"高程范围: {elevation.min()} ~ {elevation.max()} 米")
# 输出:高程范围: 0 ~ 8848 米

DTED(Digital Terrain Elevation Data)

这是美国国防部的标准格式。我早期做军工项目时接触最多。DTED分三个级别:DTED0(约900米分辨率)、DTED1(约90米)、DTED2(约30米)。它的结构很死板,但兼容性极好,几乎所有导航系统都支持。

我的建议:如果你做民用导航系统,用GeoTIFF就够了,灵活、工具多。如果你做军用或者航空导航,DTED是绕不开的。我个人的习惯是:开发阶段用GeoTIFF,部署阶段转成DTED。

坐标系与投影:别让坐标把你坑了

这是DEM应用中最容易出问题的地方。我见过太多人因为坐标系搞错,导致导航结果偏到姥姥家去了。

先说坐标系。DEM数据常用的坐标系有:

  • 地理坐标系:WGS84(经纬度)。SRTM、ASTER都用这个。简单直观,但计算距离时麻烦。
  • 投影坐标系:UTM(通用横轴墨卡托)。把地球表面投影到平面上,距离计算方便。我建议做地形匹配时,先把DEM转成UTM,再处理。

再说投影。UTM把地球分成60个带,每个带6度。中国主要覆盖UTM 43-53带。嗯,这里有个坑:同一个地方,不同带的UTM坐标值差很大。我曾经有个同事,把北京的数据用了UTM 50带的投影,结果算出来的位置偏了300多公里。

小技巧:拿到DEM数据后,第一件事就是检查它的坐标系。用GDAL的gdalinfo命令,看一眼「Coordinate System is:」那一行。如果显示的是GCS_WGS_1984,那就是地理坐标系;如果是WGS_1984_UTM_Zone_50N,那就是投影坐标系。养成这个习惯,能省很多麻烦。

知识体系结构图

下面这张图,是我自己总结的DEM知识体系。你把它存下来,以后遇到DEM相关的问题,先看这张图,心里就有数了。

数字高程模型(DEM)知识体系 数字高程模型(DEM) 数据来源 分辨率 精度 格式与坐标 卫星遥感 航空摄影测量 地面测量 格网大小 30m / 90m / 1km 影响地形细节 高程误差(RMSE) 绝对精度 vs 相对精度 影响导航可靠性 GeoTIFF / DTED WGS84 / UTM 投影转换是关键 DEM选型 = 数据源 × 分辨率 × 精度 × 格式

好了,DEM基础就讲到这里。记住一句话:DEM是地形匹配导航的「地图」,地图不准,导航必偏。下一节我们讲怎么用DEM做地形匹配算法,到时候我会分享一些实战中的坑和技巧。