用矢量图范围裁剪栅格图
时间: 2025-05-14 07:52:23 浏览: 22
### 使用矢量图裁剪栅格图像的方法
#### 方法一:使用 QGIS 实现裁剪
QGIS 提供了一个直观的图形用户界面,能够方便地执行空间分析任务。对于使用 Shapefile 对 GeoTIFF 图像进行裁剪的任务,可以通过以下方式完成:
加载要裁剪的栅格层和作为掩膜使用的矢量层到 QGIS 中。选择【处理】菜单下的【工具箱】选项,在搜索框内输入“提取按掩模”,找到名为 Extract by Mask 的算法并启动它[^2]。
该工具会依据指定的矢量边界来裁剪对应的栅格区域,最终输出被限定在矢量要素范围内的新栅格文件。
```python
import processing
processing.run("gdal:cliprasterbymasklayer",
{'INPUT':'path_to_raster.tif',
'MASK':'path_to_shapefile.shp',
'OUTPUT':'output_path_clipped.tif'})
```
这段 Python 代码展示了如何通过 PyQGIS 来调用 `Extract by Mask` 工具自动完成裁剪过程。
#### 方法二:使用 GDAL 命令行工具实现裁剪
除了借助 QGIS 外,还可以直接运用 GDAL 自带的强大命令行工具来进行更灵活的操作。特别是 gdalwarp 命令非常适合用来根据矢量几何对象裁剪栅格数据集。
运行如下命令即可按照给定的 Shapefile 裁剪 GeoTIFF 文件:
```bash
gdalwarp -cutline path_to_shapefile.shp -crop_to_cutline -dstnodata 0 input_raster_file.tif output_clipped_file.tif
```
这条命令指定了 `-cutline` 参数指向充当裁剪边界的 Shapefile 文件路径;而 `-crop_to_cutline` 则告诉 gdalwarp 只保留位于此多边形内部的部分,并将外部像素填充为 nodata 或者设定的具体数值(这里设为了 0)。最后两个参数分别是源栅格文件名以及目标保存位置[^3]。
这两种方法都能有效地利用矢量数据对栅格数据实施精确的空间裁剪操作,满足不同场景下用户的特定需求。
阅读全文
相关推荐
















