乐于分享
好东西不私藏

做标注做到手抽筋?我写了个QGIS插件,一键搞定正负样本

做标注做到手抽筋?我写了个QGIS插件,一键搞定正负样本

朋友们,今天聊点实在的。

最近在搞一个遥感分类项目,要标注几千个蔬菜大棚,正样本标“1”,负样本标“0”。本以为是个机械活,结果在QGIS或者是在arcgis里一个个点开属性表改字段,再手动跳转下一个图斑,眼睛花了不说,手指头都快练出肌肉记忆了。

实在忍不了,撸了个小插件,取名 “01标注器”,专治这种重复劳动。

image-20260808195326038

它有多懒人?

  • • 选中一个图斑,按键盘 数字1 ,自动赋值为“1”(正样本)
  • • 按 数字2 → 自动赋值为“0”(负样本)
  • • 然后自动跳转到下一个图斑,顺便把地图缩放到合适大小,不用你再手动滚轮。

左右箭头还能随时前后翻看图斑,想回看修改也方便。

关键是不用再碰属性表了,选好图层和字段,所有操作都在面板上完成,快捷键一按,丝滑得像玩游戏。

缩放比例我也调过几版,一开始图斑顶满屏幕,看着憋屈;后来改成8倍边距,视野舒服多了。你要是觉得太大或太小,代码里 rect.scale() 那个数字自己改,2.0、3.0随你心意。

插件长这样

image-20260808192907297

停靠在qgis的右侧,我再放大一点:

现在我的标注效率至少翻了几倍,下午一边听播客一边按1/2,几千个图斑不知不觉就搞定了。

如果你也在QGIS里做类似标注,这插件或许能帮你省点力气。代码已经整理好了,需要的朋友可以找我要,或者自己照着改都行,反正开源精神,怎么顺手怎么来。

地址是:https://github.com/ytkz11/auto_label_switcher

image-20260808195602825

功能特点

  • • 键盘驱动:按 1 赋值为正样本(1),按 2 赋值为负样本(0),无需点击按钮。
  • • 自动跳转:赋值后自动跳转到下一个图斑(FID 升序),并缩放至合适视野。
  • • 灵活导航:左右箭头或按钮可在图斑间前后切换,方便复核修改。
  • • 所见即所得:停靠面板清晰显示当前图层和字段,所有操作实时反馈。
  • • 自定义缩放:可调整 zoom_to_selected_with_margin 中的缩放倍率,适配不同图斑大小。

安装方法

方法一:通过 QGIS 插件管理器(推荐)

  1. 1. 从 Releases 页面下载最新版的 .zip 压缩包(不要解压)。
  2. 2. 打开 QGIS,点击菜单 插件 → 管理和安装插件
  3. 3. 选择 “从 ZIP 安装”,选择下载的 zip 文件,点击安装。
  4. 4. 安装完成后,在工具栏会出现“01标注”按钮,点击即可打开停靠面板。

方法二:手动拷贝(适用于开发/调试)

  1. 1. 将本仓库克隆或下载到本地。
  2. 2. 将整个文件夹(例如 auto_label_switcher)复制到 QGIS 的插件目录:
    • • Windows: C:\Users\你的用户名\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\
    • • Linux: ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/
    • • macOS: ~/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/
  3. 3. 重启 QGIS,在插件管理器中启用该插件。

使用方法

初次配置

  1. 1. 点击工具栏“01标注”按钮,打开停靠面板(默认停靠在右侧)。
  2. 2. 选择矢量图层:下拉列表中会自动过滤出多边形图层,选择你要标注的图斑图层。
  3. 3. 选择字段:选择用于存储标注结果的字段(支持整型、浮点型、字符串类型)。

标注流程

  • • 选中图斑:在地图上点击选中一个图斑(或通过左右箭头跳转后自动选中)。
  • • 赋值
    • • 按键盘 1 → 将该图斑的字段值设为 1(正样本)
    • • 按键盘 2 → 将该图斑的字段值设为 0(负样本)
    • • 也可以直接点击面板上的 “1 正样本” / “0 负样本” 按钮。
  • • 自动跳转(默认开启):赋值后自动跳转到下一个图斑,并缩放至该图斑。

写代码的初衷就是提高工作效率,让枯燥的工作变得有趣一点点。

这个插件的编写满足我的需求,这个脚步还可以改进,比如改成多分类标注,不过这个是后话了。

有空我录一下视频展示下这个插件。

最后,万分感谢你的关注和支持!