Mengisi kolom dengan angka berurutan dalam QGIS?

30

Saya membuat kolom baru di tabel atribut saya dan memiliki nilai default (misalnya 0). Saya ingin (mungkin menggunakan kalkulator lapangan) memiliki hasil bahwa baris 1 memiliki nilai 1, baris 2 = 2 dan seterusnya, sama seperti indeks bernomor.

Saya akan berterima kasih untuk contoh kode untuk kalkulator lapangan (termasuk penggunaan $rownum(saya pikir saya perlu ini untuk beralih ke saluran)).

Gembala
sumber

Jawaban:

54

Cukup cantumkan $rownum(QGIS 2) atau @row_number(QGIS 3+) sebagai ekspresi. Sederhana seperti itu. :)

Daftar terbaru dari semua fungsi kalkulator lapangan dapat dibaca di dokumen resmi .

lynxlynxlynx
sumber
Saya mengikuti pendekatan Anda, namun tanpa alasan yang jelas, jumlahnya berubah pada satu titik. Ini bekerja dengan sempurna dari baris 1 ke baris 129, dan setelah itu bergeser ke 789 ... apakah ada cara untuk menyelesaikan ini?
Guillaume
1
Pastikan Anda tidak memiliki filter tampilan aktif, karena tidak ada alasan untuk melompat.
lynxlynxlynx
7

Jika Anda menggunakan QGIS 3, Anda harus menggunakan @row_number

masukkan deskripsi gambar di sini

Leo Cardona
sumber
1

Bagi saya cara terbaik dan termudah adalah hanya $id, ini akan mengembalikan idnomor dari setiap baris yang diindeks 0.

Vlad
sumber
Ini mengembalikan setiap ID fitur, tetapi urutannya tidak harus dimulai pada 0 dan mungkin memiliki nilai yang hilang. Ini adalah kasus setelah menghapus fitur yang ada (yaitu mulai dengan layer memiliki 3 fitur, hapus # 2, panggilan ke $ id akan mengembalikan 0 dan 2.)
JGH
Anda benar, jika ada nilai yang hilang, maka akan ada masalah dengan nomor pengindeksan nyata. Namun, saya kira panggilan itu $id, setelah menghapus baris harus menguatkan @row_number. Jika saya benar memahami afirmasi Anda.
Vlad
tidak, itu akan meninggalkan lubang
JGH