arcgis使用面shp文件裁剪线shp文件报错

文章讲述了在使用ArcGIS进行矢量数据和栅格数据裁剪时遇到000117错误的问题,通过将数据投影到同一坐标系后成功解决问题,强调了坐标系一致性对工具应用的重要性。

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

水系数据裁剪,输出为空: ArcGIS必会的几个工具的应用 --提取、分割、融合、裁剪(矢)、合并、追加、镶嵌、裁剪(栅)、重采样_arcgis分割-CSDN博客

下面的方法都不行:

ArcGIS Clip(裁剪)时出现000117错误的解决办法_空多边形不完整-CSDN博客

我打开属性都检查了一遍,都是一样的地理坐标系,几何修复都做了一遍还是不行

然后就尝试将我需要裁剪的数据又投影了一次,投影到相同的坐标系下,没想到居然裁剪居然成功了,虽然不理解,但是结果正确就行 

网上说的方法都试过,但是都不管用。。。

 

### 使用GIS软件基于SHAPEFILE批量裁剪TIFF栅格数据的方法 #### ArcGIS中的实现方法 在ArcGIS中可以利用ModelBuilder或Python脚本来完成基于Shapefile范围的批量裁剪操作。具体而言,`Extract by Mask` 工具能够用于裁剪栅格数据到指定矢量边界范围内[^1]。 以下是通过ArcPy编写的Python脚本示例: ```python import arcpy from arcpy import env from arcpy.sa import * # 设置工作空间环境 env.workspace = r"C:\path\to\your\tif_folder" # 输入Shapefile路径 mask_feature = r"C:\path\to\your\shapefile.shp" # 输出文件夹路径 output_folder = r"C:\path\to\output_folder" # 获取所有.tif 文件列表 raster_list = arcpy.ListRasters("*", "TIF") for raster in raster_list: out_raster = ExtractByMask(raster, mask_feature) output_path = f"{output_folder}\\{arcpy.Describe(raster).baseName}_clipped.tif" out_raster.save(output_path) print("Batch clipping completed.") ``` 上述代码会遍历指定目录下的所有 `.tif` 文件,并依据给定 Shapefile 的几何范围逐一裁剪这些影像并保存至目标文件夹中[^2]。 #### QGIS中的实现方式 对于QGIS用户来说,则可以通过其内置插件 `GDAL Clipper` 或者命令行工具来达成相同目的。一种更为灵活的方式是借助 Processing Modeler 构建自动化流程模型;另一种则是直接运行 Python 脚本,在此过程中需要用到 gdal.Warp 函数来进行实际的数据切割处理过程[^3]。 下展示一段适用于 PyQGIS 的简单实例代码片段如下所示: ```python from qgis.core import * import processing shp_file = 'C:/path/to/your/shp.shp' input_dir = 'C:/path/to/tifs/' output_dir = 'C:/path/to/output/' layers = QgsProject.instance().mapLayersByName('YourRasterLayer') for layer in layers: params = { 'INPUT': input_dir + layer.name() + '.tif', 'MASK': shp_file, 'OUTPUT': output_dir + layer.name() + '_clip.tif' } result = processing.run("gdal:cliprasterbymasklayer", params) ``` 以上两种方案均能有效满足基于 SHAPE FILE 批量裁切 TIFF 图像的需求,可根据个人习惯选择适合自己的 GIS 平台执行相应操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值