Tôi có một shapefile chỉ với một lĩnh vực DN . Tôi muốn xóa tất cả các tính năng không có giá trị cụ thể của trường. Giả sử DN có thể là 1,2 hoặc 3.
Cho đến nay tôi đã có thể tìm hiểu cách chọn Tính năng và cách xóa tính năng, nhưng tôi đã không thành công khi kết hợp chúng. Giả sử tôi chỉ muốn các tính năng có DN = 3:
Tuy nhiên, lựa chọn các Tính năng được tìm thấy ở đây , tuy nhiên, tôi không biết liệu nó có phải làm gì không vì tôi không tìm thấy cách kiểm tra những gì bên trong.
select = layer.getFeatures(QgsFeatureRequest().setFilterExpression(u'"DN"!=3'))
xóa các tính năng được tìm thấy ở đây
res = Ilayer.dataProvider().deleteFeatures()
Theo như tôi biết, deleteFeatures()
yêu cầu ID của các tính năng, nhưng tôi không biết làm thế nào để lấy chúng từ select
đó QgsFeatureIterator
.