Використання підстановок для заголовків стовпців у QGIS Field Calculator?


10

Я знаю, що ви можете використовувати символи для таких полів (у Польовому калькуляторі):

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

Чи можете ви зробити щось подібне для самих заголовків стовпців?

Я запитую це, тому що я приєднуюся до декількох шарів (використовуючи властивості Joins ), і мені було б легше редагувати один набір фільтрів, а не редагувати кілька фільтрів, оскільки в назви стовпців доведеться включати назву об'єднаного шару.

Я використовую QGIS 2.2.

Відповіді:


4

Вибачте. Замісні знаки використовуються для рядків , і, на жаль, подвійні лапки навколо назви стовпця не означають, що це рядок. Назви стовпців - це "ідентифікатори", які, на мою думку, в основному є іменами об'єктів, але я не експерт. Це не означає, що немає способу зробити те, що ви просите, але це не відбудеться в польовому калькуляторі.


Дякую Заку, я розумію, що стовпці / поля є "ідентифікаторами", було б добре, якби вони могли якось включити його. Я все одно прийму цю відповідь все-таки :)
Йосип

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.