Ich habe ein Shapefile mit nur einem Feld DN . Ich möchte alle Features löschen, die keinen bestimmten Wert für das Feld haben. Angenommen, der DN kann 1,2 oder 3 sein.
Bisher konnte ich herausfinden, wie Features ausgewählt und Features gelöscht werden, aber es gelang mir nicht, sie zu kombinieren. Angenommen, ich möchte, dass nur Funktionen mit DN = 3 erhalten bleiben:
Auswahl der hier gefundenen Funktionen Ich weiß jedoch nicht, ob es das tut, was es tun soll, da ich nicht herausgefunden habe, wie ich überprüfen kann, was sich darin befindet.
select = layer.getFeatures(QgsFeatureRequest().setFilterExpression(u'"DN"!=3'))
Hier gefundene Funktionen löschen
res = Ilayer.dataProvider().deleteFeatures()
Soweit ich weiß, deleteFeatures()
erfordert das IDs der Features, aber ich habe keine Ahnung, wie ich sie von select
welchen bekommen kann QgsFeatureIterator
.
quelle