답변:
레이어 를 마우스 오른쪽 버튼으로 클릭Properties > Fields
하고을 클릭 하면 속성 테이블에 자동으로 표시되는 값을 입력하거나 표현식을 사용하여 기본값Text Edit
을 설정할 수 있습니다 .
불행히도 $rownum
(기능의 고유 ID를 가져와야 함) 과 같은 표현식을 사용하면 작동하지 않습니다 (기능이 먼저 커밋되어야하기 때문입니다). 그러나 생성 된 기능의 수를 세고 추가하는 함수를 만들 수 있습니다 . 이미지와 같이 함수 편집기에 액세스 할 수 있습니다 .
그런 다음 함수 편집기에서 새 파일을 작성하거나 기존 파일을 편집하고 다음 코드를 사용하십시오.
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def update(feature, parent):
layer = qgis.utils.iface.activeLayer()
x = layer.featureCount()
return x + 1
로드 를 클릭 한 후 옆 에있는 표현식 탭으로 이동하여 표현식을 삽입하십시오.
update()
그런 다음 확인을 클릭 하면 미리보기 값이 표시됩니다.
확인 , 적용 등을 클릭 하면 기능을 만들 때 선택한 필드에 자동으로 고유 ID가 생성됩니다.
벡터 기능을 만들거나 수정할 때 자동 속성 업데이트를 위해 플러그인 "AutoFields" 를 사용할 수 있습니다