原创 西西艾尔 GIS二师兄 2022-07-18 21:00 发表于浙江 收录于合集#QGIS3个 GIS软件的字段计算器是一个非常强大的工具,通常他可以让我们批量处理属性表数据,筛选、清洗、规范、整合各个字段数据。 对比行业标杆的ArcGIS,QGIS的字段计算器自带函数显然更全。这篇文章介绍常用的QGIS字段计算器函数,让你深入了解如何使用。一、String_to_array 函数地址 = ['Street', 'Macho', '1']如果我们想从这个数组中获取一个元素,我们将通过它的索引来访问它。也就是说,对于street值是address[0]。QGIS 有几个使用数组的表达式,输入array都会显示举个例子。我们有一个字段(地址),它指示由连字符分隔的街道的交叉点。string_to_array(地址,'-')[0]二、修剪功能为上一个结果添加修剪功能,嵌套函数,这个空格将被删除。
三 、带有正则表达式的函数正则表达式是用于在文本字符串中查找特定字符组合的模式,广泛用于计算。regexp_substr('Silver Street nº1 left','\\d+') 同样通过regexp_replace函数使用正则表达式,我们可以替换“Avda”。通过“大道”regexp_replace('Avda. Plata nº1', 'Avda.', 'Avenida') 另一种可能性是切换字符串顺序,如下例所示,我们将文本“hao ma, ”更改为“ma hao”regexp_replace('hao, ma','(.*),(.*)','\\2 of \\1')四、合并字符串将多个字符串连接为一个。我们可以使用它来获取完整邮政地址的文本。concat('Paseo','de','Los Patios','nº','1')
五、格式化它比前一个功能更进一步。它允许我们使用参数格式化输出。format('%1 of %2 nº %3', 'Paseo', 'Los Patios', '1')六、大小写七、取给定字符right('Comarca road CO-234', 6) 八、CASE 条件句在以下示例中,已通过函数收集并规范了将道路指示为大道的可能方式。CASE WHEN “street” like 'Av %' THEN regexp_replace("street", 'Av', 'Avenue') WHEN "street" like 'Avd %' THEN regexp_replace("street", 'Avd', 'Avenue') WHEN “street”,like“Avd”。%' THEN regexp_replace("street", 'Avd.', 'Avenida') ELSE "street" END GIS二师兄 GIS杂烩 65篇原创内容 公众号
|