Apakah mungkin untuk mengurutkan beberapa bidang sekaligus pada QGIS?
Misalnya, saya ingin mengurutkan tabel berdasarkan nama negara, dan kemudian di dalam setiap negara bagian, mengurutkan berdasarkan nama county.
Ini akan sama dengan opsi Penyortiran Tingkat Lanjut yang tersedia di ArcMap.
sumber
Anda dapat menggunakan plugin Sort and Number . Ini memungkinkan Anda untuk mengurutkan tabel atribut hingga 3 bidang, lalu membuat bidang tambahan yang berisi urutan fitur yang diurutkan.
Penafian: Saya pembuat plugin.
sumber
sort()
fungsi Python , saya bertanya-tanya mengapa ini sangat lambat. Saya akan mencoba menemukan beberapa trik untuk membuat proses lebih cepat di versi masa depan.Jika OK untuk menyimpan hasilnya secara permanen, Anda dapat mengurutkan shapefile dengan GDAL
Kurang dari 3 menit dengan sebuah shapefile memiliki satu juta poligon.
sumber
Plugin DB Manager di QGIS sekarang memiliki simpul 'Virtual Layers' yang memungkinkan Anda untuk menulis perintah SQL terhadap shapefile yang dimuat ke proyek QGIS Anda.
Jadi sekarang setelah Anda memiliki kemampuan ini, logika SQL untuk mengurutkan berdasarkan beberapa bidang ada dalam pernyataan ORDER BY, menggunakan asc (ascending), desc (Descending), dan Anda dapat merangkai mereka bersama untuk mengurutkan berdasarkan beberapa kolom:
Bonus tambahan adalah Anda akan belajar lebih banyak SQL sehingga ketika Anda bosan dengan shapefile dan sebagian besar untuk PostGIS lompatannya tidak akan terlalu hebat !!!
sumber
Ini sekarang dapat dilakukan tanpa plugin atau pekerjaan khusus basis data, setidaknya untuk versi 3.2+. Untuk mengurutkan berdasarkan beberapa kolom:
concat()
bersama dengan bidang yang ingin Anda urutkan berdasarkan, dalam urutan yang tepat (mis.concat("column1", "column2")
). Pratinjau keluaran harus ditampilkan di bawah kode Anda.Fungsionalitas ini ditambahkan melalui edisi # 1137 , dan tercakup dalam versi terbaru (pengembangan) dari manual pengguna .
sumber
concat("col1", right( ('000' || tostring( "col2" )), 4))
Ya, sekarang tahun 2018 jadi saya tidak percaya ini belum dijawab.
Buka tampilan tabel atribut dan klik kanan pada kolom apa pun, lalu pilih Sort ...
Jendela dialog Konfigurasikan urutan sortir tabel atribut terbuka sekarang juga dengan editor ekspresi penuh
Gunakan fungsi COALESCE dengan kolom yang diinginkan, misalnya, ini akan mengurutkan tabel dengan 3 kolom (pertama dengan ID lalu VERSION dan kemudian fid)
Mengklik OK akan mengurutkan tabel
sumber
Anda tidak dapat (setidaknya tidak saat ini). Maaf!
Lihat dokumentasi QGIS dan gulir ke bawah ke baris terakhir.
Pekerjaan buruk adalah menarik DBF Shapefile ke Excel. Sortir di sana dan simpan hasilnya. Atau impor Shapefile Anda ke PostGIS atau SpatialLite di mana Anda memiliki fungsi penyortiran yang lebih besar. Pada dasarnya, Anda harus memotong QGIS untuk penyortiran tingkat lanjut.
sumber
Seperti yang disarankan oleh @Sylvester Sneekly, jika data Anda dimuat ke RDBMS seperti PosGIS atau SpatialLite, Anda bisa mempertimbangkan membuat tampilan basis data dalam RDBMS yang mengatur data tabular, dan kemudian memuat tampilan yang dipilih ke dalam QGIS sebagai layer.
sumber