回答:
レイヤーを右クリックしてに移動しProperties > Fields
、をクリックすると、属性テーブルに自動的に表示Text Edit
されるデフォルト値を設定できます(値を入力するか式を使用して)。
残念ながら、$rownum
(機能の一意のIDを取得する)などの式を使用しても機能しません(機能を最初にコミットする必要があるためです)。ただし、作成された機能の数をカウントして1を追加する関数を作成できます。画像に示すように、関数エディターにアクセスできます。
次に、関数エディターで、新しいファイルを作成するか、既存のファイルを編集して、次のコードを使用します。
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()
次に、[ OK ]をクリックすると、プレビュー値が表示されます。
[ OK]、[ 適用]などをクリックします。機能を作成すると、選択したフィールドに一意のIDが自動的に作成されます。
ベクターフィーチャを作成または変更するときに、自動属性更新にプラグイン「AutoFields」を使用できます