QGIS提供三种原生矢量裁剪方法:一是用面图层裁剪面图层,需先统一CRS,再通过“矢量→地理处理工具→裁剪”完成;二是按当前画布范围快速提取,右键图层选“按范围提取”或在工具箱中搜索运行;三是批量裁剪多个图层,使用“裁剪(批量)”工具一次性处理。

你需要从一个大范围的矢量图层(比如全省道路网)中,只保留某几个县辖区内的要素,QGIS提供原生工具直接完成这个操作,无需转换格式或写代码,整个过程在5分钟内可完成。
用面图层裁剪另一个面图层
这是最常用的矢量裁剪方式,适用于用行政区划、项目红线等面状掩膜提取目标要素。
第一步:确保两个图层坐标系完全一致。打开“图层属性→源”,核对CRS编号是否相同。若不同,【必须先对其中一个图层执行‘另存为’并指定匹配的CRS,否则裁剪结果会偏移甚至为空】。
第二步:菜单栏选择 矢量 → 地理处理工具 → 裁剪。
第三步:在弹出窗口中设置——输入图层选要被裁剪的原始数据(如道路.shp),覆盖图层选你的裁剪范围(如某县界.shp),输出路径填好,点击运行。
这一步操作起来很简单,直接把文件拖进去就行。裁剪完成后,新图层自动加载到地图中,只保留与县界重叠的道路段。
按当前画布范围快速裁剪
当你已经缩放到目标区域、想临时提取可见范围内的所有矢量要素时,这个方法最快。
方法一:右键点击待裁剪图层 → 选择“按范围提取” → 在弹窗中“提取范围”选“使用当前地图画布范围” → 设置输出路径 → 确定。
方法二:打开处理工具箱(Ctrl+Alt+T)→ 搜索“按范围提取” → 双击运行 → 输入图层选中目标 → 范围来源选“当前地图画布” → 运行。
注意:此方法生成的是新图层,原图层不会被修改。画布范围边缘若切过要素,会被截断成几何碎片,不是按完整要素裁剪。
批量裁剪多个矢量图层
如果你手上有10个不同主题的矢量图层(水系、坡度、土壤类型等),都要用同一个县界裁剪,手动逐个操作太费时间。
① 打开处理工具箱 → 搜索“裁剪” → 找到“裁剪(批量)”工具(不是单个裁剪)。
② 在“输入图层”栏点击右侧小箭头 → 选择“从目录中选择多个图层” → 勾选全部待裁剪图层。
③ “覆盖图层”只选一个,即你的县界.shp。
④ 输出目录设为新建文件夹,勾选“自动为每个输出添加前缀”,避免文件名重复。
点击运行后,QGIS会依次处理每个图层,全部完成才弹出提示。中途不能暂停,但可最小化等待。












