Usando curingas para cabeçalhos de coluna na Calculadora de Campo QGIS?

10

Eu sei que você pode usar caracteres curinga para campos como esse (na Calculadora de campo):

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

Você pode fazer algo semelhante para os próprios cabeçalhos das colunas?

Eu pergunto isso porque estou juntando várias camadas (usando as propriedades Joins ) e seria mais fácil editar um conjunto de filtros em vez de editar vários filtros, já que os nomes das colunas precisarão incluir o nome da camada unida.

Estou usando o QGIS 2.2.

Joseph
fonte

Respostas:

4

Desculpa. Os curingas são para uso em seqüências de caracteres e, infelizmente, as aspas duplas ao redor do nome de uma coluna não significam que seja uma sequência. Os nomes das colunas são "identificadores", que eu acho que são basicamente nomes de objetos, mas não sou especialista. Isso não significa que não há como fazer o que você está pedindo, mas isso não acontecerá na calculadora de campo.

Zack
fonte
Obrigado Zack, eu entendo que colunas / campos são "identificadores", seria bom se eles pudessem incluí-lo de alguma forma. Eu vou aceitar essa resposta para agora de qualquer maneira :)
Joseph
6

Com a introdução do Editor de Funções no QGIS 2.8, é possível percorrer os nomes dos campos e executar algum tipo de análise:

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
Joseph
fonte