QGIS Field Calculator에서 열 헤더에 와일드 카드를 사용합니까?


10

필드 계산기에서와 같이 필드에 와일드 카드를 사용할 수 있다는 것을 알고 있습니다.

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

열 머리글 자체에 대해 비슷한 것을 할 수 있습니까?

조인 속성을 사용하여 여러 레이어를 조인 하기 때문에 이것을 묻습니다 . 열 이름에 조인 된 레이어 이름이 포함되어야하기 때문에 여러 필터를 편집하는 대신 하나의 필터 집합을 쉽게 편집 할 수 있습니다.

QGIS 2.2를 사용하고 있습니다.

답변:


4

죄송합니다. 와일드 카드는 strings 에 사용 되며 불행히도 열 이름 주위의 큰 따옴표는 문자열임을 의미하지 않습니다. 열 이름은 "식별자"이며 기본적으로 개체 이름이라고 생각하지만 전문가는 아닙니다. 그것은 당신이 요구하는 것을 할 수있는 방법이 없다는 것을 의미하지는 않지만 필드 계산기에서는 일어나지 않을 것입니다.


감사합니다 Zack, 열 / 필드가 "식별자"라는 것을 알고 있습니다. 어떻게 든 포함시킬 수 있다면 좋을 것입니다. 나는이 답변을 어쨌든 지금 받아 들일 것이다 :)
Joseph

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.