Wypełnianie kolumny kolejnymi liczbami w QGIS?

30

Tworzę nową kolumnę w mojej tabeli atrybutów i ma ona wartość domyślną (na przykład 0). Chcę (prawdopodobnie przy użyciu kalkulatora pola), aby wiersz 1 miał wartość 1, wiersz 2 = 2 itd., Podobnie jak indeks numerowany.

Byłbym wdzięczny za przykład kodu dla kalkulatora pola (w tym użycie $rownum(myślę, że potrzebuję tego, aby przejść do linii)).

Shepherdjo
źródło

Odpowiedzi:

54

Wystarczy wpisać $rownum(QGIS 2) lub @row_number(QGIS 3+) jako wyrażenie. Proste. :)

Aktualną listę wszystkich funkcji kalkulatora pola można przeczytać w oficjalnych dokumentach .

lynxlynxlynx
źródło
Podążyłem za tobą, jednak bez wyraźnego powodu liczby zmieniają się w jednym punkcie. Doskonale działał od wiersza 1 do wiersza 129, a po przejściu do 789 ... czy istnieje sposób na rozwiązanie tego?
Guillaume,
1
Upewnij się, że nie masz aktywnego filtra wyświetlania, ponieważ nie ma powodu, aby skakał.
lynxlynxlynx
7

Jeśli korzystasz z QGIS 3, musisz użyć @row_number

wprowadź opis zdjęcia tutaj

Leo Cardona
źródło
1

Dla mnie najlepszym i najłatwiejszym sposobem jest po prostu $id, zwróci idliczbę do każdego wiersza, indeksując ją 0.

Vlad
źródło
Zwraca każdy identyfikator funkcji, ale sekwencja niekoniecznie zaczyna się od 0 i może mieć brakujące wartości. Dzieje się tak po usunięciu istniejącej funkcji (tj. Zacznij od warstwy mającej 3 funkcje, usuń # 2, wywołanie $ id zwróci 0 i 2.)
JGH
Masz rację, jeśli brakuje wartości, wystąpi problem z rzeczywistym numerem indeksującym. Myślę jednak, że to wywołanie $idpo usunięciu wierszy powinno się potwierdzić @row_number. Jeśli poprawnie zrozumiałem twoje potwierdzenie.
Vlad
nie, pozostawi dziury
JGH