陇南30米DEM数据实操指南:从裁剪到地形分析

发布时间:2026/10/3 9:40:50
陇南30米DEM数据实操指南:从裁剪到地形分析 简介甘肃省陇南市三十米分辨率数字高程模型DEM数据包面向地理信息系统开发、城市规划、环境研究与灾害评估人员提供精确的地表海拔数据便于开展地形分析、专题制图与区域空间统计。压缩包内共有十二个文件整体约一百一十三点八六兆字节核心为TIFF格式的DEM栅格图像并附有坐标配准文件与金字塔影像确保加载后能快速浏览与处理同时打包了完整的陇南市范围Shapefile矢量边界涵盖主文件、索引表、属性表、投影信息及空间索引等组件各文件协同工作适合直接在主流GIS软件中调用。目前已有三百六十人学习下载。利用这套数据可清晰查看陇南市及周边区域的地形起伏结合边界文件完成精确裁剪、坡度坡向提取、淹没模拟、可视域分析与三维地形建模为规划决策与科研工作节省大量数据预处理时间是一份基础性强、边界完整的高精度DEM数据集。1. 陇南30米DEM数据值得下吗先想清楚这档分辨率能干什么做陇南市地质灾害易发性评价那阵子我手里最缺的不是降雨数据而是能直接用的地形底图。市域尺度分析12.5米的数据体量太大跑一次填洼要半小时90米的又太粗河谷和山脊基本糊成一片。最后锁定的就是DEM数字高程数据30m这一档——一个像元对应地面30米乘30米1:5万到1:10万的地形分析都够用。这份陇南市30米数字高程数据打包了GeoTIFF格式的DEM栅格还附了区域范围shp文件等于把抠边界这一步提前替你做了不用自己描轮廓或者说坐标范围解压完就能丢进ArcGIS。谁适合做县域水文分析、滑坡区划、选线选址的GIS从业者还有拿真实地形数据练手的学生。30米这个档位恰好是效率和精度的平衡点。2. 读懂这份陇南市DEM坐标系、文件构成和动手前必查的三件事拿到zip我的习惯是先别急着拖进ArcGIS。先花两分钟把压缩包里的东西搞清楚后面能省半小时。数据能跑通、结果敢用靠的不是软件操作多熟练而是对这份数据本身的底细心里有数。这一章说清楚30米分辨率意味着什么、压缩包里每个文件是什么角色、以及动手处理前必须检查的坐标系和无效值。这三件事搞明白后面所有操作都不会跑偏。2.1 30米分辨率意味着什么适用尺度与精度边界DEM是数字高程模型把地面高程离散到一个一个栅格像元上。30米分辨率的意思是每个像元代表地面上约30米乘30米的区域单个像元面积接近900平方米。这个尺度下陇南的山脊、主河谷、大的冲沟都能清晰看到但一条只有两三米宽的田坎、一条小支沟的细部形态就别指望它能表达出来。理解这个精度边界很重要——它决定了这份数据适合拿来干什么也决定了哪些分析必须换更高精度的数据源。从应用尺度说30米DEM对应的主要场景是县域到市域的地形分析。陇南地处西秦岭山区白龙江、嘉陵江等河流深切相对高差大坡面破碎。这种地形条件下30米数据能支撑流域面积划分、坡度分级、滑坡易发性初判这类工作。做这类分析时一个像元的误差放到实际地面就是30米对县域尺度的定性判断完全能接受但如果你要做某一个具体边坡的土方量计算或者滑坡后缘的精确解译这个精度不够需要换5米甚至更高精度的LiDAR数据。这不是数据质量问题而是尺度的物理边界。为了更直观把三个主流档位放在一起对比分辨率典型来源能干什么明显短板12.5米ALOS PALSAR镇村尺度的地灾判识体量大填洼耗时长30米SRTM / ASTER GDEM 类县域水文分析、坡度分级、选址初判小沟谷细节不足90米SRTM省级乃至全国尺度的宏观分析陇南这种破碎山地河谷容易“糊掉”对比之后30米的定位就很清楚了它不追求极致细节但保证在可接受的数据量内把陇南的主要地形骨架立起来。拿到这份数据后心里要有一条线——坡度和流域分析放心做单体工程精细设计要谨慎这是30米DEM的使用前提。2.2 文件构成DEM栅格和shp范围文件是配套关系解压zip之后你至少会看到两类文件。一类是DEM本身常见格式是GeoTIFF后缀.tif也可能带.img后缀另一类就是标题里强调的区域范围shp文件。有人只关心tif觉得shp是多余的但这个shp在资源里扮演三个角色一是裁剪边界如果DEM原始范围比陇南市范围大用shp一裁就到市域二是制图叠加出图时在数据框里加这一层边界线读者一眼看到研究范围三是分区统计基于shp做高程平均值、坡度分级面积统计。shp文件有一个很多人踩过的细节它不是单个文件。一个完整的shapefile至少由.shp几何、.shx索引、.dbf属性表三个文件组成如果有坐标系信息还会带一个.prj。四个文件缺一个都不行。你在文件夹里看到的可能是四个甚至六个相似文件名那都是同一个shp的“零件”。常见文件清单如下具体文件名以你解压出来的为准文件作用处理时注意xxx.tif / xxx.imgDEM栅格存高程值右键属性查看像元大小和波段数xxx_boundary.shp陇南市区域边界加载时.shp、.shx、.dbf、.prj必须同目录xxx_boundary.dbf边界属性表一般只有名称、面积字段xxx.lyr / txt / xml制图或说明信息不影响计算丢了也没关系关键是要建立“栅格矢量配套使用”的概念。后续裁剪、制图、统计都绕不开它们。我以前见过有人把zip里的shp单独拷出来发给同事结果对方打不开就是因为只发了.shp那一个文件配套的.dbf和.shx没跟上。2.3 动手前先查三样坐标系、noData和高程单位我拿到DEM的第一件事永远是检查坐标系这一步翻车率极高。打开ArcGIS的图层属性切到“源”选项卡或者QGIS里打开元数据面板你要找的是两个信息坐标系是地理坐标系GCS还是投影坐标系以及具体基准。常见情况有三种WGS84经纬度、WGS84 UTM投影、CGCS2000高斯投影。陇南市经度大约在104度到106.3度之间正好跨过UTM的分带线落在47N和48N两个带里如果这份数据是分带投影存储的而你的处理环境默认成了另一个带叠加其他数据时就会出现几百米甚至几公里的偏移。这不是软件问题是坐标系没对齐。第二样是高程无效值。DEM生产过程中水面、云遮挡、雷达阴影这类区域往往没有真实高程生产方会给这些像元写一个特定值常见的无效值有-9999、-32768、0。这个值叫nodata。如果后续算坡度、填洼时没有把它排除掉会出现一堆吓人的结果坡度出现负值、平坦河谷突然立起一面“墙”。处理方法是在ArcGIS环境设置里把NoData识别好算出来的结果才正常。我一般会在拿到数据后先做一次栅格统计看一眼最小值和最大值如果最小值是-32768这种怪数字基本可以断定nodata没处理好。第三样是高程单位。绝大多数DEM的高程单位是米但也存在英尺单位的版本。一个3000米的山头如果是英尺高程数值会变成9842整个渲染色带全是红的和矢量道路叠加完全错位。检查方法同样在图层属性里看“Z单位”或原始说明文件如果是英尺需要先乘以0.3048转回米再进分析流程。这三样检查完数据的地基才算稳了接下来无论是裁剪还是出成果都不会出现原则性错误。3. 落地到ArcGIS加载、按shp裁剪和多幅拼接的参数细节这一章进入实操。落实到一个具体项目的标准流程是解压、加载、按shp范围裁剪、必要时多幅拼接、最后做符号化检查。每一步都有参数要盯尤其裁剪工具的选择和拼接时的像元类型直接决定后续分析能不能跑通。我按平时做项目的顺序写跟着走就行。3.1 解压与加载文件路径里的隐性坑先说解压。zip包解压到本地后我建议把文件夹放在一个全英文路径下比如D:\longnan不要放在“D:\下载\张工的gis数据\陇南市30米”这种带中文和长层级的路径。原因很实际ArcGIS对中文路径的兼容性这些年虽然有改善但处理栅格时仍可能报“不能创建栅格数据集”这类错误而且排查起来非常恶心。文件夹层级也尽量浅路径太深同样会触发ArcGIS内部对路径长度的限制。解压工具用7-Zip或Bandizip这类都行winrar也能处理关键是确认zip没有损坏。然后是加载。在ArcMap或ArcGIS Pro里用“添加数据”按钮导航到解压目录把tif和shp一行一个拖到内容列表里。shp加载时软件会自动读取配套的.shx、.dbf和.prj前提是四个文件在同一目录下别拆开。加载完成后先做一件事右键图层查看属性里的范围Extent和像元大小Cell Size。像元大小应该显示30如果显示30.0000几那是投影重采样造成的微小误差不影响使用如果显示成0.0002几说明这份DEM可能是经纬度坐标存储后面算坡度时要格外注意。QGIS用户的操作类似直接把tif拖进图层窗口即可shp也同理。QGIS对中文路径的容忍度高一些但我还是建议全英文路径省心。加载完先关掉其他无关图层单独看一眼DEM的拉伸渲染确认地形轮廓正常再进入下一步。3.2 按shp边界裁剪Extract by Mask和Clip选哪个栅格裁剪在ArcGIS里有两个常用工具很多人分不清。一个是Spatial Analyst工具箱里的“按掩膜提取”Extract by Mask一个是数据管理工具箱里的“裁剪”Clip。我的选择标准很简单如果只想把DEM范围切到shp的矩形包围盒以内用Clip如果想切出和shp边界完全一致的形状边界外的像元全部置为nodata用Extract by Mask。做陇南市这种以行政区边界为研究范围的裁切Extract by Mask更合适因为输出栅格的范围和shp贴合后续统计面积不会被矩形四角的多余区域污染。工具界面设置参数时输入栅格选DEM输入掩膜数据选陇南市边界shp输出栅格给一个明确的名字比如longnan_dem_30m_clip.tif。点确定后等它跑完加载结果看一眼shp边界外应该是黑色或透明边界内地形完整。如果要用脚本批量处理常见做法是用arcpy这样写import arcpy arcpy.CheckOutExtension(Spatial) in_raster rD:\longnan\dem_30m.tif mask_shp rD:\longnan\longnan_boundary.shp out_raster rD:\longnan\longnan_dem_clip.tif arcpy.gp.ExtractByMask_sa(in_raster, mask_shp, out_raster) print(clip done, check:, out_raster)逻辑说明arcpy.gp.ExtractByMask_sa封装的是Spatial Analyst的按掩膜提取第一个参数是输入栅格第二个是掩膜要素或栅格第三个是输出路径。CheckOutExtension是申请Spatial Analyst许可没有这一行工具会报“许可不可用”。参数说明掩膜shp的坐标系最好和DEM一致如果不一致ArcGIS会自动做投影转换但转换过程可能引入边缘像元的微小错位所以我会在裁剪前先把shp投影成和DEM一致的坐标系再执行这段脚本。3.3 多幅DEM拼接镶嵌时盯住四个参数如果你手头这份数据是按图幅拆开的或者你打算把陇南市DEM和周边几个县的DEM合并成一张大图就要用“镶嵌至新栅格”Mosaic to New Raster。这个工具的坑集中在四个参数像元类型、像元大小、波段数和镶嵌方法。像元类型要选对DEM存储高程用的是16位有符号整型16_BIT_SIGNED或32位浮点型。选小了高程值会截断选大了文件体积翻倍。如果原始DEM有负高程或者nodata是负数务必用16_BIT_SIGNED或32_BIT_FLOAT用无符号类型会把-9999这种无效值变成65535之类的巨大值。像元大小直接填30让输出和输入保持一致。波段数填1DEM是单波段数据填3会莫名其妙生成一个三波段栅格后面算坡度时反而报错。arcpy写法如下import arcpy inputs rD:\longnan\tile1.tif;D:\longnan\tile2.tif;D:\longnan\tile3.tif out_dir rD:\longnan\mosaic out_name longnan_merged.tif arcpy.MosaicToNewRaster_management( inputs, out_dir, out_name, number_of_bands1, pixel_type16_BIT_SIGNED, cellsize30, mosaic_methodBLEND ) print(mosaic complete)参数说明input_rasters多个栅格用分号分隔mosaic_method选BLEND是对重叠区做羽化混合适合地形数据如果选FIRST重叠区只保留第一个栅格的值可能在接缝处出现棱线。镶嵌完成后建议叠加shp边界再看一遍重点检查接缝处有没有明显的高程跳变。如果跳变明显常见做法是镶嵌后对重叠区域做一次3×3的Focal Statistics平滑但要注意这只治标真正原因通常是两幅DEM来源不同精度或基准存在差异这种系统误差靠平滑压不干净。3.4 符号化与范围检查让高程“看得见”裁剪和拼接都完成后先做一步符号化检查。默认的灰度拉伸往往对比度不足河谷和山脊分不清。右键图层属性切到“符号系统”选择“分类”或“拉伸”拉伸类型选“百分比截断”截断范围设2到98。这样会把高程值两端的极值异常压扁中间的色调层次拉开陇南这种高差大的山地渲染出来立刻能看出哪里是深切河谷哪里是山脊线。再把shp边界加回来叠加在DEM上面检查边界与DEM边缘是否贴合。如果边界线外侧还有一圈完整啮合的地形说明裁剪范围没切干净如果边界内侧有一条整齐的黑色边说明掩膜提取时边缘像元被判成nodata了稍后避坑章会专门说这个。范围检查没问题数据就可以进入坡度、等高线这些正式分析了。4. 从DEM到正式成果坡度、等高线与山体阴影的生成参数DEM本身是中间产品实际项目里用到的多是它的衍生成果坡度、坡向、等高线、山体阴影。这一章把每个工具的入口、参数和输出含义写清楚。很多人在这一步翻车不是不会点按钮而是不清楚参数背后的意义比如Z factor是什么、坡度百分比和度有什么区别、等高线该抽多少米一条。4.1 坡度坡向分析Z factor是不起眼但致命的参数坡度工具的界面很简单输入DEM输出路径两个参数——量测单位和Z factor。量测单位有DEGREE度和PERCENT_RISE百分比两种。度是角度0到90百分比是坡度的正切值乘100平地为045度坡就是100%90度理论上接近无穷大。地灾评价里常用度做汇流分析时有人用百分比看需求。我一般输出度方便按《滑坡防治工程勘查规范》里30度、45度这些分级标准做重分类。Z factor是单位换算系数英文叫Z scale factor很多人直接留默认值1在经纬度坐标系下就会算出完全离谱的坡度。因为经纬度坐标系的x和y单位是度而高程单位是米两者量纲不一致坡度公式里必须有个系数把水平距离换算成米。如果你的DEM是WGS84经纬度坐标常见做法是设0.00001左右严格一点按所在纬度算1除以111320乘以cos纬度陇南纬度约33度算出来约1.38e-05。如果DEM已经投影成UTM或高斯投影x、y单位已经是米Z factor填1即可。这个参数我在实际项目里至少救回过三次分析结果。用arcpy批处理坡度和坡向import arcpy arcpy.CheckOutExtension(Spatial) dem rD:\longnan\longnan_dem_clip.tif slope arcpy.sa.Slope(dem, DEGREE, 1.38e-05) slope.save(rD:\longnan\longnan_slope.tif) aspect arcpy.sa.Aspect(dem) aspect.save(rD:\longnan\longnan_aspect.tif)逻辑说明Slope工具第一个参数是输入DEM第二个是输出单位第三个就是Z factor。Aspect工具不需要Z factor因为坡向只比方向不比大小。参数说明如果DEM是UTM投影坐标系把第三个参数改成1否则结果会偏小。Aspect输出范围是0到360度正北为0顺时针旋转-1代表平地。算完之后用栅格统计看一遍坡度最大值陇南山地坡度上70度比较少见但并非不可能如果出现90度以上基本可以断定Z factor设错了。4.2 等高线提取基线和高程间距的选择从DEM抽等高线用的是Spatial Analyst里的“等高线”Contour工具。输入DEM输出是线要素shp关键参数就两个等高距和起始等高线。等高距的选择看地形起伏陇南这种高差大的山区我一般抽50米一条既能看清地形骨架出图也不至于线条密到糊在一起。如果你只关心河谷或某个乡镇的局部可以加密到25米或10米。起始等高线填0通常就够了意思是0米开始每50米抽一条陇南海拔大多几百米到四千多米0起步最省心。工具执行时还有个小选项叫“平滑”smooth默认是不平滑。我建议保持默认不做平滑。原因很实际平滑后的等高线虽然好看但会偏离原始DEM的数值后续如果拿去和实测断面比对可能出现系统性偏移。真想让线条柔和一点抽完等高线在制图阶段用制图综合里的简化工具做轻量处理不要动原始数据。如果要输出给别的软件用可以把等高线shp导出成DWG或DXF。ArcGIS的“导出要素”支持直接写DWGCAD里打开后每条线的高程属性在Z值里用不着一根根画。这一节操作虽简单但等高线抽得不合理会直接影响后续制图间距大小心里要有数。4.3 山体阴影与三维可视化让地形“活”起来山体阴影Hillshade是展示地形骨架最好用的工具之一原理是模拟太阳光照射地面产生的明暗面。工具参数只有三个方位角、太阳高度角、Z factor。方位角是太阳从哪个方向照过来默认315度西北方向高度角是太阳和地平面的夹角默认45度。这两个默认值是制图界多年的经验选择西北光能比较好地展示山脉走向。陇南的河谷大多呈东西向或北东向你可以在默认基础上试几组比如把方位角改成0度正北光或90度正东光河谷的明暗会明显变化挑一组最能突出你研究区的即可。如果觉得单方向山体阴影立体感不够强常见做法是生成四个方向0、90、180、315度的山体阴影然后在ArcScene里按35%透明度叠加显示。这种多方向叠叠乐在西北山地地区的展示效果非常好。三维可视化则把DEM直接拖进ArcScene图层属性里启用“拉伸”拉伸系数填一个值让高差放大陇南这种大高差区域系数填1即可不需要额外夸张。实际项目里山体阴影还常用于出图底图。把山体阴影放最底层、DEM半透明在上层、shp边界最上面出图后地形的立体感一下子就出来了。如果你的外业同事需要在手机上看范围把这个叠加后的图层或shp另存为kml导进移动端App里就能加载这在实地踏勘时很实用。5. 避坑手册DEM和shp使用中的五个典型翻车现场用了这么多年的DEM数据踩过的坑攒了满满一笔。下面五条都是真实发生过的场景按“现象、原因、解决”写出来。每一条都对应一个具体的操作环节你迟早会遇到其中之一。5.1 现象裁剪后大面积黑色shp边界内缺一块地形有一回用Extract by Mask切完陇南市DEM打开一看市区范围正常但边界附近有明显黑色条带像是地形被“咬掉”了一圈。当时第一反应是数据坏了后来检查才发现是掩膜栅格化的边缘像元问题。原因shp边界是矢量转成栅格掩膜时边界经过的像元只有一部分落在多边形内ArcGIS默认把这类部分覆盖的像元判为有效但边界外侧整行像元虽然没被判有效却因为环境设置里“掩膜”被全局启用把输出范围卡在了shp矩形框边缘表面看像是少了一圈。解决在环境设置里把“栅格分析-掩膜”清空重新执行一次Extract by Mask如果仍有黑边改用Clip工具并勾选“使用输入要素裁剪几何”这个选项直接用shp几何去切边缘处理比掩膜方式干净。从那以后我裁剪的固定动作是清空环境掩膜勾选裁剪几何输出后再用shp叠加检查一遍边界贴合度。5.2 现象DEM加载后跑到非洲或者大西洋去了有次同时加载DEM和shpshp正常显示在陇南市DEM却出现在完全陌生的位置一个在赤道附近一个在亚洲东海岸。当时判断是投影问题但排查了很久才发现是数据集来源的坐标系定义信息丢失。原因很多zip格式的DEM数据包里.tif自带坐标系信息但经过某些软件处理或转换后坐标系的元数据标签丢失软件加载时误判成WGS84经纬度默认值导致显示错位。解决先右键DEM看属性如果“空间参考”显示未知或GCS_WGS_1984但范围数值明显不对用“定义投影”工具Define Projection手动给DEM赋上正确的坐标系。注意这一步是“定义”不是“投影”它只改标签不改任何数值。定义前一定要确认好这份数据的真实坐标系问数据来源或看随包说明猜错了后续所有分析都会偏。5.3 现象河谷地形出现一层一层“台地”像梯田一样有一次给白龙江流域做坡度分级发现河谷沿岸的高程出现整齐的台阶状突变坡度计算结果里出现了一长条接近90度的带状区域。原因这是DEM原始数据本身的水面处理问题。SRTM和ASTER GDEM这类雷达光学数据在水体表面返回的高程是水面高程而非河床高程生产方会做水体滤波但滤波不完全时河流两岸会出现高程平顶加上不同轨条误差就形成台阶。解决先判断台阶范围是否对应河流水系把研究区的河网shp叠加到DEM上沿河剖切一条剖面线3D Analyst里有剖面工具看高程曲线是否在河谷处出现一个突跳。如果确认是水体伪影常见做法是做一个河网缓冲区然后用周边高程做插值替换掉缓冲区内的异常值或者干脆把河流范围从分析结果里用掩膜去掉避免它拉偏坡度统计。5.4 现象坡度计算出现负值、极大值统计范围超出0到90度坡度工具算出来的栅格属性表里最小值是-70几最大值一百多明显不符合物理规律。原因这是nodata参与计算了。当DEM里某个像元的高程无效比如-9999坡度算法会把该像元和邻域像元的差值作为一个超大高差参与运算结果就出现负数或远超90度的角度值。解决算坡度前先在环境设置的“栅格分析”里把NoData的判定方式设好或者在DEM上用Con条件函数把无效值转换为真正的nodata然后重算坡度。日常我处理高程数据时会先用栅格计算器跑一句Con(IsNull(dem), -9999, dem),把无效区域统一成nodata标记再交给坡度工具。跑完坡度后再用“按属性提取”筛掉小于0或大于90的像元做二次校验数值范围正常才往下走。5.5 现象shp文件打不开提示“无法读取”或者属性表乱码加载shp时提示无法读取检查后发现三层原因都有可能。第一层是shp配套文件缺失只有.shp没有.shx和.dbfArcGIS无法解析第二层是压缩包解压不完整zip中途损坏第三层是属性表里的dbf编码和系统区域设置不一致导致中文名称字段乱码。解决先看shp所在文件夹里有没有完整的四个零件缺哪个从原始zip重新解压再用7-Zip的“测试压缩包”功能验证zip完整性如果是dbf乱码在QGIS中加载并指定编码为GBK或UTF-8另存一份shp再回ArcGIS里用就不会乱。zip解压这件事看着不起眼却是很多人问“打不开”的第一现场我一般提醒同事解压后第一件事是看文件大小和文件个数和zip包里的原始大小对得上才算解压成功。6. 数据体检用Python和剖面工具验证DEM质量最后分享一个我每次拿到DEM都会做的验证流程把它当成数据质量的“体检报告”。这个流程能在正式分析前把5.1到5.4那些坑提前暴露出来比等分析完再返工值得多。第一步是快速统计检查。用Python的rasterio库读一遍DEM看高程范围、平均值、无效值占比import rasterio import numpy as np with rasterio.open(rD:\longnan\longnan_dem_clip.tif) as src: data src.read(1) nodata src.nodata if nodata is not None: valid data[data ! nodata] nodata_ratio (data nodata).sum() / data.size else: valid data[~np.isnan(data)] nodata_ratio np.isnan(data).sum() / data.size print(像元总数:, data.size) print(高程范围:, float(valid.min()), -, float(valid.max())) print(平均高程:, round(float(valid.mean()), 1)) print(nodata占比:, round(float(nodata_ratio) * 100, 2))逻辑说明这段脚本读入DEM后先用nodata标记过滤无效值再对有效像元做统计。nodata占比超过1%就要警惕超过5%基本说明掩膜裁剪没处理好或原始数据质量问题大别急着往下走。参数说明src.nodata读取的是GeoTIFF内部记录的无效值如果这个值是None说明数据打包时没写无效值标记那就要结合第2章说的高程范围去判断是否有-9999或-32768混在数据里。第二步是剖面检查。在ArcMap里用3D Analyst的剖面工具沿白龙江或你关注的河谷画一条线生成剖面图看高程曲线。正常地形剖面是连续起伏的如果在某个位置出现竖直陡降或水平直线那基本上就是水体伪影或异常像元和5.3说的台阶问题对应上了需要提前做修复。第三步是与已知高程点对比。各县气象站、测绘控制点都有公开海拔挑几个点用DEM提取该点的高程值和实测值做差。30米DEM在陇南山区和实测高程差个十米上下很正常如果差出几百米那要回去查坐标系和高程基准大概率是基准没对齐。这套流程走完数据能不能用于正式分析心里就有底了。从那以后我每次拿到任何一份DEM都会强制走一遍上面的体检先看坐标系和nodata属性再跑一次Python统计最后沿河谷拉一条剖面线。这套动作看着简单但每一次都能拦住至少一个翻车现场。希望帮到你。本文还有配套的精品资源点击获取