Jeśli klikniesz warstwę prawym przyciskiem myszy , a Properties > Fields
następnie przejdziesz do opcji Text Edit
, możesz ustawić wartości domyślne (wpisując wartość lub używając wyrażenia), które pojawią się automatycznie w tabeli atrybutów.
Niestety użycie wyrażenia typu $rownum
(które powinno zapewnić unikalne identyfikatory dla twoich funkcji) nie działa (domyślam się, ponieważ funkcja musi być najpierw zatwierdzona?). Ale możemy stworzyć funkcję, która zlicza liczbę wykonanych funkcji i dodaje 1. Możesz uzyskać dostęp do edytora funkcji, jak pokazano na obrazku:
Następnie w Edytorze funkcji utwórz nowy plik lub edytuj istniejący i użyj następującego kodu:
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
Kliknij Załaduj, a następnie przejdź do zakładki Wyrażenie obok i wstaw wyrażenie:
update()
Następnie kliknij OK i powinieneś zobaczyć wartość podglądu:
Kliknij OK , Zastosuj itp. I mam nadzieję, że teraz, gdy utworzysz funkcję, automatycznie utworzy unikalny identyfikator w wybranym polu.