Một phương pháp rất, rất NHANH CHÓNG và dễ dàng để sắp xếp một lớp shapefile (sử dụng các trường khác nhau).
1 - Xuất shapefile sang CSV (chọn dấu tách tốt, như dấu chấm phẩy) và thêm GEOMETRY bằng "tùy chọn lớp" -> "NHƯ WKT"
2 - Mở file.csv bằng LIBREOFFICE (calc) và sử dụng MENU-> DATA-> SORT (rất trực quan, mạnh mẽ và RẤT NHANH (Sắp xếp trên 50000 tính năng bằng cách sử dụng 3 cột như sắp xếp khóa, tăng dần và giảm dần, và i có một cuốn sổ rất chậm;))
3 - Lưu lại tệp từ LIBREOFFICE (calc) dưới dạng "Văn bản CSV" (đánh dấu "Chỉnh sửa cài đặt bộ lọc" và chọn dấu phân cách là 'dấu chấm phẩy', không quan trọng cảnh báo từ libreoffice, lưu như CSV và chọn 'dấu chấm phẩy' làm dấu phân cách)
4 - Từ Qgis mở tệp mới.csv (và được sắp xếp) từ menu 'Thêm lớp "-> Thêm lớp văn bản phân cách.
PROS: - Rất, rất nhanh, sắp xếp từ nhiều trường khác nhau - Hoạt động tốt với dữ liệu được mã hóa UTF_8
Nhược điểm: - Cần LIBREOFFICE (nhưng nó là phần mềm nguồn mở)
Phương pháp thay thế để sắp xếp (duy trì điểm 2 và 3, và nhanh nhất) bằng bàn điều khiển (BASH)
Mở bàn điều khiển và đi đến nơi bạn có file.csv
Giả sử bạn muốn sắp xếp tệp với khóa:
trường6 (desc) + trường1 (ascen) + trường3 (giảm dần)
vì vậy lệnh sẽ là:
sắp xếp -t ';' -k6,6r -k1,1 -k3,3r tệp.csv> file_sort.csv
GHI CHÚ:
- bạn có thể thêm -kn, n cho mỗi số cột 'n' (trường) bạn cần thêm vào "khóa sắp xếp" của mình
- thêm 'r' sau mỗi n, n sẽ sắp xếp theo chế độ đảo ngược (gốc)
- Phải vượt qua dấu phân cách ký tự được sử dụng vào tệp csv với -t param