Điền cột với số liên tiếp trong QGIS?


30

Tôi tạo một cột mới trong bảng thuộc tính của mình và nó có giá trị mặc định (ví dụ 0). Tôi muốn (có thể sử dụng máy tính trường) có kết quả là hàng 1 có giá trị 1, hàng 2 = 2, v.v., giống như một chỉ mục được đánh số.

Tôi rất biết ơn về một ví dụ mã cho máy tính trường (bao gồm cả việc sử dụng $rownum(tôi nghĩ rằng tôi cần điều này để chuyển sang dòng)).

Câu trả lời:


54

Chỉ cần đặt $rownum(QGIS 2) hoặc @row_number(QGIS 3+) làm biểu thức. Đơn giản như thế. :)

Một danh sách cập nhật của tất cả các chức năng tính toán trường có thể được đọc trong các tài liệu chính thức .


Tôi đã làm theo cách tiếp cận của bạn, tuy nhiên không có lý do rõ ràng, các con số thay đổi tại một điểm. Nó hoạt động hoàn hảo từ hàng 1 đến hàng 129 và sau khi chuyển sang 789 ... có cách nào để giải quyết vấn đề này không?
Guillaume

1
Hãy chắc chắn rằng bạn không có bộ lọc hiển thị hoạt động, vì không có lý do gì để nó nhảy.
lynxlynxlynx

8

@ArMoraer đã phát triển một plugin thú vị để có thể kiểm soát cách thức đánh số tự động này, nó được đặt tên là "Sắp xếp và Số" . Bạn có thể sử dụng nó để điền vào một cột với các số duy nhất bằng cách tính đến 3 trường khác để sắp xếp dữ liệu của bạn như bạn muốn trước khi đánh số.

Xem chủ đề nguồn: 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?


7

Nếu bạn đang sử dụng QGIS 3, bạn phải sử dụng @row_number

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


1

Đối với tôi cách tốt nhất và dễ nhất là $id, điều này sẽ trả về một idsố cho mỗi hàng lập chỉ mục từ đó 0.


Nó trả về mỗi ID tính năng, nhưng chuỗi không nhất thiết phải bắt đầu từ 0 và có thể thiếu các giá trị. Đó là trường hợp sau khi đã xóa một tính năng hiện có (nghĩa là bắt đầu với một lớp có 3 tính năng, xóa # 2, gọi tới $ id sẽ trả về 0 và 2.)
JGH

Bạn đã đúng, nếu thiếu các giá trị, thì sẽ có một vấn đề với số chỉ mục thực sự. Tuy nhiên, tôi đoán rằng gọi $id, sau khi xóa các hàng sẽ chứng thực @row_number. Nếu tôi hiểu chính xác lời khẳng định của bạn.
Vlad

Không, nó sẽ để lại lỗ hổng
JGH
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.