Colonna di riempimento con numeri consecutivi in ​​QGIS?


30

Creo una nuova colonna nella mia tabella degli attributi e ha un valore predefinito (ad esempio 0). Voglio (probabilmente usando il calcolatore di campo) avere il risultato che la riga 1 ha il valore 1, la riga 2 = 2 e così via, proprio come un indice numerato.

Sarei grato per un esempio di codice per il calcolatore di campo (incluso l'uso di $rownum(penso di averne bisogno per passare alla linea)).

Risposte:


54

$rownumInserisci semplicemente (QGIS 2) o @row_number(QGIS 3+) come espressione. Semplice come quella. :)

Un elenco aggiornato di tutte le funzioni del calcolatore di campo può essere letto nei documenti ufficiali .


Ho seguito il tuo approccio, tuttavia, per nessuna ragione apparente, i numeri cambiano a un certo punto. Ha funzionato perfettamente dalla riga 1 alla riga 129, e dopo essere passato a 789 ... c'è un modo per risolverlo?
Guillaume,

1
Assicurati di non avere un filtro di visualizzazione attivo, poiché non c'è motivo per saltare.
Lynxlynxlynx,



1

Per me il modo migliore e più semplice è giusto $id, questo restituirà un idnumero per ogni riga indicizzandolo 0.


Restituisce ogni ID funzione, ma la sequenza non inizia necessariamente da 0 e potrebbe avere valori mancanti. È il caso dopo aver eliminato una funzione esistente (ovvero iniziare con un livello con 3 funzioni, eliminare # 2, chiamare a $ id restituirà 0 e 2.)
JGH

Hai ragione, se mancano dei valori, allora ci sarà un problema con il numero di indicizzazione reale. Tuttavia, immagino che chiamare il $id, dopo aver eliminato le righe dovrebbe confermare @row_number. Se avessi capito correttamente la tua affermazione.
Vlad

no, lascerà buchi
JGH
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.