QGIS Field Calculator에 사용 된 방정식을 저장 하시겠습니까?


10

새로 계산 된 점의 특정 값을 계산하려고합니다. 따라서 필드 계산기를 사용하여 값을 결정하는 방정식을 작성합니다.

새로운 작업을 시작할 때 다시 입력 할 필요가 없도록 방정식을 저장하는 방법이 있습니까?

여러 점에 대해 스타일과 기호를 저장하는 방법과 비슷한 것입니다.


이것은 좋은 기능 요청이며 추가하기가 쉽습니다.
Nathan W

답변:


5

QGIS는 필드 계산기에서 마지막으로 사용한 방정식을 "최근"탭에 저장합니다. 여기서 두 번 클릭하여 재사용 할 수 있습니다.

필드 calc의 img


OP가 나중에 다른 방정식을 사용하지 않은 경우에 맞습니다. 그러나 OP가 새로운 방정식을 사용하면 시간이 지나면 사라집니다. Recent용기는 일시적이다.
ahmadhanb

5

새 함수에서 방정식을 작성할 수 있으며 계산을 다시 적용하려면 함수를 호출하기 만하면됩니다.

필드 계산기를 열고 Function Editor탭을 클릭 new file한 다음 기능을 편집하십시오. 를 선택하십시오 load. 현재 ok는 사용할 수 없습니다.

Expression탭으로 돌아가서 custom기능 그룹을 선택하고 기능을 두 번 클릭하십시오. 업데이트 할 필드를 선택하고를 누르십시오 ok.


필드 값과 상수 만 사용하려는 경우로 시작하는 기본 함수 서명을 편집 할 수 있습니다 value1. 내 예제에서 나는 그것을 제거했지만이 필드를 사용하여 새로운 인수를 전달할 수 있습니다.

그런 다음 feature["fieldName"]....을 사용하여 피처 필드 값에 액세스 할 수 있습니다 . 해당 필드를 포함하는 레이어 에서만 이 함수를 호출하도록주의 하십시오!

@qgsfunction(args='auto', group='Custom')
def funcTestCalc( feature, parent):
    return feature["fieldA"]+feature["fieldB"];

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오


3

@LaughU의 솔루션 외에도 모든 필드 계산기 작업을 그래픽 모델에 통합 한 다음 모델을 저장하고 실행할 수 있습니다. 그러나 열 이름은 항상 동일해야합니다.


2

기존 도면층에 새 점을 추가하고 다른 점과 동일한 점에 대해 동일한 계산을 실행하려는 경우 다음과 같은 두 가지 유용한 기능이 있습니다.

가상 필드

가상 필드는 모든 새 속성에 대한 표현식을 자동으로 계산합니다. 정기적으로 업데이트됩니다. 예를 들어 "위도"라는 가상 필드의 경우 expression을 사용할 수 있습니다 $y.

가상 필드의 장단점 :

  • 새 포인트를 추가 할 때마다이 필드에 표현식 출력이 자동으로 추가됩니다.
  • 식 출력이 변경 될 때마다 자동으로 업데이트됩니다. 예에서 점을 이동하면 "위도"값이 자동으로 변경됩니다.
  • 가상 필드 값을 편집 할 수 없습니다.
  • 가상 필드는 쉐이프 파일 (또는 레이어의 형식)이 아닌 QGIS 프로젝트 파일의 일부로 저장됩니다. 따라서 다른 프로젝트에서 레이어를 열면 가상 필드가 없습니다.

기본 필드 값이있는 일반 필드

표현식을 기반으로 기본값을 갖도록 필드를 설정할 수 있습니다. 새 점을 만들면 해당 특성이 기본값으로 자동 채워집니다. 속성 값을 변경할 수 있습니다. 자동으로 업데이트되지 않습니다. *

기본 필드 값의 장단점 :

  • 새 포인트를 추가 할 때마다이 필드에 표현식 출력이 자동으로 추가됩니다.
  • 자동으로 업데이트되지 않습니다. 이 예에서는 기존 지점을 이동 한 경우 "위도"값이 업데이트되지 않음을 의미합니다.
  • 이 필드의 값을 변경할 수 있습니다.
  • shapefile의 일부로 저장되었습니다. 따라서 다른 프로젝트에서 레이어를 열면 속성 테이블에이 필드가 있습니다.

* QGIS 3.2에서, 기본 필드 값은 (선택적으로) "업데이트시 기본값 적용"으로 설정 될 수 있습니다. 이 옵션을 사용하면 기본값이 $y현재 값인 지점을 이동 하면 새 y 좌표로 바뀝니다.


QGIS 3.2에서 기본 필드 값을 자동 업데이트로 설정할 수 있다고 생각합니다.
she_weeds

@she_weeds 지적 해 주셔서 감사합니다. 해당 정보를 포함하도록 답변을 업데이트하겠습니다.
csk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.