답변:
새 함수에서 방정식을 작성할 수 있으며 계산을 다시 적용하려면 함수를 호출하기 만하면됩니다.
필드 계산기를 열고 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"];
기존 도면층에 새 점을 추가하고 다른 점과 동일한 점에 대해 동일한 계산을 실행하려는 경우 다음과 같은 두 가지 유용한 기능이 있습니다.
가상 필드
가상 필드는 모든 새 속성에 대한 표현식을 자동으로 계산합니다. 정기적으로 업데이트됩니다. 예를 들어 "위도"라는 가상 필드의 경우 expression을 사용할 수 있습니다 $y
.
가상 필드의 장단점 :
기본 필드 값이있는 일반 필드
표현식을 기반으로 기본값을 갖도록 필드를 설정할 수 있습니다. 새 점을 만들면 해당 특성이 기본값으로 자동 채워집니다. 속성 값을 변경할 수 있습니다. 자동으로 업데이트되지 않습니다. *
기본 필드 값의 장단점 :
* QGIS 3.2에서, 기본 필드 값은 (선택적으로) "업데이트시 기본값 적용"으로 설정 될 수 있습니다. 이 옵션을 사용하면 기본값이 $y
현재 값인 지점을 이동 하면 새 y 좌표로 바뀝니다.