Có cách nào để gán số hàng cho bảng được sắp xếp theo cột trong QGIS không?


13

Máy tính trường có một chức năng tuyệt vời trong "Bản ghi" được gọi là "$ rownum" trả về (gán) số của hàng hiện tại.

Có cách nào để làm cho nó hoạt động cùng với sắp xếp? Hãy nói rằng tôi muốn sắp xếp bảng theo cột "chiều dài" và nhận thứ tự (chuỗi) của các dòng theo độ dài từ ngắn nhất đến dài nhất.

Tôi biết tôi có thể dễ dàng sử dụng một số phần mềm bảng tính văn phòng để sắp xếp theo cột và điền vào cột mới theo thứ tự (trình tự). Nhưng tôi thích làm toàn bộ công việc trong QGIS.

Cập nhật: Như cách giải quyết, cũng có Cách thay đổi thứ tự các tính năng trong một shapefile? - sử dụng plugin mmqgis và chức năng sửa đổi / sắp xếp và sau đó sử dụng "$ rownum" trên tệp đã lưu mới.

Câu trả lời:


19

Vì vậy, tôi đã mã hóa một plugin ( Sắp xếp và Số ) để giải quyết vấn đề của bạn. Nó cho phép bạn chọn tối đa 3 trường và sắp xếp bảng thuộc tính của bạn theo các trường này. Sau đó, nó đánh số bảng thuộc tính trong một trường mới (được đặt tên là "thứ tự" theo mặc định), bắt đầu từ 1.

nhập mô tả hình ảnh ở đây


Nó trông thật tuyệt Tôi sẽ kiểm tra plugin này ngay bây giờ, cảm ơn bạn.
Miro

Khi được cài đặt lần đầu tiên trong 2.8, nó đã xuất hiện một số lỗi nhưng sau khi thử nghiệm ở 2.14 và trở lại vào 2.8, nó hoạt động rất tốt. Cảm ơn bạn.
Miro

@Miro: bạn được chào đón. Tôi hy vọng nó cũng sẽ hữu ích cho những người khác.
ArMoraer

@ArMoraer - Plugin tuyệt vời!
Giuse

1
Bạn có thể mã hóa lại cái này cho Bon 3 -> tôi yêu công cụ này!
lowsparked

7

Tôi không chắc bạn có thể với máy tính trường, nhưng bạn có thể sử dụng một lớp ảo với truy vấn như:

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

Cảm ơn bạn, tôi vẫn làm việc với bản phát hành dài hạn 2.8 vì vậy đây là lần đầu tiên tôi phát hiện ra lớp ảo trong 2.14. Ngoài ra nó rất rất rất rất chậm nó hoạt động. Nói chung điều này có thể chấp nhận được mặc dù tôi sẽ chờ thêm một chút cho một số câu trả lời khác nếu có.
Miro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.