python 矢量裁剪栅格
时间: 2023-11-03 10:01:23 浏览: 117
矢量裁剪栅格是指利用矢量数据(例如矢量图层)对栅格数据进行裁剪操作。在Python中,可以使用GDAL库实现矢量裁剪栅格的功能。下面是一个简单的例子,展示了如何使用GDAL库进行矢量裁剪栅格的操作:
```python
from osgeo import gdal
import osgeo.ogr as ogr
# 打开栅格文件
input_raster = r"C:/DEM/坡度.tif"
input_raster = gdal.Open(input_raster)
# 打开矢量文件
input_shape = r"C:/分类/县区投影.shp"
driver = ogr.GetDriverByName("ESRI Shapefile")
dataSource = driver.Open(input_shape, 1)
layer = dataSource.GetLayer()
# 遍历矢量图斑进行裁剪
for feature in layer:
# 获取当前图斑的属性值
fid = feature.GetField('DISTNAME')
# 创建输出栅格文件
output_raster = fid + ".tif"
# 进行裁剪
ds = gdal.Warp(output_raster, input_raster, format='GTiff', cutlineDSName=input_shape, cutlineWhere="FIELD = '{}'".format(fid), dstNodata=0)
# 可以在这里对裁剪后的栅格数据进行后续处理
# 关闭数据源
dataSource = None
```
阅读全文