Saya memiliki shapefile dengan hanya satu bidang DN . Saya ingin menghapus semua fitur yang tidak memiliki nilai spesifik bidang. Katakanlah DN bisa 1,2 atau 3.
Sejauh ini saya bisa mengetahui cara memilih Fitur dan cara menghapus fitur, tetapi saya tidak berhasil menggabungkannya. Katakanlah saya ingin hanya fitur dengan DN = 3 yang tersisa:
Pemilihan Fitur yang ditemukan di sini , bagaimanapun, saya tidak tahu apakah itu melakukan apa yang seharusnya dilakukan karena saya tidak menemukan cara bagaimana memeriksa apa yang ada di dalamnya.
select = layer.getFeatures(QgsFeatureRequest().setFilterExpression(u'"DN"!=3'))
hapus fitur yang ditemukan di sini
res = Ilayer.dataProvider().deleteFeatures()
Sejauh yang saya tahu, deleteFeatures()
memerlukan ID fitur, tetapi saya tidak tahu bagaimana mendapatkannya dari select
mana QgsFeatureIterator
.
sumber