Использование подстановочных знаков для заголовков столбцов в QGIS Field Calculator?

10

Я знаю, что вы можете использовать подстановочные знаки для таких полей (в Калькуляторе полей):

case when "column" ILIKE '%example%' then 1
else 0
end

Можете ли вы сделать что-то подобное для самих заголовков столбцов?

Я спрашиваю об этом, потому что я присоединяюсь к нескольким слоям (используя свойства Joins ), и мне было бы легче редактировать один набор фильтров вместо редактирования нескольких фильтров, поскольку имена столбцов должны будут включать имя объединенного слоя.

Я использую QGIS 2.2.

Джозеф
источник

Ответы:

4

Сожалею. Подстановочные знаки предназначены для использования в строках , и, к сожалению, двойные кавычки вокруг имени столбца не означают, что это строка. Имена столбцов - это «идентификаторы», которые, я думаю, в основном являются именами объектов, но я не эксперт. Это не значит, что нет способа сделать то, что вы просите, но это не произойдет в полевом калькуляторе.

Zack
источник
Спасибо, Зак, я понимаю, что столбцы / поля являются «идентификаторами», было бы неплохо, если бы они могли как-то включить его. Я все равно приму этот ответ сейчас :)
Джозеф
6

С появлением редактора функций в QGIS 2.8 появилась возможность перебирать имена полей и выполнять некоторый анализ:

from qgis.core import *
from qgis.gui import *

@qgsfunction(args='auto', group='Custom')
def fields(feature, parent):
    layer = qgis.utils.iface.activeLayer()
    field_names = [field.name() for field in layer.fields()]
    for name in field_names:
        if "some_name" in name:
            # Do something
Джозеф
источник