arcGis10.6基本操作——DEM生成等高线

本文介绍了如何在ArcGIS10.6中利用DEM数据生成等高线。首先,通过工具中的等值线功能,并设置合适的输入间距。如果DEM覆盖区域过大,可以采取分步方法:先创建目标乡镇的边界图层,使用属性选择并保存数据,然后在等值线工具的环境设置中指定处理范围为乡镇图层,从而完成特定区域的等高线提取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现有DEM
在这里插入图片描述
工具——等值线
在这里插入图片描述
输入间距
即可

补充:如果DEM过大,提取部分区域的办法
在这里插入图片描述
如上图要在一个大的DEM中提取一个乡镇的等高线
方法:
第一步,先把要提取镇的范围做一个图层。
用属性选择,数据另存
第二步,打开等值线工具,

在这里插入图片描述
第三步,打开右下角的环境,在处理范围内选择,要处理的镇的图层
在这里插入图片描述
处理即可

<think>好的,用户问填洼后的结果异常,没有数据显示。首先得回想之前的对话,用户之前询问过填洼后空白的原因,现在遇到了结果异常无数据的情况。这可能和之前提到的原因有关,但需要更具体的解决方案。 用户可能是使用GIS软件处理DEM时遇到了问题,填洼后结果一片空白,无法显示数据。这可能让他们感到困惑,尤其是在处理重要数据时。我需要考虑他们可能的操作步骤,比如是否检查了输入数据、软件设置是否正确,或者是否存在处理过程中的错误。 首先,应该按照之前的思路,分步骤排查。可能的原因包括输入数据问题、软件参数设置错误、输出配置不当,或者软件本身的bug。需要一步步引导用户检查每个环节,比如检查原始数据是否有无效值,填洼参数是否合理,输出格式是否正确等。 另外,用户可能不太熟悉技术细节,需要用易懂的语言解释。比如,无效值(NoData)可能影响填洼结果,参数设置中的阈值是否过小或过大,或者内存不足导致处理中断。还要提醒他们检查坐标系是否正确,处理范围是否合适,以及输出时的数据类型是否匹配。 可能需要提供具体的例子,比如使用GDAL或QGIS的步骤,帮助他们实际操作。比如用GDAL检查NoData值,或者用QGIS的直方图工具分析数据分布。此外,分块处理或更换软件的建议也很重要,特别是当用户遇到内存问题或软件bug时。 最后,总结常见原因和解决步骤,让用户能系统地排查问题。确保回答结构清晰,步骤详细,同时避免使用过多专业术语,让用户容易理解。还要提醒用户备份数据,避免处理过程中数据丢失。</think>DEM填洼后出现结果异常且无数据显示的常见原因及解决方法如下,按优先级排序排查: --- ### **1. 输入数据检查** - **无效值(NoData)污染** - **现象**:原始DEM存在`NaN`或异常值(如-9999) - **验证方法**: ```python # 使用GDAL检测无效值占比 import gdal ds = gdal.Open("input_dem.tif") band = ds.GetRasterBand(1) arr = band.ReadAsArray() nodata = band.GetNoDataValue() print(f"无效值占比: {np.sum(arr == nodata)/arr.size*100:.2f}%") ``` - **解决方法**:用`QGIS`的`Raster Calculator`替换无效值: `("input_dem@1" != -9999) * "input_dem@1"` - **坐标系冲突** - **现象**:数据框坐标系与DEM实际坐标系不一致 - **验证方法**:在ArcGIS中右键图层查看`Properties > Source`,确认坐标系与处理工具要求一致(填洼通常需要投影坐标系) --- ### **2. 填洼参数错误** - **阈值设置不合理** - **典型错误**:设置`填充深度阈值(fill_depth)`超过实际地形高差(如设置为1000米,而区域最大高差仅200米) - **修正方案**:分阶段尝试阈值(先设为0进行全填充,再逐步增加) - **平坦区域处理异常** - **现象**:湖泊或平原地区出现大面积空白 - **解决方法**:改用`Wang & Liu算法`(多数GIS工具默认方法)替代`Planchon & Darboux算法` --- ### **3. 输出配置问题** - **数据类型溢出** - **案例**:原始DEM为`Int16`类型,填洼后高程值超过32767导致溢出 - **修正方法**:输出时指定`Float32`格式(GDAL命令示例): ```bash gdal_translate -ot Float32 input.tif output.tif ``` - **渲染范围错误** - **现象**:数据实际存在但显示范围异常 - **验证步骤**:在QGIS中右键图层选择`Properties > Symbology`,检查`Min/Max Value Settings`是否为"Actual" --- ### **4. 软件处理缺陷** - **内存溢出** - **特征**:大范围数据处理时结果文件不完整 - **解决方案**: 1. 使用`GDAL分块处理`: ```python gdal.Warp("output.tif", "input.tif", options="-co TILED=YES --config GDAL_CACHEMAX 512") ``` 2.ArcGIS中启用`地理处理 > 环境设置 > 并行处理`,设置`0`为使用所有CPU - **工具版本缺陷** - **已知问题**:ArcGIS 10.6之前版本填洼工具对海岸线数据敏感 - **替代方案**:改用`WhiteboxTools`执行: ```bash whitebox_tools -r=FillDepressions -v --dem=input.tif -o=output.tif ``` --- ### **5. 典型案例诊断流程** 1. **快速验证**:用`Global Mapper`打开结果文件,按`Ctrl+I`查看高程直方图,若全为0或单值说明数据损坏 2. **元数据检查**:使用`gdalinfo`查看输出文件统计值: ```bash gdalinfo -stats filled_dem.tif ``` 观察`Minimum`和`Maximum`是否符合预期 3. **边缘效应测试**:裁剪原始DEM中心区域(如10x10像元)进行填洼测试,确认是否边界问题 --- ### **可视化排查技巧** | 问题类型 | QGIS检测方法 | 异常表现特征 | |-----------------|---------------------------------------|---------------------------| | 无效值扩散 | 使用`Identify Features`点击空白区域 | 显示`NaN`或极端值(如3.4e38)| | 坐标系错误 | 叠加OpenStreetMap底图 | 数据位置偏移或拉伸变形 | | 算法失败 | 对比原始DEM与填洼结果的坡度图 | 填洼区域仍存在闭合等高线 | 建议优先使用开源工具(如QGIS+GRASS)进行交叉验证,可执行以下命令流: ```python # GRASS GIS填洼示例 import grass.script as g g.run_command("r.in.gdal", input="dem.tif", output="dem") g.run_command("r.fill.dir", input="dem", output="filled", direction="dir") g.run_command("r.out.gdal", input="filled", output="filled.tif") ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值