首页 GIS基础理论 QGIS规则标注具体怎么做?复杂标签咋设?

QGIS规则标注具体怎么做?复杂标签咋设?

作者: GIS研习社 更新时间:2025-12-18 11:00:56 分类:GIS基础理论

标签乱成麻?别急,QGIS规则标注就是你的“智能排版师”

你是不是也遇到过这种情况:地图上密密麻麻全是地名,河流压着村庄、高速叠着省界,想看清一个字都得放大三倍?或者领导说“这个图例要分三类显示,不同等级用不同颜色+字体”,你打开属性表一脸懵?——别慌,这正是QGIS“规则标注”的高光时刻。它不是简单打标签,而是让你像写SQL一样,给每个要素定制“出场剧本”。

QGIS规则标注具体怎么做?复杂标签咋设?

规则标注的本质:给地图元素发“个性化邀请函”

想象一下你要办一场高端酒会,不能让所有嘉宾都坐同一张桌子对吧?VIP得坐主桌,媒体坐侧厅,普通来宾坐外围。QGIS的规则标注就是干这个的——根据属性字段(比如人口、等级、类型),给不同要素发不同的“座位卡”(即标注样式)。

我在参与长三角城市群规划可视化项目时,就用规则标注把“超大城市”、“特大城市”、“一般城市”三类用不同颜色+加粗字体+图标区分,客户一眼就能看出层级结构,比堆砌图例清爽十倍。

手把手实战:5步搞定复杂标签设置

  1. 右键图层 → 属性 → 标注,顶部下拉菜单选“基于规则的标注”。
  2. 点击左下角绿色“+”号,添加第一条规则。比如你想标注“人口大于100万的城市”,就在“过滤器”框输入:"population" > 1000000(注意字段名带双引号)。
  3. 在下方设置这条规则的专属样式:比如红色、14pt、加粗、带阴影。
  4. 重复步骤2-3,添加新规则。例如第二条规则:"population" 500000,样式设为橙色、12pt。
  5. 勾选“显示所有规则”,点击“确定”。现在你的地图会自动按人口分级显示不同样式的标签!
小贴士:规则有优先级!上方的规则先执行。如果两条规则范围重叠(比如都包含某城市),只有排在上面的生效。建议把最特殊的规则放最顶上。

进阶技巧:用表达式玩转动态标签

规则标注真正的魔法在于“表达式引擎”。你不仅能按字段值筛选,还能动态拼接文字、计算数值、甚至调用函数。举个栗子:

CASE 
  WHEN "type" = 'river' THEN '🌊 ' || "name" || ' (' || round("length"/1000,1) || 'km)'
  WHEN "type" = 'highway' THEN '🛣️ ' || "name" || ' (限速' || "speed_limit" || 'km/h)'
  ELSE "name"
END

这段代码会让河流标签自动带上波浪emoji和长度(四舍五入到小数点后一位),高速公路则显示限速信息。是不是瞬间高大上?

避坑指南:新手常踩的3个雷区

  • 字段名大小写敏感:QGIS里字段名是区分大小写的,写错一个字母规则就失效。
  • 忘记开“标注”总开关:在图层属性顶部记得勾选“标注此图层”。
  • 规则冲突没排序:如前所述,规则从上到下执行,重叠部分只有第一条有效,务必检查顺序。

总结:规则标注 = 条件判断 + 视觉设计

说到底,QGIS规则标注就是把数据库查询逻辑和图形设计结合的神器。掌握它,你就不再是个“打标签的工人”,而是能驾驭复杂信息可视化的“地图导演”。下次老板再提“分三类显示不同样式”,你可以微微一笑,5分钟搞定。

你在项目中用规则标注解决过什么奇葩需求?或者卡在哪一步了?评论区甩出来,Dr. Gis在线帮你拆解!

相关文章