QGIS 필드 계산기에서 조건문 작성


15

이 주제에 대한 다른 Q & A를 찾아 보았지만, 내가 뭘 하려는지 아무도 언급하지 않았습니다.

큰 데이터 세트가 있고 특정 양 (이 경우 20) 이상의 값을 하나의 필드에서 검색하고 싶습니다. 값이 20보다 큰 경우 다른 필드에서 1의 값을 반환하고 싶습니다. 0의 값을 돌려줍니다.

나는 운없이 무언가를 쓰려고 노력했다.

QGIS 2.8을 사용하고 있습니다.


Qgis 에서이 표현을 찾으려고하지만 결과가 없습니다. "A"= '1'및 "LENGHT"<= 1 인 경우 "C"= '
4'ELSE

답변:


29

쉬운 방법

가장 간단한 방법은 표현식을 사용하여 새 필드를 만드는 것입니다

"cat" > 20

이 표현식은 부울 True / False로 평가되며 정수 1 또는 0으로 표시됩니다.

가상 필드

가상 필드를 만들 수도 있습니다. 가상 필드는 값이 cat변경 되는 경우 (예 : 레이어 편집) 업데이트 된 값을 자동으로 반환합니다 . 가상 필드의 값은 데이터 세트에 저장되지 않으며이 QGIS 프로젝트 내에서만 볼 수 있습니다.

부울 이상

단순한 "보다 큼"이상인 경우 다음을 사용해야합니다.

CASE 
  WHEN "cat" > 100 THEN 2
  WHEN "cat" > 10 THEN 1
  ELSE 0
END

6

방금 이것을 테스트했습니다 : 조건을 여러 번 사용할 수 있습니다.

WHEN    cat =   1   THEN    205
WHEN    cat =   2   THEN    215
WHEN    cat =   3   THEN    225
WHEN    cat =   4   THEN    235
...

....


4

아마도 이런 것 :

case 
when "FIELD" > 20 then 1
else 0 
end

필드 계산기

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