二、ArcGIS中shp裁剪dem

(一)裁剪后dem为矩形
a.新建文件地理数据库:
目录(Catalog)→选择需要将裁剪后dem存放的位置,新建(new)→文件地理数据库( File Geodatabase.gdb)
b.shp转栅格:
ArcToolbox→转换工具(Conversion Tools)→转为栅格(To Raster)→点转栅格(point to raster)、线转栅格(polyline to raster)、要素转栅格(feature to raster)或者面转栅格(polygon to raster) →ok
 注:转栅格时根据需要自行选择点转栅格(point to raster)、线转栅格(polyline to raster)、要素转栅格(feature to raster)或者面转栅格(polygon to raster)。
在这里插入图片描述
c.创建镶嵌数据集:
工具箱(ArcToolbox)→数据管理工具(data management tools)→栅格(raster)→镶嵌数据集(mosaic datdset)→创建镶嵌数据集(Create Mosaic Dataset)→ok
在这里插入图片描述
 注:创建完成后界面左边会出现下图所示,此时的镶嵌数据集还是空白的。在这里插入图片描述
d.添加栅格至镶嵌数据集(add rasters to mosaic dataset),完成后会出现矩形边界。
在这里插入图片描述
e. 裁剪
工具箱(arctoolbox)→栅格(raster)→栅格处理(raster processing)→裁剪(clip)→ok
 注意:裁剪时要选择栅格下的裁剪。
在这里插入图片描述
(二)裁剪后dem与shp同形
加载shp及dem
工具箱(ArcToolbox)→(Spatial Analyst Tools)→(Extraction)→(Extract by Mask)
注:裁剪时为了避免出现裁剪不完全的情况,需要在环境设置里将裁剪完成后的dem设置成与裁剪之前dem相同大小的单元格。
在这里插入图片描述

在这里插入图片描述

### 解决 ArcGIS裁剪 DEM 操作失败的问题 在使用 ArcGIS 进行栅格数据(如DEM裁剪时遇到错误,通常由多种因素引起。了解这些潜在的原因有助于找到有效的解决方案。 #### 地理维度不一致引发的错误 如果尝试裁剪的数据集具有不同的地理坐标系或投影,则可能导致 `geographic dimensions` 不匹配的错误[^2]。为了防止此类问题,在执行任何空间操作之前应确保所有输入数据都处于相同的坐标系统中。可以利用 ArcGIS 提供的空间校正工具来转换不同源文件之间的坐标参照系。 #### 数据加载方式引起的误解 有时用户可能会认为裁剪后的栅格数据显示异常是因为其内部存储值发生了变化;但实际上这可能是由于软件默认设置造成的视觉差异而非实际数值变动。ArcGIS 加载栅格图层时会自动调整显示范围以优化渲染效果,但这并不影响底层数据本身[^3]。因此建议通过属性表查看具体的像元值确认是否存在真实的变化。 #### 正确的操作流程与参数配置 对于不规则形状区域内的DEM裁剪工作,应该特别注意选择合适的选项并正确设定参数。例如,在使用“裁剪”工具时需勾选特定项以便于处理边界情况下的像素分配逻辑[^4]。以下是基于上述指导原则的一个Python脚本实例: ```python import arcpy # 设置环境变量 arcpy.env.workspace = "C:/data" input_raster = "dem.tif" mask_layer = "study_area.shp" try: # 执行裁剪命令前先同步坐标系统 desc = arcpy.Describe(mask_layer) spatial_ref = desc.spatialReference if not arcpy.Exists(input_raster): raise Exception(f"{input_raster} does not exist.") output_raster = "clipped_dem.tif" # 使用Match Environment Option使输出与遮罩保持相同的空间参考框架 with arcpy.EnvManager(outputCoordinateSystem=spatial_ref, extent=desc.extent): arcpy.management.Clip(in_raster=input_raster, rectangle="", out_raster=output_raster, in_template_dataset=mask_layer, nodata_value="-9999", clipping_geometry=True) except Exception as e: print(e.message) finally: del arcpy ``` 此代码片段展示了如何安全地完成一次带有掩膜条件约束的DEM裁剪任务,并且包含了必要的预处理步骤以避免常见的兼容性陷阱。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值