Подсчет количества маршрутов в ячейке
Например, поле RouteNumbers содержит номера маршрутовlength( "RouteNumbers")-length( replace( "RouteNumbers" ,';',''))+1
Или использование массива:
array_length( string_to_array("RouteNumbers",';'))
Во втором случае можно активно использовать возможности массива (взять минимум, максимум и так далее)
Извлечение максимальное числа из текста типа "12-15 этажей"
Вставить скрипт в Function Editor и выбрать эту функцию в Custom
from qgis.core import *
from qgis.gui import *
import re
@qgsfunction(args='auto', group='Custom')
def get_num(value1, feature, parent):
try:
digit_string = re.sub('[^\d.,]' , ',', value1)
num = max([int(s) for s in digit_string.split(',') if s.isdigit()])
return num
except:
return None
Подсчет площади полигона, длины линии, периметра
$area$length
$perimeter
Для расчета геометрических показателей без учета кривизны Земли используются формулы типа area ($geometry) и т.д. Актуально для работы с данными на основе топосъемок.
Фильтр по списку значений выбранного поля
“FIELD” IN (‘value1’, ‘value2’, ‘value3’,...)“FIELD” NOT IN (‘value1’, ‘value2’, ‘value3’,...)
Условия
if, CASE и так далее
Комментариев нет:
Отправить комментарий