Используя консоль Python QGIS 2.4, я пытаюсь отобразить только подмножество объектов слоя. Мне удалось получить функции как из слоя:
featuresIterator = layer.getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
и из dataProvider:
featuresIterator = layer.dataProvider().getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
(Я не уверен, что понимаю разницу).
Чего я хочу достичь сейчас, так это отображать только эти функции. Точно так же, как можно было бы использовать построитель запросов из графического интерфейса. Я не знаю, нужно ли управлять этим на уровне рендеринга (который будет рендерить некоторые функции, а не другие), или на уровне поставщика данных (который предоставит слою только представление о данных, содержащих только желаемое подмножество), или где-то посередине.
Ответы:
Метод, который вы ищете, называется setSubsetString
источник