QGIS 2.4 Pythonコンソールを使用して、レイヤーフィーチャのサブセットのみを表示しようとしています。両方のレイヤーから機能を取得できました:
featuresIterator = layer.getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
そしてdataProviderから:
featuresIterator = layer.dataProvider().getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
(違いがよくわかりません)。
私が今達成したいのは、これらの機能だけを表示することです。GUIからクエリビルダーを使用する場合とまったく同じです。これをレンダリングのレベルで管理する必要があるか(他の機能ではなく一部の機能をレンダリングするか)、またはデータプロバイダーのレベルで管理する必要があるか(レイヤーに提供するのは、必要なサブセット)、またはその間のどこか。
@ネイサンからの答えは正しいです。また、setSubsetString()またはquery Builderでlayer.subsetString()を使用して設定されたものを取得することもできます。空の場合、空の文字列 ''が返されます。
—
Zac Wang