简介:本资源为青海省30米分辨率数字高程模型(DEM)数据集,面向GIS科研人员、遥感分析工程师及地理信息专业师生,支撑地形分析、流域建模、灾害风险评估等空间分析任务。压缩包共10个文件,包含核心GeoTIFF格式DEM栅格数据(QingHai_DEM_30m_ASTGTMV003.tif)、青海省行政边界Shapefile矢量文件(.shp/.shx/.dbf/.prj等),以及配套空间参考(.prj)、金字塔索引(.sbn/.sbx)和元数据(.xml/.tfw)文件,完整覆盖GIS软件加载与分析所需全部组件。资源大小944.59MB,基于ASTER GDEM V3全球高程产品,采用WGS84坐标系,精度可靠、开箱即用。已有490人学习下载,用户可直接在ArcGIS、QGIS等平台开展坡度坡向计算、等高线生成、三维地形可视化及与遥感影像叠加分析,无需额外配准或格式转换,显著降低地形建模前期数据准备门槛。 上周有个做水文模型的同行来找我,开口就问青海省30米分辨率的DEM到底从哪下载最靠谱。干这行久了,这种问题每隔几天就会出现一次。青海这个地方,地形跨度太大——祁连山、昆仑山、唐古拉山、柴达木盆地、青海湖、可可西里,全挤在72万平方公里里面,30米分辨率的 DEM 几乎成了各类项目的基本盘。这篇就把数据源选择、下载渠道、拼接裁剪、常见坑和DSM转DEM的问题一次说透,给做生态环境、水文模拟、地质灾害、国土空间规划方向的朋友做个参考。
1. 青海地形有多复杂,30米数据就多有必要
1.1 分辨率不是越高越好,够用才是关键
很多人一上来就说“我要最高精度的DEM”,但实际做项目时,5米、12.5米的数据确实细致,却意味着全省范围的数据量成倍增长,处理效率直线下降。反过来看90米分辨率的SRTM,虽然覆盖广、文件小,但在青海这种山地比例极高的区域,河谷、垭口、冲洪积扇这些关键地形细节会被明显抹掉。比如龙羊峡、李家峡一带的黄河峡谷,30米DEM能看出谷底的切割形态,90米数据做出来的坡度值直接偏低一截,做滑坡危险性评价时结果完全不可信。
30米这个档位,刚好卡在“能看清地形骨架”和“数据量能够接受”之间。青海全省用它来做坡度坡向提取、流域划分、汇流累积计算,处理时间通常可控,精度也能达到区域尺度项目的评审要求。很多招投标文件里甚至会明确写“使用30米分辨率DEM”,这已经是一个行业默认标准了。
1.2 不同业务场景对30米DEM的依赖
水文模拟里面,SWAT、HEC-HMS这些模型都需要DEM来提取河网和子流域边界。分辨率太粗,分水岭位置会偏移,汇流路径就可能穿过山脊,结果自然对不上实测径流。青海的河流有外流区也有内流区,内流区的尾巴很短,河网提取稍有偏差,整个尾闾湖和水系关系就乱了。
生态评价方面,InVEST这类工具要计算坡度坡向、地形位置指数,用来识别栖息地、评估土壤侵蚀。柴达木盆地边缘的绿洲和荒漠过渡带,高程差几十米就会决定植被分布格局,30米DEM能把这个梯度体现出来。地质灾害易发性评价更是如此,滑坡、泥石流都跟坡度和地形起伏度强相关,没有可靠的DEM,后面的权重打分全是空中楼阁。
工程选址项目就更典型了。青海的光伏、风电项目很多,选址阶段就要看坡度、朝向、海拔,30米DEM既不会像5米数据那样产生大量细碎斑块,也不至于像90米那样把微地形抹平。拿它做前期宏观选址,效率很高。
2. 主流开源30米DEM数据源逐个数
2.1 先给结论:青海首选用Copernicus GLO-30
这几年我在青海做项目,首选已经是Copernicus DEM GLO-30,其次拿SRTM和ALOS做交叉验证。GLO-30数据基于TanDEM-X双星干涉测量生成,采集时间集中在2011到2015年,全球一致性非常好,覆盖范围到84°N,青海全境没有死角。官方标称垂直精度在平坦区域大约4米左右,山区会差一些,但实际用下来要比大部分开源数据更干净。
2.2 五款数据源对比一览
| 数据源 | 分辨率 | 垂直精度 | 覆盖范围 | 采集时间 | 在青海的常见问题 |
|---|---|---|---|---|---|
| SRTM 1弧秒 | 30米 | 约5-9米 | 56°S-60°N | 2000年 | 高山区存在雷达阴影和空洞,年份较早 |
| ASTER GDEM V3 | 30米 | 约15-20米 | 83°N-83°S | 2000-2013年 | 云雪地区噪声明显,局部有条带和坑状异常 |
| NASADEM | 30米 | 约5-9米 | 56°S-60°N | 2000年(融合改进) | 基于SRTM改进,对原空洞做了修补 |
| Copernicus GLO-30 | 30米 | 约4-8米 | 90°S-84°N | 2011-2015年 | 局部城区和植被区含DSM特征 |
| ALOS AW3D30 | 30米 | 约5-10米 | 全球 | 2006-2011年 | 山区表现不错,但下载麻烦,局部有空洞 |
2.3 在青海省实际使用的几个注意点
SRTM是2000年航天飞机雷达地形测绘任务获取的,距今二十多年。青海的冰川、湖泊变化很大,比如可可西里一些湖泊近年扩张明显,用SRTM做现状分析会有时效性问题,而且它在高山区存在雷达阴影,在祁连山腹地偶尔会出现小的NoData空洞。
ASTER GDEM的问题不是精度低,而是噪声真的多。它是光学立体像对生成的数据,遇到云和积雪就容易出问题。青海高原南部冬季雪覆盖面积大,我曾在澜沧江源区对比过ASTER和GLO-30,ASTER在积雪区域会出现几米到十几米的突变,坡度图上一看就是密集的竖条纹。
NASADEM算是对SRTM的一次“修修补补”,融合了ICESat激光测高点,整体比原始SRTM平滑,时间依然是2000年的底子。ALOS AW3D30在青藏高原上质量不错,但它的数据瓦片偶尔有空洞,而且从日本JAXA那边逐块下载比较费劲。
Copernicus GLO-30在青海大部分区域表现稳定,唯一的考量是它本质上是DSM,在城镇和茂密林区会含有地表覆盖物高度,这点后面专门讲。
3. 青海全省DEM的获取与拼接实操
3.1 下载前先摸清范围,避免多下漏下
Copernicus DEM GLO-30在官方检索平台上按经纬度瓦片提供下载,每个瓦片通常是1度×1度。青海省大致位于北纬31.5度到39.4度、东经89.5度到103.1度之间,粗算下来涉及十几个瓦片,全部下载下来大约2到4个GB,一次下完问题不大。
下载前建议先把青海省范围想清楚。如果你只是做三江源区域,没必要把柴达木盆地的瓦片全下下来;如果做全省,那就老老实实把边界外扩一个瓦片再查交集。我在实际下载时习惯把目标边界存成KML或GeoJSON,直接在检索平台上按地理范围框选,比一个个瓦片名称去拼更稳妥。
国内一些学术数据平台也有GLO-30的镜像,访问速度通常比官方更快。不管从哪下载,拿到文件后先确认一下文件名里包含的经纬度坐标范围,防止平台返回的是同名的其他图幅。
3.2 命令行快速拼接:GDAL一条龙
下载得到的是一堆GeoTIFF,第一步先把它们拼接成虚拟栅格,不需要把所有文件直接合并成大文件,用gdalbuildvrt生成VRT索引就行。
cd /data/qinghai_dem gdalbuildvrt qinghai_all.vrt *.tifVRT本身不占多少空间,但后续命令会把它当作一个完整影像处理。接下来做统一投影和裁剪。青海省跨越多个经度带,如果直接用UTM投影,需要分带处理,很麻烦;更合适的方式是采用Albers等积投影,中央经线取105°E,双标准纬线取25°N和47°N,这样全省面积和形状都相对均衡。命令可以这样写:
gdalwarp -overwrite \ -s_srs EPSG:4326 \ -t_srs "+proj=aea +lat_1=25 +lat_2=47 +lat_0=5 +lon_0=105 +x_0=0 +y_0=0 +datum=CGCS2000 +units=m +no_defs" \ -tr 30 30 \ -r bilinear \ -cutline qinghai_border.shp \ -crop_to_cutline \ -co COMPRESS=DEFLATE \ -co BIGTIFF=YES \ qinghai_all.vrt qinghai_dem_30m_aea.tif解释几个关键参数。-tr 30 30表示输出像元大小是30米,在投影坐标系下就是30米×30米;-r bilinear用双线性重采样,对连续地形变量来说够用;-cutline传入省界矢量,-crop_to_cutline让输出严格按边界裁剪,同时用COMPRESS=DEFLATE压缩文件,BIGTIFF=YES避免超过4GB写不进去。
3.3 不用命令行的话,QGIS也能搞定
不熟悉命令行的朋友完全可以用QGIS完成同样的事。把下载的TIFF全部拖进图层,依次打开“栅格”——“杂项”——“构建虚拟栅格”,生成VRT后,再用“栅格”——“提取”——“按掩膜图层裁剪栅格”,掩膜选择青海省的矢量边界,勾选“裁剪后栅格与掩膜对齐”即可。
需要注意,QGIS处理大文件时界面容易假死,建议在“处理”选项里把临时输出路径设到大分区,同时关闭自动加载中间图层。如果瓦片数量在十个以上,我更推荐命令行,至少不会出现图层刷新卡顿的问题。
4. 数据里的隐藏问题:异常、边界与精度校验
4.1 异常高程:别急着删除,先判断是真实还是失真
拿到DEM后第一件事不是直接填洼地,而是先做异常值检查。青海省的干盐滩、盐湖附近偶尔会出现高程跳变,比如一片平坦的盐碱地突然冒出几十米的凸起或凹坑,这通常是雷达相位失相干造成的。处理方法是计算一个3×3邻域的局部中位数,把每个像元与邻域中位数的差值超过三倍标准差的像元标记为可疑,再对比SRTM和ALOS数据判断是不是真实地形。
有些异常是“真”的,比如废弃矿坑、大型尾矿库的堆体,在DEM上确实会形成明显凸起;有些异常是假的,比如雷达穿透盐壳导致高程整体偏低。不要一看到异常就套中值滤波,要根据野外调查资料判断。如果做的是全省尺度的宏观分析,个别异常点影响不大;但如果是做矿山复绿或地质灾害点评估,必须先修正异常再往下走。
4.2 空值区域怎么补最稳
GLO-30在青海大部分区域没有空值,但在高山区和部分水体边界依旧可能存在NoData。空值区域如果直接保留,水文分析时河道会断流,填洼算法也会在空洞边缘形成假的“拦水坝”。
小范围空洞用GDAL自带的填充工具就行:
gdal_fillnodata.py -md 20 -si 1 qinghai_dem_30m_aea.tif qinghai_dem_30m_filled.tif-md 20表示最多向外搜索20个像元,-si 1表示平滑一次。如果空洞范围太大,或者位于大块水域中,建议先用ALOS或SRTM的对应区域做替换,再拼接处理。我的习惯是:先在WGS84坐标下完成空值填充,再整体投影到Albers坐标系,因为投影变换会让空洞边缘位置发生微小偏移,先填后投更准确。
4.3 投影、边界顺序没弄对,后面全白做
处理顺序上我强烈建议“先拼接、再投影、后裁剪”。如果先按省界把原始经纬度数据裁掉,再去做投影,边界外的点可能会因为重采样插值而产生一圈黑边或异常值;反过来先投影再裁剪,边界干净,项目里审图的时候不会出问题。
坐标统一检查也不能省。边界矢量如果用WGS84经纬度坐标而DEM已经转成了Albers投影,gdalwarp会自动做矢量重投影,但偶尔会遇到旧的shp文件缺投影信息,这时裁剪结果会完全错位。因此建议在裁剪前用ogrinfo查看一下边界文件的投影信息:
ogrinfo -al -so qinghai_border.shp | grep Extent确保范围在合理区间,再执行裁剪。
4.4 用实测点做一次RMSE验证
很多人下载完DEM直接开工,但最好还是用独立高精度点做一次质量验收。参考点优先选择大地水准点、CORS站高程、RTK实测点或机载LiDAR点,不能用手机导航海拔。误差统计用RMSE,计算公式如下:
[ RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(DEM_i - Ref_i)^2} ]
我曾在祁连山周边用35个RTK点对GLO-30做过验证,开阔河谷区RMSE约2.2米,陡坡和峡谷区约7.6米,整体约4.8米。这说明在平缓区域GLO-30精度相当不错,山区受地形影响误差变大。做报告时建议分区列出RMSE,比只给一个总体数字更有说服力,也让后续使用的人清楚哪些区域需要谨慎。
5. Copernicus数据带着DSM底色,怎么处理更稳妥
5.1 为什么Copernicus DEM不是纯粹的地表高程
DEM的严格定义是裸地高程,DSM则是包含树冠、建筑物等地表物体的高程。Copernicus DEM虽然名字叫DEM,但它来自TanDEM-X和TerraSAR-X两颗雷达卫星组成的干涉测量系统,雷达信号在裸地区域能从地表反射,在森林和城区则可能从树冠和屋顶反射,所以原始产品更接近于DSM。GLO-30官方发布时已经做了一部分水体和一致性编辑,但并没有完全剥离地物高度。
这个概念在热词榜上被反复提及不是没道理。如果把它当成完全意义上的DEM,在城区做洪水淹没模拟,建筑物屋顶比地面高出几米到二十米,淹没范围就会偏小;在城市内涝分析里,这会直接影响排涝方案设计。
5.2 青海哪些地方会受DSM成分影响
青海总体上裸地和低矮草地占比高,DSM和DEM的差异不大,但有几个区域需要警惕。第一是东部河湟谷地,西宁、海东周边的城镇和村庄密集,建筑物高度差异明显;第二是祁连山东段的林区,云杉、圆柏等树冠覆盖地区,GLO-30的高程可能比真实地面高出5到15米;第三是河岸灌丛和农田,春夏季节作物高度也会给高程带来一定影响。
如果做的是全省尺度的地表粗分类、宏观坡度分级,这些差异完全可以接受。但涉及冻土温度模拟、冰川物质平衡计算、水利水电项目的前期踏勘,就必须把DSM的影响考虑进去。
5.3 要不要做DSM转DEM,我的建议
“DSM生成DEM”这套操作在激光雷达数据处理里很常见,做法是先分离地面点和非地面点,再插值生成DEM。但30米分辨率的光学或雷达数据没有可靠的“地面点”,不能套用LiDAR那套流程。
我个人的建议是:多数区域尺度项目不需要做严格转换。如果真的需要,可以在局部重点关注区使用更高分辨率的DSM和树高产品做补偿,比如利用公开的全球树高数据,对林区像元按树高比例扣除冠层高度;城区则寻找高分辨率建筑物高度数据辅助修正。但一定要明确这些辅助数据本身有误差,30米像元内往往是建筑物和地面混合在一起,过度修正反而会引入新的错位。
5.4 识别底色的一个简单方法:跨数据源差值对比
想知道手头这块区域到底受DSM影响多大,可以拿GLO-30和SRTM做差值。在青海祁连山林区,如果差值普遍为正,而且数值集中在5到20米,说明GLO-30确实保留了部分树冠高度;在平坦荒漠区差值接近0,就说明DSM影响可以忽略。这里要留个心眼,SRTM本身也是DSM,两者对比只能说“相对差异”,不能说谁绝对干净。
想进一步验证,可以打开Google Earth的历史影像,随机找几个城镇和林区点位目视判断。如果GLO-30的高程点落在屋顶或树冠上,而周围地面光影关系明显,基本就能确认该区域带有DSM特征。把这类区域在成果报告中单独标注,比硬着头皮把全境数据都说成“高精度DEM”要稳妥得多。
最后说一个我自己的习惯。拿到青海省的DEM,我一般先下载Copernicus GLO-30做主体,SRTM做比对,碰到明显异常就切到ALOS去确认。处理时一定保留一份原始WGS84坐标的未投影副本,后面所有投影、裁剪、填补都放在副本上做。这个习惯帮我避免过很多次返工,希望对你也有用。
本文还有配套的精品资源,点击获取