QGIS表达式中所使用的变量为符号化参数的设置、查询构建和数据更新等领域提供了“令人兴奋的各种可能性(the exciting possibilities variables unlock)”。表达式虽然强大,但目前缺乏系统的资料,中文资料更是少之又少,学习曲线非常陡峭,使得大多数人对其望而却步。
本文按照变量的作用域,从全局变量开始,逐级展开,力图提供变量使用说明的同时,更突出变量的使用范围和上下文环境,以帮助进一步理解变量的使用方法和注意事项。
QGIS中的变量遵从层级结构,类似css的继承规则,根据作用范围的大小,变量可以分为全局变量、工程变量、地图变量、图层变量、打印布局变量、地图集变量、上下文变量等。
本文在整理时,力求全面覆盖QGIS目前所有变量,然而,由于变量使用范围广泛,不仅QGIS核心可以定义变量,第三方提供的插件和算法也可以根据需要定义与自己插件或算法相关的变量,所以,本文难以做到100%全部覆盖。另外,在撰写说明的过程中,由于水平有限,难免存在理解不到位的地方,希望大家发现时不吝指正。
如果想进一步了解表达式相关知识,可以扩展阅读以下几篇推文:
-
初识QGIS表达式
-
QGIS表达式中的变量
-
QGIS表达式中的函数
-
QGIS中如何用表达式设置标签样式
-
使用QGIS表达式设置矢量样式
-
全局变量(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> |
今天的文章QGIS 3.16表达式变量大全(建议收藏)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/63334.html