按要素属性批量裁剪栅格数据

参考自 https://www.jianshu.com/p/8a96a4cdee84

利用arcgis模型构建器按属性批量裁剪栅格数据,我要把每个矢量格子对应的栅格区域裁剪出来。

记录一下,时常需要用到,防止遗忘

1. 在arcmap中打开被裁剪影像及矢量数据

 

2. 打开模型构建器

 

 

3. 插入 迭代器>要素选择器

 

4. 双击 迭代要素选择

 

5. 选择输入要素及分组字段

 

6. 打开工具箱,选择【Spatial Analyst】|【Extraction(提取)】|【Extract by Mask(按掩膜提取)】,拖入到模型构建器中

7.双击 【Extract by Mask(按掩膜提取)】,在弹窗中分别输入栅格数据、要素及输出栅格的位置,注意栅格名称【%Value%.tif

 

 

8. 运行模型构建器

 

9. 查看结果

 

 

Python可以使用GDAL库来实现批量裁剪栅格数据和shp文件。GDAL(Geospatial Data Abstraction Library)是一个开源的地理空间数据处理库,可以用于处理各种栅格和矢量数据格式。 以下是使用Python批量裁剪栅格数据和shp文件的步骤: 1. 导入必要的库 ```python from osgeo import gdal, ogr ``` 2. 定义批量裁剪函数 ```python def batch_clip(raster_path, shapefile_path, output_path): # 打开栅格数据 raster_dataset = gdal.Open(raster_path) # 打开shp文件 shapefile_dataset = ogr.Open(shapefile_path) # 获取栅格数据的范围 raster_extent = raster_dataset.GetGeoTransform() # 获取shp文件中的要素 shapefile_layer = shapefile_dataset.GetLayer() for feature in shapefile_layer: # 获取要素的外包框 feature_geometry = feature.GetGeometryRef() feature_extent = feature_geometry.GetEnvelope() # 裁剪栅格数据 gdal.Warp(output_path + feature.GetField('id') + '.tif', raster_dataset, outputBounds=feature_extent) ``` 3. 调用批量裁剪函数 ```python raster_path = 'input_raster.tif' shapefile_path = 'input_shapefile.shp' output_path = 'output/' batch_clip(raster_path, shapefile_path, output_path) ``` 这将会将栅格数据按照shp文件中每个要素的外包框进行裁剪,并将裁剪后的栅格数据保存到指定的输出路径。 需要注意的是,这里假设栅格数据和shp文件的投影是一致的,如果投影不一致,需要先进行投影转换。同时也可以根据不同的需求对裁剪的方法进行调整,比如指定裁剪使用的插值方法、裁剪后的栅格分辨率等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值