Apakah ada cara untuk menetapkan nomor baris untuk tabel diurutkan berdasarkan kolom di QGIS?

13

Kalkulator bidang memiliki fungsi hebat di bawah "Catatan" yang disebut "$ rownum" yang mengembalikan (menetapkan) jumlah baris saat ini.

Apakah ada cara untuk membuatnya bekerja bersama dengan penyortiran? Katakanlah saya ingin mengurutkan tabel dengan kolom "panjang" dan mendapatkan urutan (urutan) garis dengan panjang dari terpendek ke terpanjang.

Saya tahu saya dapat menggunakan beberapa perangkat lunak lembar bentang kantor dengan mudah untuk ini untuk mengurutkan berdasarkan kolom dan mengisi kolom baru dengan urutan (urutan). Tapi saya lebih suka melakukan seluruh pekerjaan di QGIS.

Pembaruan: Sebagai solusinya ada juga Bagaimana cara mengubah urutan fitur dalam sebuah shapefile? - menggunakan plugin mmqgis dan fungsi ubah / sortir dan setelah itu gunakan "$ rownum" pada file yang baru disimpan.

Miro
sumber

Jawaban:

19

Jadi, saya telah memberi kode pada plugin ( Urutkan dan Nomor ) untuk menyelesaikan masalah Anda. Ini memungkinkan Anda untuk memilih hingga 3 bidang dan memesan tabel atribut Anda sesuai dengan bidang ini. Kemudian, nomor tabel atribut di bidang baru (bernama "pesanan" secara default), mulai dari 1.

masukkan deskripsi gambar di sini

ArMoraer
sumber
Itu terlihat luar biasa. Saya akan menguji plugin ini sekarang, terima kasih.
Miro
Ketika diinstal untuk pertama kalinya dalam 2,8 muncul dengan beberapa kesalahan tetapi setelah pengujian pada 2,14 dan kembali pada 2,8 itu bekerja sangat baik. Terima kasih.
Miro
@Miro: sama-sama. Saya berharap ini akan bermanfaat bagi orang lain juga.
ArMoraer
@ArMoraer - Plugin hebat!
Joseph
1
Bisakah Anda recode ini untuk Bonn 3 -> saya suka alat ini!
Lowsparked
7

Saya tidak yakin Anda bisa dengan kalkulator lapangan, tetapi Anda bisa menggunakan lapisan virtual dengan permintaan seperti:

SELECT 
    * ,
    (SELECT count(*) FROM your_layer AS b WHERE a.length >= b.length) AS length_position
FROM your_layer AS a 
ORDER BY a.length
Pierma
sumber
Terima kasih, saya masih bekerja dengan rilis jangka panjang 2.8 jadi ini pertama kalinya saya menemukan lapisan virtual di 2.14. Selain itu sangat sangat sangat lambat berfungsi. Secara umum ini dapat diterima meskipun saya akan menunggu sedikit lebih banyak untuk beberapa jawaban lain jika ada.
Miro