在实际操作中,矢量裁剪是QGIS里极为常见的需求之一——例如从全省道路网中提取几个县的路段,或利用项目红线切割特定地块,无需编写任何代码、无需转换格式,5分钟以内便可顺利完成。QGIS原生提供了三种裁剪方案,分别适配不同应用场景,下面逐一讲解。

使用面图层裁剪另一个面图层
这种矢量裁剪方式最为常用,适合通过行政区划、项目红线等面状掩膜来提取目标要素。操作步骤不算复杂,但有一个前提必须提前确认:两个图层的坐标系需要完全一致。
首先打开“图层属性→源”,核对CRS编号是否相同。如果不同——【务必先对其中一个图层执行“另存为”操作,并指定匹配的CRS,否则裁剪结果可能出现偏移甚至为空】。许多用户容易忽略这一步,导致裁剪后显示空白,误以为是工具故障。
确认坐标系一致后,在菜单栏选择“矢量→地理处理工具→裁剪”。在弹出的对话框中,输入图层选取要被裁剪的原始数据(例如道路.shp),覆盖图层选取你的裁剪范围(比如某县界.shp),设置输出路径,点击运行即可。操作非常直观,直接拖拽文件就能完成。裁剪完成后新图层会自动加载到地图中,只保留与县界重叠的道路段。
按当前画布范围快速裁剪
如果你已经缩放到目标区域,想要临时提取可见范围内的所有矢量要素,这个方法最为快捷,适用于快速预览或导出局部数据。
有两种操作入口:一是右键点击待裁剪图层,选择“按范围提取”,在弹窗中将“提取范围”设为“使用当前地图画布范围”,设置输出路径后确认;二是打开处理工具箱(Ctrl+Alt+T),搜索“按范围提取”,双击运行,输入图层选择目标,范围来源选“当前地图画布”,执行即可。两种方式效果相同。
特别注意:此方法生成的是新图层,原始图层不会被修改。此外,如果画布范围边缘切过要素,这些要素会被截断成几何碎片,而不是按完整要素裁剪——也就是说,你最终获得的可能是被切成两半的道路、被削去角落的面,并非原始要素的完整形态。这一点需要根据具体需求判断是否适用。
批量裁剪多个矢量图层
如果你手头有10个不同主题的矢量图层(水系、坡度、土壤类型等),全部需要利用同一个县界进行裁剪,手动逐个操作确实比较耗时。QGIS提供了批量裁剪工具,一次性解决。
打开处理工具箱,搜索“裁剪”,找到“裁剪(批量)”工具——注意不是单个裁剪,而是带括号“批量”的那个。在“输入图层”栏点击右侧小箭头,选择“从目录中选择多个图层”,勾选所有待裁剪图层;覆盖图层只选一个,即你的县界.shp;输出目录设为新建文件夹,勾选“自动为每个输出添加前缀”,避免文件名重复。点击运行后,QGIS会依次处理每个图层,全部完成才会弹出提示。中途无法暂停,但可以最小化等待,不影响其他操作。
话说回来,批量裁剪虽然省事,但过程中无法打断——如果某个图层出错,也得等全部跑完才能看到错误提示。因此建议提前检查所有输入图层的坐标系和几何有效性,避免出现意外。
