QGIS中如何用表达式设置标签样式

地图中的标签(Label),实际上指的是传统地图制图学中的地图注记(Annotation)。标签是地图上的标注和各种文字说明,是地图的基本构成要素之一。和地图上其他符号一样,标签也是一种地图符号。

标签的设计包括标签内容、字体、字号、颜色、位置等,好的设计能使地图更整洁、美观、重点突出,使读者可以更快捷地识别出地理现象的分布规律。

在QGIS中,整洁美观的标签离不开表达式与标签设计的深度结合,表达式可以从标签内容、标签字体、字号、颜色、位置、方向、文字间隔、文字轮廓、背景、重叠的处理和牵引线等方面参与标签的设计,为标签样式设置提供更大的灵活性。

标签内容

标签设计首先要解决内容问题,即要在地图上显示什么文字。默认情况下,QGIS采用“单一标签”模式为地图添加标签,标签取值来源于图层属性表中的某个字段。点击【值】右侧的下拉按钮,可以看到当前图层对应的所有属性字段,选择任意字段,其内容就会以默认样式显示在地图上。以2020年地震数据为例,当选择地震发生地(LOCATION_NAME)字段作为标签内容时,默认样式如下图:

在这里插入图片描述
在专题地图中,需要重点突出专题内容,单一字段标签很难满足丰富性的需求,需要组合多个字段构建标签内容。例如,在地图上直观地标注地震发生的地点、时间、等级,如下图效果:

在这里插入图片描述
要达到上图效果,首先观察地震数据属性表内容:
在这里插入图片描述
我们需要三个方面的信息:地震发生地点、地震等级(EQ_PRIMARY)和地震时间

发生地点从属性字段LOCATION_NAME提取。

地震等级从属性字段EQ_PRIMARY提取。

时间的提取稍微复杂一些,从属性表可以看到, YEAR、MONTH、DAY、HOUR、MINUTE、SECOND六个字段对应地震发生的年、月、日、时、分和秒。在本例中,在地图上展示时间精度达到“日”即可,所以需要用表达式将YEAR、MONTH、DAY三个字段串接起来。在《QGIS表达式中的函数》中,曾经剖析过串接函数concat,它的作用是将多个字符串连接成一个字符串。本文将使用另一个字符串操作符“||”完成字符串合并,“||”操作符的功能与concat函数类似,区别在于:“||”只能连接两个字符串,而concat函数对参数的个数没有限制。例如,实现短横线连接年、月、日字段,两个函数的实现分别是:

concat(  "YEAR" ,'-' , "MONTH"  ,'-',  "DAY" 
  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值