十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

武汉市30m DEM高程Tif获取与GIS处理实操指南

武汉市30m DEM高程Tif获取与GIS处理实操指南 简介本资源为武汉市全域30米分辨率数字高程模型DEM栅格数据采用GeoTIFF格式专为GIS空间分析与地形可视化设计适用于ArcGIS、QGIS等主流地理信息软件直接加载使用。面向城市规划、水文模拟、地质灾害评估及遥感教学等领域的初中级用户可快速支撑坡度坡向计算、山体阴影生成、流域提取等基础地形分析任务。压缩包共12个文件含2个核心.tif主数据文件WuHanDEM.tif与HillShade.tif、2个地理配准文件.tfw、2个属性编码文件.cpg、2个属性表结构文件.dbf、3个元数据与辅助文件.xml、.ovr、.aux.xml总容量仅1.46MB轻量易部署。目前已有214人学习下载资源结构规范完整附带山体阴影图与金字塔文件开箱即用无需额外预处理即可开展地形建模与三维可视化实践。 最近在做一个武汉市域尺度的分析项目需要一份能真实反映地表起伏的高程底图。网上查了一圈关于“武汉市30m DEM高程数据tif”的资料零散得很要么是下载链接失效要么是数据范围和坐标系对不上折腾到半夜才把数据整理干净。这篇文章就围绕这个主题把从数据理解、源选型到ArcGIS和Global Mapper里的处理流程、常见坑位一次性讲清楚希望能帮到正在跟高程数据较劲的朋友。1. 先搞清楚30m DEM到底能干什么1.1 DEM是什么为什么是30mDEMDigital Elevation Model数字高程模型说白了就是一张存着海拔高度的栅格图。每个像元像素记录一个高程值而“30m”指的是像元的地面分辨率——地面上一个30米×30米的方格对应影像里的一个像素点。分辨率越高地形的细节还原得越好但数据量也成倍增加。国内做区域分析、城市尺度的研究30m是使用频率最高的一个档位。原因很直白精度够用30m分辨率可以清楚看到山脊、河谷、坡地等地形骨架对分析洪水淹没范围、日照辐射、坡度坡向、可视域等场景已经足够。数据量适中一个覆盖武汉市全域约8500多平方公里的30m DEM单波段Tiff通常在几百MB到1GB上下普通电脑带得动ArcGIS处理起来不会卡到怀疑人生。公开数据丰富ASTER GDEM、SRTM、Copernicus GLO-30等全球公开数据集都能提供这个级别的数据获取成本低这也是为什么30m能成为主流“工作粮”。1.2 武汉地形特点对数据应用的影响武汉市地处江汉平原东部整体地势低平长江和汉江穿城而过。绝大多数区域海拔在20米到50米之间北部黄陂、新洲等地有些低山丘陵最高海拔也不过800多米。这种“整体平坦、局部有起伏”的地貌对DEM数据处理提出了一个很现实的要求——垂直精度比水平精度更敏感。平原地区高程差异只有几十厘米到几米如果数据本身的垂直误差在±5米以上把DEM叠到实际地形里低洼地带可能完全变形。所以拿到数据以后我习惯从两方面做校验拉出极高值和极低值看看有没有超出合理范围的异常像元跟武汉市已知的高程参考点比如水文站、山顶点对一下量级。好在武汉这种大城市公开地理数据覆盖度高30m DEM的垂直精度普遍能做到几个米级做宏观分析没问题但别指望拿它做厘米级工程测量。1.3 “TIF”后缀意味着什么比普通图片多了什么很多人第一次拿到“.tif”文件双击打开发现系统自带照片查看器打不开还以为文件坏了。其实DEM的Tif和普通照片用的Tif是同一种容器格式但内容和元数据完全不同单波段存储普通照片是RGB三波段记录颜色DEM只有一个波段每个像元记录的是高程数值不是颜色。带有地理参考信息GeoTIFF文件头里存了坐标系、投影参数、像元大小、地图范围等ArcGIS能直接识别并正确放置到地图位置上。特殊的无效值设定DEM数据边缘或水体区域常被赋予一个特殊值比如-32768、0或-9999表示“此处无有效高程数据”处理时如果不管它后续分析会得到一堆离谱的结果。所以后面所有操作都要围绕“这是地理数据不是图片”这个核心认知展开千万别用看图软件直接编辑保存否则坐标信息会被抹掉。2. 数据源选型公开数据集怎么选各自坑在哪2.1 主流开源DEM数据对比目前能下载到30m左右全球覆盖的公开DEM主要有这几种我按实际使用体验排了个序数据源分辨率覆盖范围垂直精度主要优势主要缺点Copernicus GLO-3030m全球约3m精度高、更新时间近、无空洞问题数据量大下载需要一定手段ASTER GDEM V330m全球约7m覆盖完整、易于获取局部地区有云影和条纹噪声SRTM 1弧秒约30m北纬60°至南纬56°约5m精度均衡、使用广泛水域、陡峭山地有空洞ALOS AW3D30约30m全球约5m基于高精度卫星立体像对下载需要注册申请流程略繁琐武汉的数据我实际比较下来最推荐Copernicus GLO-30地形细节和条带效应都处理得不错在平原区域尤其干净。不过这个数据集的原始文件是分块的覆盖武汉需要拼接好几块所以后面“合并Tif”的步骤躲不掉。2.2 选了30m分辨率需要考虑要不要重采样有时候你找到的数据源分辨率不是正好30m比如某块数据是10m分辨率或者只有90m的老数据这时候就需要做重采样Resample把像元大小统一到30m。这个操作有两个注意点降分辨率比如10m转30m用“双线性插值”或“三次卷积插值”更平滑不要用“最邻近”否则地形会显得生硬出现块状痕迹。如果想保留高程突变比如陡坎、崖壁则可以用最邻近但实际效果经常不如平滑插值。升分辨率比如90m转30m本质上是在“无中生有”千万不要以为升级以后精度就变高了。它只是把每个大像元掰成几个小像元地形细节并不会增加。在做汇水区、坡度分析时这种人为平滑会让结果偏“温柔”。能用原生30m数据就别折腾升分辨率。2.3 坐标系问题WGS84、CGCS2000和地方投影这是DEM处理里最容易被忽略、也最容易出事故的一个环节。公开下载的DEM原始坐标系绝大多数是WGS84经纬度EPSG:4326单位是度。但做面积计算、坡度计算、填挖方分析时用经纬度坐标是错的因为一个经度在不同纬度对应的地面距离不同。正确的做法是把数据投影到适合武汉的平面坐标系再分析。常用选择CGCS2000 / 高斯-克吕格投影3度分带武汉经度大约在114°E附近对应的3度带中央经线是114°E带号为38中央经线114度或根据不同框架代码表达不同。这类投影在国内测绘、规划行业通用跟很多地方数据成果能对上。UTM 50N国际通用方案中央经线117°E武汉正好落在该带内。国外软件和大部分公开数据集默认用这套处理起来兼容性好。用ArcGIS的Project Raster工具做转换时注意把“Resampling Technique”选成“Bilinear”或“Cubic”坐标系不一致时会强制重采样一次此时精度损失是可以接受的。3. 从拿到Tif到能用的DEM完整实操流程3.1 拿到数据后先做“体检”数据下载回来不要急着往地图里拖先花两分钟做三件事看元数据右键文件属性或者用ArcGIS的Layer Properties查看栅格信息确认像元大小是不是30m、坐标系是什么、像素深度是不是16位整型或32位浮点。拉直方图在ArcGIS里打开Symbology观察高程分布。如果直方图两端出现明显的离群值大概率是无效值或异常值。跑一下“范围”统计用“Get Raster Properties”把最小值、最大值、平均值打出来对照武汉市的高程常识-20m到900m左右。如果冒出-32768或几千几万的值说明无效值没设好需要先处理。数据体检这一步能省下后面两天排查问题的时间。我见过有同事直接拿有空洞的SRTM去做淹没分析结果算出来的大面积“湖泊”全是无效值黑洞最后整个图层重做。3.2 合并多块Tif两种常用工具的操作细节武汉的地形范围横跨多个分幅公开数据通常不会刚好切成一个整块的武汉需要把相邻的多块Tif拼起来。下面两个方法我都经常用。3.2.1 ArcGIS的Mosaic To New Raster方法操作路径ArcToolbox → Data Management Tools → Raster → Raster Dataset → Mosaic To New Raster。关键参数Pixel Type选“16_BIT_SIGNED”或“32_BIT_FLOAT”。武汉平原高程有正值也有负值比如低于海平面的坑塘如果选成无符号16位会把负值抹掉所以最好选32_BIT_FLOAT。Mosaic Operator重叠区域拼接时选“LAST”或“BLEND”。两幅数据重叠带高程不完全一致BLEND能做一个平滑过渡视觉上不会有明显的拼接缝。要求严格的话用“MAX”或“MEAN”按实际需要来。NoData Value把无效值设置成None或者明确指定成-9999。否则拼完以后一片一片的黑色空洞会让人怀疑人生。3.2.2 Global Mapper的合并操作Global Mapper在处理大范围Tif合并时比ArcGIS轻量很多内存消耗小、速度快我经常用它做快速拼接。操作步骤很简单把所有Tif同时拖进Global Mapper。菜单栏选“File → Export → Export Raster/Image”。在导出格式里选GeoTIFF。Export Bounds选“All Loaded Data”或手动框选武汉范围。在“Options”里把重采样方式选为“Bilinear Interpolation”。导出完成后再重新打开导出文件检查一遍。Global Mapper合并的优势是几乎不需要设置复杂参数适合数据预处理阶段但它的导出会默认把多个文件强行统一到同一坐标系如果原文件坐标系统一性不好可能在拼接边缘出现错位所以在拖进来之前最好先确保所有Tif坐标系一致。3.3 裁出武汉市域合并完的数据是整个大区域的下一步就是裁出武汉市的范围。推荐用“Extract by Mask”工具ArcGIS或者“Clip Raster”Global Mapper。需要准备一个武汉市行政区划的矢量边界Shapefile注意矢量边界的坐标系要与DEM一致或者由工具自动投影转换。如果边界文件自带属性表可以只选武汉的范围输出避免把周边城市带进来。输出时把“NoData Value”设置为跟DEM一致后面做坡度、坡向才能保证有数据的区域全部参与计算。剪完以后检查一下输出的栅格范围图层属性里能看到最小最大经纬度确保武汉市全域覆盖没有缺边少角。3.4 从DEM导出高清JPGArcGIS姿势有段时间我经常被要求“把tif发给我看看”结果对方电脑上没装GIS软件连打开都费劲。这种情况下把DEM导出成JPG就很实用了。关键操作不是“导出”而是制图出图。直接右键图层 → Data → Export Data导出来的是一个没有坐标信息的图片而且样式是最原始的灰度。更好的做法是在ArcMap或ArcGIS Pro中加载DEM调整Symbology拉伸类型选“最值拉伸”配色选一个能区分地形的色带比如从深绿到棕黄。切换到Layout视图设置好比例尺、指北针、图例。菜单“File → Export Map”格式选JPEG分辨率可以设到200-300 DPI这样出来的JPG既清晰又能直接进PPT或文档。这个JPG本身不再携带高程数据但视觉表达效果好方便与人沟通。3.5 DSM转DEM如果拿到的是GLO-30中附带的地表模型在Copernicus GLO-30这套数据里一般会同时提供DSMDigital Surface Model和经过后处理的DEM。DSM包含地表物体建筑、树冠DEM则是去掉这些物体后的纯地面高程。如果不幸只拿到DSM直接做洪水淹没分析结果会偏高因为建筑物和树顶被当成了地面。常规的粗处理思路用低通滤波如焦点的“Mean”滤波器把高频的建筑物信号抹掉窗口大小根据城市建筑尺度来一般11×11以上才有效果。用形态学开运算去除比建筑小的凸起。如果已知政府提供的更高精度DEM如机载LiDAR生成直接局部替换。但说实话DSM转DEM本身就是一个大课题30m分辨率下做城市级DSM转DEM效果有限。如果研究目的与水利、工程强相关建议直接找30m的纯DEM成果而不是硬转。如果不是城市微地形而是放眼整个武汉市域尺度DSM和DEM的差距并没有想象中那么大——除非你关注的区域有密集的高层建筑群。4. 常见问题与排查技巧实录4.1 合并后出现“黑边”或“黑洞”这是Tif合并最经典的场面。合并完以后地图上出现大片纯黑区域或者沿图幅边缘有一条黑色的缝。原因通常是两块数据在重叠区域都设置了NoData值重叠带中一块数据有值、另一块是NoData合并算法没有正确处理把原本有值的地方也写成了NoData。解决办法在合并前对每块Tif执行“Fill NoData”填洞或设置NoData为某个具体值再合并合并时Mosaic Operator选“FIRST”或“LAST”让某块数据优先填充合并后用“Con”或“IsNull”判断把NoData区域替换为邻近栅格值。4.2 高程值出现离谱的负值或极大值武汉大部分地区海拔在几十米内但有时会看到-32768、-9999、32767之类的数字。别慌这些基本都是无效值或溢出值。处理办法用“Set Null”把小于合理阈值的高程比如小于-50m设置为NoData用“Raster Calculator”写条件语句把超过合理范围的值替换为邻域均值如果数据是16位整型但实际地形高差范围很小可以考虑转成浮点型存储保留更多地形细节。4.3 坐标系不一致导致的错位合并多块Tif前没检查坐标系拼完以后发现两块数据之间有几十米甚至上百米的错位这大概率是“WGS84经纬度”和“Web Mercator投影EPSG:3857”混在了一起。WGS84是度3857是米如果直接混合ArcGIS会先做动态投影重叠区错位不可避免。解决办法在合并之前把每一块Tif都统一到同一坐标系我一般统一到CGCS2000 / 3度带或UTM 50N然后检查“Extent”是不是对齐的。重点是把矢量边界的高程参考系统一后再裁剪。4.4 高程数据用于等高线、坡度、坡向扩展DEM不只是拿来看了。我最常做的几个扩展操作生成等高线用“Contour”工具武汉市平原地带等高距设1米或2米丘陵地带5米或10米看目的来。坡度分析用“Slope”工具输出单位选“DEGREE”或“PERCENT”。平原地区坡度普遍在3°以内如果有超过20°的斑块多检查是不是数据噪声。坡向分析用“Aspect”工具可以用于日照、植被方向分析。山体阴影用“Hillshade”工具设置太阳高度角和方位角叠加到影像上做立体效果展示这在给领导汇报时特别加分。4.5 Matlab读取Tif时的注意事项有些工程类同学喜欢用Matlab做进一步分析遇到Tif文件时很容易栽在“读出来全是0”或“大小不对”上。正确的打开姿势[A, R] readgeoraster(wuhan_dem.tif); % A是高程矩阵R是地理参考对象 % 或者老版本用 % [A, R] geotiffread(wuhan_dem.tif);因为DEM是单波段读出来是一个二维矩阵直接用surf或mesh可视化即可。如果矩阵里有-32768之类的值用逻辑索引把它设成NaN再绘图。需要投影坐标转换时可以通过R结构体里的ProjectedCRS或GeographicCRS拿到坐标系信息用projfwd或projinv转换经纬度和投影坐标。4.6 数据体积太大处理卡顿怎么办30m分辨率、武汉市全域单张Tif数据量通常在几百MB如果在低配置电脑上做计算很容易卡成PPT。几个提升效率的技巧将栅格数据转成整数型存储体积能减少一半以上。武汉市海拔范围小16位整型足够用没必要存浮点。用“Build Pyramids”建立金字塔ArcGIS缩放浏览时速度会明显提升。分析时用“Clip”裁剪分析区域只对感兴趣区域计算而不是动不动全图跑。如果做水文分析建议把数据输出为**File Geodatabase Raster.gdb**格式读写性能比散装Tif稳定很多。5. 一些个人经验与小技巧最后再分享两个踩坑后沉淀下来的习惯永远用32位浮点做中间产物。中间环节为了省空间用16位整型结果低海拔区域的几十厘米高程差被取整抹掉了后续填挖方、淹没计算全差了一段。最终成果可以转整型但中间文件老老实实留浮点。做一遍“无数据区检查”再交付。处理完以后用“Raster Calculator”执行IsNull(your_dem)看看有多少像素是无效值。如果无效值集中在边界或某些特定区域说明处理还没结束直接交付后续同事会被骂。备份原始数据永远不要在原Tif上动手。每次改动都另存一份文件名带版本号和时间。这个习惯在“拿错数据重新来”的情况下能省下至少半天返工时间。武汉市30m DEM高程数据Tif这个东西听起来只是个文件实际用起来处处是细节。把坐标系、分辨率、无效值、合并裁剪这些基础功打扎实后面无论做淹没分析、地形可视化还是选址评估都能站在稳固的数据底子上往前推进。希望这篇内容能帮你少走一些弯路。本文还有配套的精品资源点击获取
返回列表