QGIS 3.16表达式变量大全(建议收藏)

QGIS表达式中所使用的变量为符号化参数的设置、查询构建和数据更新等领域提供了“令人兴奋的各种可能性(the exciting possibilities variables unlock)”。表达式虽然强大,但目前缺乏系统的资料,中文资料更是少之又少,学习曲线非常陡峭,使得大多数人对其望而却步。

 

本文按照变量的作用域,从全局变量开始,逐级展开,力图提供变量使用说明的同时,更突出变量的使用范围和上下文环境,以帮助进一步理解变量的使用方法和注意事项。

 

QGIS中的变量遵从层级结构,类似css的继承规则,根据作用范围的大小,变量可以分为全局变量、工程变量、地图变量、图层变量、打印布局变量、地图集变量、上下文变量等。

 

本文在整理时,力求全面覆盖QGIS目前所有变量,然而,由于变量使用范围广泛,不仅QGIS核心可以定义变量,第三方提供的插件和算法也可以根据需要定义与自己插件或算法相关的变量,所以,本文难以做到100%全部覆盖。另外,在撰写说明的过程中,由于水平有限,难免存在理解不到位的地方,希望大家发现时不吝指正。

 

如果想进一步了解表达式相关知识,可以扩展阅读以下几篇推文:

 

 

  • 全局变量(global variables)

 

全局变量在整个QGIS程序范围内均可以用于构建表达式,且其变量取值相同。例如对于全局变量“@qgis_os_name”,无论是在更新字段时,还是在筛选要素时,打开表达式构建器,都能看到变量列表中存在该变量,且取值均为当前操作系统名称,即“windows”。

 

全局变量的查看和设置方法为:点击菜单【设置】->【选项】,打开全局选项设置对话框,切换到【变量】标签页,可以看到QGIS所有的全局变量,也可以在此处点击下方的【+】添加自定义全局变量。

 

变量名

说明

举例

qgis_locale

QGIS当前使用的本地化语言环境

中文为'zh-Hans'

qgis_os_name

操作系统名称

 ‘windows’, ‘linux’ 或   ‘osx’

qgis_platform

QGIS产品平台

 ‘desktop’或 ‘server’

qgis_release_name

当前QGIS发行版名称

'Hannover'(版本名通常为召开社区会议的地点名称)

qgis_short_version

当前QGIS版本号

'3.16'

qgis_version

当前QGIS版本字符串,由版本号+发行版名称组成

'3.16.7-Hannover'

qgis_version_no

当前QGIS内部版本号

31607

user_account_name

当前用户的操作系统账户名称

 

user_full_name

当前用户的操作系统用户名(若可用)

 

 

  • 工程变量(project variables)

 

工程变量是一系列与工程设置有关的变量集合,在本工程范围内均可使用。点击菜单【工程】->【属性…】,打开属性对话框,切换到【变量】标签页,即可看到当前所有变量及其取值,也可以在属性对话框点击下方的【+】添加自定义的工程变量。

 

变量名

说明

举例

project_abstract

工程描述信息,读取自工程元数据,可在工程属性中设置,默认为空

‘’

project_area_units

工程面积单位,用于计算几何面积

'平方米'

project_author

工程的作者信息,读取自工程元数据,可在工程属性中设置

'吴建玲'

project_basename

当前工程文件的基本名称(不包含文件路径和扩展名)

'sheng-2015-pop'

project_creation_date

当前工程的创建日期,读取自工程元数据,Datetime型

<日期时间:2021-06-10   12:10:44>

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值